Fix Silicon Labs bindings in the spidev driver Some bindings for Silicon Labs chips already exists upstream. These bindings can be found in trivial-devices.yaml. The existing bindings are using "silabs" instead of "siliconlabs" to identify the manufacturer. This commit add two submitted patches for silabs chips and rename the manufacturer in the different DTS for more coherence. Signed-off-by: Vincent Tremblay <vincent@vtremblay.dev>
387 lines
6.4 KiB
Plaintext
387 lines
6.4 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0-only OR MIT
|
|
|
|
#include "qcom-ipq4019.dtsi"
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/input/input.h>
|
|
#include <dt-bindings/soc/qcom,tcsr.h>
|
|
|
|
/ {
|
|
model = "GL.iNet GL-B2200";
|
|
compatible = "glinet,gl-b2200", "qcom,ipq4019";
|
|
|
|
memory {
|
|
device_type = "memory";
|
|
reg = <0x80000000 0x10000000>;
|
|
};
|
|
|
|
chosen {
|
|
bootargs-append = " root=/dev/mmcblk0p2 rw rootwait clk_ignore_unused";
|
|
};
|
|
|
|
aliases {
|
|
ethernet1 = &swport4;
|
|
};
|
|
|
|
soc {
|
|
rng@22000 {
|
|
status = "okay";
|
|
};
|
|
|
|
mdio@90000 {
|
|
status = "okay";
|
|
};
|
|
|
|
tcsr@1949000 {
|
|
compatible = "qcom,tcsr";
|
|
reg = <0x1949000 0x100>;
|
|
qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
|
|
};
|
|
|
|
tcsr@194b000 {
|
|
/* select hostmode */
|
|
compatible = "qcom,tcsr";
|
|
reg = <0x194b000 0x100>;
|
|
qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
|
|
status = "okay";
|
|
};
|
|
|
|
ess_tcsr@1953000 {
|
|
compatible = "qcom,tcsr";
|
|
reg = <0x1953000 0x1000>;
|
|
qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
|
|
};
|
|
|
|
tcsr@1957000 {
|
|
compatible = "qcom,tcsr";
|
|
reg = <0x1957000 0x100>;
|
|
qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
|
|
};
|
|
|
|
crypto@8e3a000 {
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
keys {
|
|
compatible = "gpio-keys";
|
|
|
|
wps {
|
|
label = "wps";
|
|
gpios = <&tlmm 18 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_WPS_BUTTON>;
|
|
linux,input-type = <1>;
|
|
};
|
|
|
|
reset {
|
|
label = "reset";
|
|
gpios = <&tlmm 40 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_RESTART>;
|
|
linux,input-type = <1>;
|
|
};
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
|
|
power_blue {
|
|
label = "blue:power";
|
|
gpios = <&tlmm 57 GPIO_ACTIVE_HIGH>;
|
|
default-state = "on";
|
|
};
|
|
internet_blue {
|
|
label = "blue:internet";
|
|
gpios = <&tlmm 60 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
power_white {
|
|
label = "white:power";
|
|
gpios = <&tlmm 61 GPIO_ACTIVE_LOW>;
|
|
};
|
|
internet_white {
|
|
label = "white:internet";
|
|
gpios = <&tlmm 66 GPIO_ACTIVE_LOW>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&vqmmc {
|
|
status = "okay";
|
|
};
|
|
|
|
&sdhci {
|
|
status = "okay";
|
|
pinctrl-0 = <&sd_pins>;
|
|
pinctrl-names = "default";
|
|
cd-gpios = <&tlmm 3 GPIO_ACTIVE_LOW>;
|
|
vqmmc-supply = <&vqmmc>;
|
|
};
|
|
|
|
&blsp_dma {
|
|
status = "okay";
|
|
};
|
|
|
|
&cryptobam {
|
|
status = "okay";
|
|
};
|
|
|
|
&blsp1_spi1 {
|
|
pinctrl-0 = <&spi_0_pins>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
|
|
|
|
flash@0 {
|
|
compatible = "jedec,spi-nor";
|
|
reg = <0>;
|
|
spi-max-frequency = <24000000>;
|
|
|
|
partitions {
|
|
compatible = "fixed-partitions";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
partition@0 {
|
|
label = "SBL1";
|
|
reg = <0x0 0x40000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@40000 {
|
|
label = "MIBIB";
|
|
reg = <0x40000 0x20000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@60000 {
|
|
label = "QSEE";
|
|
reg = <0x60000 0x60000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@c0000 {
|
|
label = "CDT";
|
|
reg = <0xc0000 0x10000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@d0000 {
|
|
label = "DDRPARAMS";
|
|
reg = <0xd0000 0x10000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@e0000 {
|
|
label = "APPSBLENV";
|
|
reg = <0xe0000 0x10000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@f0000 {
|
|
label = "APPSBL";
|
|
reg = <0xf0000 0x80000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@170000 {
|
|
label = "ART";
|
|
reg = <0x170000 0x10000>;
|
|
read-only;
|
|
compatible = "nvmem-cells";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
precal_art_1000: precal@1000 {
|
|
reg = <0x1000 0x2f20>;
|
|
};
|
|
|
|
precal_art_5000: precal@5000 {
|
|
reg = <0x5000 0x2f20>;
|
|
};
|
|
|
|
precal_art_9000: precal@9000 {
|
|
reg = <0x9000 0x2f20>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&blsp1_spi2 {
|
|
pinctrl-0 = <&spi_1_pins>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
|
|
spidev1: spi@0 {
|
|
compatible = "silabs,si3210";
|
|
reg = <0>;
|
|
spi-max-frequency = <24000000>;
|
|
};
|
|
};
|
|
|
|
&blsp1_uart1 {
|
|
pinctrl-0 = <&serial_pins>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
};
|
|
|
|
&blsp1_uart2 {
|
|
pinctrl-0 = <&serial_1_pins>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
};
|
|
|
|
&tlmm {
|
|
serial_pins: serial_pinmux {
|
|
mux {
|
|
pins = "gpio16", "gpio17";
|
|
function = "blsp_uart0";
|
|
bias-disable;
|
|
};
|
|
};
|
|
|
|
serial_1_pins: serial1_pinmux {
|
|
mux {
|
|
pins = "gpio8", "gpio9",
|
|
"gpio10", "gpio11";
|
|
function = "blsp_uart1";
|
|
bias-disable;
|
|
};
|
|
};
|
|
|
|
spi_0_pins: spi_0_pinmux {
|
|
pinmux {
|
|
function = "blsp_spi0";
|
|
pins = "gpio13", "gpio14", "gpio15";
|
|
};
|
|
pinmux_cs {
|
|
function = "gpio";
|
|
pins = "gpio12";
|
|
};
|
|
pinconf {
|
|
pins = "gpio13", "gpio14", "gpio15";
|
|
drive-strength = <12>;
|
|
bias-disable;
|
|
};
|
|
pinconf_cs {
|
|
pins = "gpio12";
|
|
drive-strength = <2>;
|
|
bias-disable;
|
|
output-high;
|
|
};
|
|
};
|
|
|
|
spi_1_pins: spi_1_pinmux {
|
|
mux {
|
|
pins = "gpio44", "gpio46", "gpio47";
|
|
function = "blsp_spi1";
|
|
bias-disable;
|
|
};
|
|
cs {
|
|
pins = "gpio45";
|
|
function = "gpio";
|
|
bias-pull-up;
|
|
};
|
|
reset {
|
|
pins = "gpio43";
|
|
function = "gpio";
|
|
output-high;
|
|
};
|
|
mux_2 {
|
|
pins = "gpio35";
|
|
function = "gpio";
|
|
output-high;
|
|
};
|
|
host_int {
|
|
pins = "gpio2";
|
|
function = "gpio";
|
|
input;
|
|
};
|
|
wake {
|
|
pins = "gpio48";
|
|
function = "gpio";
|
|
output-high;
|
|
};
|
|
};
|
|
|
|
sd_pins: sd_pins {
|
|
pinmux {
|
|
function = "sdio";
|
|
pins = "gpio23", "gpio24", "gpio25", "gpio26",
|
|
"gpio29", "gpio30", "gpio31", "gpio32";
|
|
drive-strength = <10>;
|
|
};
|
|
|
|
pinmux_sd_clk {
|
|
function = "sdio";
|
|
pins = "gpio27";
|
|
drive-strength = <16>;
|
|
};
|
|
|
|
pinmux_sd7 {
|
|
function = "sdio";
|
|
pins = "gpio28";
|
|
drive-strength = <10>;
|
|
bias-disable;
|
|
};
|
|
};
|
|
|
|
};
|
|
|
|
&pcie0 {
|
|
status = "okay";
|
|
perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>;
|
|
wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>;
|
|
|
|
bridge@0,0 {
|
|
reg = <0x00000000 0 0 0 0>;
|
|
#address-cells = <3>;
|
|
#size-cells = <2>;
|
|
ranges;
|
|
|
|
wifi2: wifi@1,0 {
|
|
status = "okay";
|
|
/* Bootlog shows this is a 168c:0056 - QCA 9888v2 */
|
|
compatible = "qcom,ath10k";
|
|
reg = <0x00010000 0 0 0 0>;
|
|
nvmem-cell-names = "pre-calibration";
|
|
nvmem-cells = <&precal_art_9000>;
|
|
qcom,ath10k-calibration-variant = "GL-B2200";
|
|
ieee80211-freq-limit = <5450000 5900000>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&gmac {
|
|
status = "okay";
|
|
};
|
|
|
|
&switch {
|
|
status = "okay";
|
|
};
|
|
|
|
&swport4 {
|
|
status = "okay";
|
|
|
|
label = "wan";
|
|
};
|
|
|
|
&swport5 {
|
|
status = "okay";
|
|
|
|
label = "lan";
|
|
};
|
|
|
|
&wifi0 {
|
|
status = "okay";
|
|
nvmem-cell-names = "pre-calibration";
|
|
nvmem-cells = <&precal_art_1000>;
|
|
qcom,ath10k-calibration-variant = "GL-B2200";
|
|
};
|
|
|
|
&wifi1 {
|
|
status = "okay";
|
|
nvmem-cell-names = "pre-calibration";
|
|
nvmem-cells = <&precal_art_5000>;
|
|
qcom,ath10k-calibration-variant = "GL-B2200";
|
|
ieee80211-freq-limit = <5100000 5400000>;
|
|
};
|