linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] Add initial support for MikroTik RB3011
@ 2020-05-18 18:09 Jonathan McDowell
  2020-05-18 18:09 ` [PATCH 1/3] dt-bindings: vendor-prefixes: Add MikroTik Jonathan McDowell
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Jonathan McDowell @ 2020-05-18 18:09 UTC (permalink / raw)
  To: linux-arm-msm, devicetree, linux-kernel

This patches do some prep (device tree vendor addition, missing ethernet
definitions for IPQ8064 dts) and then add an initial device tree for the
MikroTik RB3011 1U router, which is an IPQ8064 device with 1G RAM. They
are sufficient to boot with an initrd, the serial console and the first
5 switch ports fully functional (the second bank of 5 require some extra
patches to the QCA8K driver which will follow later). The bootloader NOR
is also supported, but the 128MB NAND is not yet enabled.

Jonathan McDowell (3):
  dt-bindings: vendor-prefixes: Add MikroTik
  ARM: dts: qcom: add ethernet definitions to ipq8064
  ARM: dts: qcom: Add MikroTik RB3011

 .../devicetree/bindings/vendor-prefixes.yaml  |   2 +
 arch/arm/boot/dts/Makefile                    |   1 +
 arch/arm/boot/dts/qcom-ipq8064-rb3011.dts     | 308 ++++++++++++++++++
 arch/arm/boot/dts/qcom-ipq8064.dtsi           | 108 ++++++
 4 files changed, 419 insertions(+)
 create mode 100644 arch/arm/boot/dts/qcom-ipq8064-rb3011.dts

-- 
2.20.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/3] dt-bindings: vendor-prefixes: Add MikroTik
  2020-05-18 18:09 [PATCH 0/3] Add initial support for MikroTik RB3011 Jonathan McDowell
@ 2020-05-18 18:09 ` Jonathan McDowell
  2020-05-28 20:55   ` Rob Herring
  2020-05-18 18:09 ` [PATCH 2/3] ARM: dts: qcom: add ethernet definitions to ipq8064 Jonathan McDowell
  2020-05-18 18:10 ` [PATCH 3/3] ARM: dts: qcom: Add MikroTik RB3011 Jonathan McDowell
  2 siblings, 1 reply; 6+ messages in thread
From: Jonathan McDowell @ 2020-05-18 18:09 UTC (permalink / raw)
  To: linux-arm-msm, devicetree, linux-kernel

MikroTik (SIA Mikrotīkls) is a Latvian company who develop routers and
wireless ISP systems.

Signed-off-by: Jonathan McDowell <noodles@earth.li>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index d3891386d671..d3277fe6640b 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -633,6 +633,8 @@ patternProperties:
     description: Microsoft Corporation
   "^mikroe,.*":
     description: MikroElektronika d.o.o.
+  "^mikrotik,.*":
+    description: MikroTik
   "^miniand,.*":
     description: Miniand Tech
   "^minix,.*":
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/3] ARM: dts: qcom: add ethernet definitions to ipq8064
  2020-05-18 18:09 [PATCH 0/3] Add initial support for MikroTik RB3011 Jonathan McDowell
  2020-05-18 18:09 ` [PATCH 1/3] dt-bindings: vendor-prefixes: Add MikroTik Jonathan McDowell
@ 2020-05-18 18:09 ` Jonathan McDowell
  2020-05-18 18:10 ` [PATCH 3/3] ARM: dts: qcom: Add MikroTik RB3011 Jonathan McDowell
  2 siblings, 0 replies; 6+ messages in thread
From: Jonathan McDowell @ 2020-05-18 18:09 UTC (permalink / raw)
  To: linux-arm-msm, devicetree, linux-kernel

Plumb in the 4 IPQ8064 stmmac based ethernet interfaces.

Signed-off-by: Jonathan McDowell <noodles@earth.li>
---
 arch/arm/boot/dts/qcom-ipq8064.dtsi | 108 ++++++++++++++++++++++++++++
 1 file changed, 108 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
index b912da9a3ff3..9c0d5510c805 100644
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
@@ -597,6 +597,114 @@
 			perst-gpio = <&qcom_pinmux 63 GPIO_ACTIVE_LOW>;
 		};
 
+		nss_common: syscon@03000000 {
+			compatible = "syscon";
+			reg = <0x03000000 0x0000FFFF>;
+		};
+
+		qsgmii_csr: syscon@1bb00000 {
+			compatible = "syscon";
+			reg = <0x1bb00000 0x000001FF>;
+		};
+
+		stmmac_axi_setup: stmmac-axi-config {
+			snps,wr_osr_lmt = <7>;
+			snps,rd_osr_lmt = <7>;
+			snps,blen = <16 0 0 0 0 0 0>;
+		};
+
+		gmac0: ethernet@37000000 {
+			device_type = "network";
+			compatible = "qcom,ipq806x-gmac";
+			reg = <0x37000000 0x200000>;
+			interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "macirq";
+
+			snps,axi-config = <&stmmac_axi_setup>;
+			snps,pbl = <32>;
+			snps,aal = <1>;
+
+			qcom,nss-common = <&nss_common>;
+			qcom,qsgmii-csr = <&qsgmii_csr>;
+
+			clocks = <&gcc GMAC_CORE1_CLK>;
+			clock-names = "stmmaceth";
+
+			resets = <&gcc GMAC_CORE1_RESET>;
+			reset-names = "stmmaceth";
+
+			status = "disabled";
+		};
+
+		gmac1: ethernet@37200000 {
+			device_type = "network";
+			compatible = "qcom,ipq806x-gmac";
+			reg = <0x37200000 0x200000>;
+			interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "macirq";
+
+			snps,axi-config = <&stmmac_axi_setup>;
+			snps,pbl = <32>;
+			snps,aal = <1>;
+
+			qcom,nss-common = <&nss_common>;
+			qcom,qsgmii-csr = <&qsgmii_csr>;
+
+			clocks = <&gcc GMAC_CORE2_CLK>;
+			clock-names = "stmmaceth";
+
+			resets = <&gcc GMAC_CORE2_RESET>;
+			reset-names = "stmmaceth";
+
+			status = "disabled";
+		};
+
+		gmac2: ethernet@37400000 {
+			device_type = "network";
+			compatible = "qcom,ipq806x-gmac";
+			reg = <0x37400000 0x200000>;
+			interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "macirq";
+
+			snps,axi-config = <&stmmac_axi_setup>;
+			snps,pbl = <32>;
+			snps,aal = <1>;
+
+			qcom,nss-common = <&nss_common>;
+			qcom,qsgmii-csr = <&qsgmii_csr>;
+
+			clocks = <&gcc GMAC_CORE3_CLK>;
+			clock-names = "stmmaceth";
+
+			resets = <&gcc GMAC_CORE3_RESET>;
+			reset-names = "stmmaceth";
+
+			status = "disabled";
+		};
+
+		gmac3: ethernet@37600000 {
+			device_type = "network";
+			compatible = "qcom,ipq806x-gmac";
+			reg = <0x37600000 0x200000>;
+			interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "macirq";
+
+			snps,axi-config = <&stmmac_axi_setup>;
+			snps,pbl = <32>;
+			snps,aal = <1>;
+
+			qcom,nss-common = <&nss_common>;
+			qcom,qsgmii-csr = <&qsgmii_csr>;
+
+			clocks = <&gcc GMAC_CORE4_CLK>;
+			clock-names = "stmmaceth";
+
+			resets = <&gcc GMAC_CORE4_RESET>;
+			reset-names = "stmmaceth";
+
+			status = "disabled";
+		};
+
 		vsdcc_fixed: vsdcc-regulator {
 			compatible = "regulator-fixed";
 			regulator-name = "SDCC Power";
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/3] ARM: dts: qcom: Add MikroTik RB3011
  2020-05-18 18:09 [PATCH 0/3] Add initial support for MikroTik RB3011 Jonathan McDowell
  2020-05-18 18:09 ` [PATCH 1/3] dt-bindings: vendor-prefixes: Add MikroTik Jonathan McDowell
  2020-05-18 18:09 ` [PATCH 2/3] ARM: dts: qcom: add ethernet definitions to ipq8064 Jonathan McDowell
@ 2020-05-18 18:10 ` Jonathan McDowell
  2020-05-29  3:20   ` Bjorn Andersson
  2 siblings, 1 reply; 6+ messages in thread
From: Jonathan McDowell @ 2020-05-18 18:10 UTC (permalink / raw)
  To: linux-arm-msm, devicetree, linux-kernel

This patch adds a DTS file for the MikroTik RouterBoard 3011, which is a
1U rackmount router based on the IPQ8064, supporting the serial UART,
dual QCA8337 Gigabit ethernet switches, boot loader NOR and user LED
device.

Signed-off-by: Jonathan McDowell <noodles@earth.li>
---
 arch/arm/boot/dts/Makefile                |   1 +
 arch/arm/boot/dts/qcom-ipq8064-rb3011.dts | 308 ++++++++++++++++++++++
 2 files changed, 309 insertions(+)
 create mode 100644 arch/arm/boot/dts/qcom-ipq8064-rb3011.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index e8dd99201397..e697a4bd7426 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -884,6 +884,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
 	qcom-ipq4019-ap.dk07.1-c1.dtb \
 	qcom-ipq4019-ap.dk07.1-c2.dtb \
 	qcom-ipq8064-ap148.dtb \
+	qcom-ipq8064-rb3011.dtb \
 	qcom-msm8660-surf.dtb \
 	qcom-msm8960-cdp.dtb \
 	qcom-msm8974-fairphone-fp2.dtb \
diff --git a/arch/arm/boot/dts/qcom-ipq8064-rb3011.dts b/arch/arm/boot/dts/qcom-ipq8064-rb3011.dts
new file mode 100644
index 000000000000..282b89ce3d45
--- /dev/null
+++ b/arch/arm/boot/dts/qcom-ipq8064-rb3011.dts
@@ -0,0 +1,308 @@
+// SPDX-License-Identifier: GPL-2.0
+#include "qcom-ipq8064.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+	model = "MikroTik RB3011UiAS-RM";
+	compatible = "mikrotik,rb3011";
+
+	aliases {
+		serial0 = &gsbi7_serial;
+		ethernet0 = &gmac0;
+		ethernet1 = &gmac3;
+		mdio-gpio0 = &mdio0;
+		mdio-gpio1 = &mdio1;
+	};
+
+	chosen {
+		bootargs = "loglevel=8 console=ttyMSM0,115200";
+		stdout-path = "serial0:115200n8";
+	};
+
+	memory@0 {
+		reg = <0x42000000 0x3e000000>;
+		device_type = "memory";
+	};
+
+	mdio0: mdio@0 {
+		status = "okay";
+		compatible = "virtual,mdio-gpio";
+		gpios = <&qcom_pinmux 1 GPIO_ACTIVE_HIGH>,
+			<&qcom_pinmux 0 GPIO_ACTIVE_HIGH>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		pinctrl-0 = <&mdio0_pins>;
+		pinctrl-names = "default";
+
+		switch0: switch@10 {
+			compatible = "qca,qca8337";
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			dsa,member = <0 0>;
+
+			pinctrl-0 = <&sw0_reset_pin>;
+			pinctrl-names = "default";
+
+			reset-gpios = <&qcom_pinmux 16 GPIO_ACTIVE_LOW>;
+			reg = <0x10>;
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				switch0cpu: port@0 {
+					reg = <0>;
+					label = "cpu";
+					ethernet = <&gmac0>;
+					phy-mode = "rgmii-id";
+					fixed-link {
+						speed = <1000>;
+						full-duplex;
+					};
+				};
+
+				port@1 {
+					reg = <1>;
+					label = "sw1";
+				};
+
+				port@2 {
+					reg = <2>;
+					label = "sw2";
+				};
+
+				port@3 {
+					reg = <3>;
+					label = "sw3";
+				};
+
+				port@4 {
+					reg = <4>;
+					label = "sw4";
+				};
+
+				port@5 {
+					reg = <5>;
+					label = "sw5";
+				};
+			};
+		};
+	};
+
+	mdio1: mdio@1 {
+		status = "okay";
+		compatible = "virtual,mdio-gpio";
+		gpios = <&qcom_pinmux 11 GPIO_ACTIVE_HIGH>,
+			<&qcom_pinmux 10 GPIO_ACTIVE_HIGH>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		pinctrl-0 = <&mdio1_pins>;
+		pinctrl-names = "default";
+
+		switch1: switch@14 {
+			compatible = "qca,qca8337";
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			dsa,member = <1 0>;
+
+			pinctrl-0 = <&sw1_reset_pin>;
+			pinctrl-names = "default";
+
+			reset-gpios = <&qcom_pinmux 17 GPIO_ACTIVE_LOW>;
+			reg = <0x10>;
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				switch1cpu: port@0 {
+					reg = <0>;
+					label = "cpu";
+					ethernet = <&gmac3>;
+					phy-mode = "sgmii";
+					fixed-link {
+						speed = <1000>;
+						full-duplex;
+					};
+				};
+
+				port@1 {
+					reg = <1>;
+					label = "sw6";
+				};
+
+				port@2 {
+					reg = <2>;
+					label = "sw7";
+				};
+
+				port@3 {
+					reg = <3>;
+					label = "sw8";
+				};
+
+				port@4 {
+					reg = <4>;
+					label = "sw9";
+				};
+
+				port@5 {
+					reg = <5>;
+					label = "sw10";
+				};
+			};
+		};
+	};
+
+	soc {
+		gsbi5: gsbi@1a200000 {
+			qcom,mode = <GSBI_PROT_SPI>;
+			status = "okay";
+
+			spi4: spi@1a280000 {
+				status = "okay";
+				spi-max-frequency = <50000000>;
+
+				pinctrl-0 = <&spi_pins>;
+				pinctrl-names = "default";
+
+				cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
+
+				norflash: s25fl016k@0 {
+					compatible = "jedec,spi-nor";
+					#address-cells = <1>;
+					#size-cells = <1>;
+					spi-max-frequency = <50000000>;
+					reg = <0>;
+
+					partition@0 {
+						label = "RouterBoot";
+						reg = <0x0 0x40000>;
+					};
+				};
+			};
+		};
+
+		gpio_keys {
+			compatible = "gpio-keys";
+			pinctrl-0 = <&buttons_pins>;
+			pinctrl-names = "default";
+
+			button@1 {
+				label = "reset";
+				linux,code = <KEY_RESTART>;
+				gpios = <&qcom_pinmux 66 GPIO_ACTIVE_LOW>;
+				linux,input-type = <1>;
+				debounce-interval = <60>;
+			};
+		};
+
+		leds {
+			compatible = "gpio-leds";
+			pinctrl-0 = <&leds_pins>;
+			pinctrl-names = "default";
+
+			led@7 {
+				label = "rb3011:green:user";
+				gpios = <&qcom_pinmux 33 GPIO_ACTIVE_HIGH>;
+				default-state = "off";
+			};
+		};
+
+	};
+};
+
+&gmac0 {
+	status = "okay";
+
+	phy-mode = "rgmii";
+	qcom,id = <0>;
+	phy-handle = <&switch0cpu>;
+
+	fixed-link {
+		speed = <1000>;
+		full-duplex;
+	};
+};
+
+&gmac3 {
+	status = "okay";
+
+	phy-mode = "sgmii";
+	qcom,id = <3>;
+	phy-handle = <&switch1cpu>;
+
+	fixed-link {
+		speed = <1000>;
+		full-duplex;
+	};
+};
+
+&gsbi7 {
+	status = "okay";
+	qcom,mode = <GSBI_PROT_I2C_UART>;
+};
+
+&gsbi7_serial {
+	status = "okay";
+};
+
+&qcom_pinmux {
+	buttons_pins: buttons_pins {
+		mux {
+			pins = "gpio66";
+			drive-strength = <16>;
+			bias-disable;
+		};
+	};
+
+	leds_pins: leds_pins {
+		mux {
+			pins = "gpio33";
+			drive-strength = <16>;
+			bias-disable;
+		};
+	};
+
+	mdio0_pins: mdio0_pins {
+		mux {
+			pins = "gpio0", "gpio1";
+			function = "gpio";
+			drive-strength = <8>;
+			bias-disable;
+		};
+	};
+
+	mdio1_pins: mdio1_pins {
+		mux {
+			pins = "gpio10", "gpio11";
+			function = "gpio";
+			drive-strength = <8>;
+			bias-disable;
+		};
+	};
+
+	sw0_reset_pin: sw0_reset_pin {
+		mux {
+			pins = "gpio16";
+			drive-strength = <16>;
+			function = "gpio";
+			bias-disable;
+			input-disable;
+		};
+	};
+
+	sw1_reset_pin: sw1_reset_pin {
+		mux {
+			pins = "gpio17";
+			drive-strength = <16>;
+			function = "gpio";
+			bias-disable;
+			input-disable;
+		};
+	};
+};
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] dt-bindings: vendor-prefixes: Add MikroTik
  2020-05-18 18:09 ` [PATCH 1/3] dt-bindings: vendor-prefixes: Add MikroTik Jonathan McDowell
@ 2020-05-28 20:55   ` Rob Herring
  0 siblings, 0 replies; 6+ messages in thread
From: Rob Herring @ 2020-05-28 20:55 UTC (permalink / raw)
  To: Jonathan McDowell; +Cc: devicetree, linux-kernel, linux-arm-msm

On Mon, 18 May 2020 19:09:30 +0100, Jonathan McDowell wrote:
> MikroTik (SIA Mikrotīkls) is a Latvian company who develop routers and
> wireless ISP systems.
> 
> Signed-off-by: Jonathan McDowell <noodles@earth.li>
> ---
>  Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
>  1 file changed, 2 insertions(+)
> 

Applied, thanks!

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 3/3] ARM: dts: qcom: Add MikroTik RB3011
  2020-05-18 18:10 ` [PATCH 3/3] ARM: dts: qcom: Add MikroTik RB3011 Jonathan McDowell
@ 2020-05-29  3:20   ` Bjorn Andersson
  0 siblings, 0 replies; 6+ messages in thread
From: Bjorn Andersson @ 2020-05-29  3:20 UTC (permalink / raw)
  To: Jonathan McDowell; +Cc: linux-arm-msm, devicetree, linux-kernel

On Mon 18 May 11:10 PDT 2020, Jonathan McDowell wrote:

> This patch adds a DTS file for the MikroTik RouterBoard 3011, which is a
> 1U rackmount router based on the IPQ8064, supporting the serial UART,
> dual QCA8337 Gigabit ethernet switches, boot loader NOR and user LED
> device.
> 
> Signed-off-by: Jonathan McDowell <noodles@earth.li>

Patch 2 and 3 picked up for 5.9

Thanks,
Bjorn

> ---
>  arch/arm/boot/dts/Makefile                |   1 +
>  arch/arm/boot/dts/qcom-ipq8064-rb3011.dts | 308 ++++++++++++++++++++++
>  2 files changed, 309 insertions(+)
>  create mode 100644 arch/arm/boot/dts/qcom-ipq8064-rb3011.dts
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index e8dd99201397..e697a4bd7426 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -884,6 +884,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
>  	qcom-ipq4019-ap.dk07.1-c1.dtb \
>  	qcom-ipq4019-ap.dk07.1-c2.dtb \
>  	qcom-ipq8064-ap148.dtb \
> +	qcom-ipq8064-rb3011.dtb \
>  	qcom-msm8660-surf.dtb \
>  	qcom-msm8960-cdp.dtb \
>  	qcom-msm8974-fairphone-fp2.dtb \
> diff --git a/arch/arm/boot/dts/qcom-ipq8064-rb3011.dts b/arch/arm/boot/dts/qcom-ipq8064-rb3011.dts
> new file mode 100644
> index 000000000000..282b89ce3d45
> --- /dev/null
> +++ b/arch/arm/boot/dts/qcom-ipq8064-rb3011.dts
> @@ -0,0 +1,308 @@
> +// SPDX-License-Identifier: GPL-2.0
> +#include "qcom-ipq8064.dtsi"
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> +	model = "MikroTik RB3011UiAS-RM";
> +	compatible = "mikrotik,rb3011";
> +
> +	aliases {
> +		serial0 = &gsbi7_serial;
> +		ethernet0 = &gmac0;
> +		ethernet1 = &gmac3;
> +		mdio-gpio0 = &mdio0;
> +		mdio-gpio1 = &mdio1;
> +	};
> +
> +	chosen {
> +		bootargs = "loglevel=8 console=ttyMSM0,115200";
> +		stdout-path = "serial0:115200n8";
> +	};
> +
> +	memory@0 {
> +		reg = <0x42000000 0x3e000000>;
> +		device_type = "memory";
> +	};
> +
> +	mdio0: mdio@0 {
> +		status = "okay";
> +		compatible = "virtual,mdio-gpio";
> +		gpios = <&qcom_pinmux 1 GPIO_ACTIVE_HIGH>,
> +			<&qcom_pinmux 0 GPIO_ACTIVE_HIGH>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		pinctrl-0 = <&mdio0_pins>;
> +		pinctrl-names = "default";
> +
> +		switch0: switch@10 {
> +			compatible = "qca,qca8337";
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			dsa,member = <0 0>;
> +
> +			pinctrl-0 = <&sw0_reset_pin>;
> +			pinctrl-names = "default";
> +
> +			reset-gpios = <&qcom_pinmux 16 GPIO_ACTIVE_LOW>;
> +			reg = <0x10>;
> +
> +			ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				switch0cpu: port@0 {
> +					reg = <0>;
> +					label = "cpu";
> +					ethernet = <&gmac0>;
> +					phy-mode = "rgmii-id";
> +					fixed-link {
> +						speed = <1000>;
> +						full-duplex;
> +					};
> +				};
> +
> +				port@1 {
> +					reg = <1>;
> +					label = "sw1";
> +				};
> +
> +				port@2 {
> +					reg = <2>;
> +					label = "sw2";
> +				};
> +
> +				port@3 {
> +					reg = <3>;
> +					label = "sw3";
> +				};
> +
> +				port@4 {
> +					reg = <4>;
> +					label = "sw4";
> +				};
> +
> +				port@5 {
> +					reg = <5>;
> +					label = "sw5";
> +				};
> +			};
> +		};
> +	};
> +
> +	mdio1: mdio@1 {
> +		status = "okay";
> +		compatible = "virtual,mdio-gpio";
> +		gpios = <&qcom_pinmux 11 GPIO_ACTIVE_HIGH>,
> +			<&qcom_pinmux 10 GPIO_ACTIVE_HIGH>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		pinctrl-0 = <&mdio1_pins>;
> +		pinctrl-names = "default";
> +
> +		switch1: switch@14 {
> +			compatible = "qca,qca8337";
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			dsa,member = <1 0>;
> +
> +			pinctrl-0 = <&sw1_reset_pin>;
> +			pinctrl-names = "default";
> +
> +			reset-gpios = <&qcom_pinmux 17 GPIO_ACTIVE_LOW>;
> +			reg = <0x10>;
> +
> +			ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				switch1cpu: port@0 {
> +					reg = <0>;
> +					label = "cpu";
> +					ethernet = <&gmac3>;
> +					phy-mode = "sgmii";
> +					fixed-link {
> +						speed = <1000>;
> +						full-duplex;
> +					};
> +				};
> +
> +				port@1 {
> +					reg = <1>;
> +					label = "sw6";
> +				};
> +
> +				port@2 {
> +					reg = <2>;
> +					label = "sw7";
> +				};
> +
> +				port@3 {
> +					reg = <3>;
> +					label = "sw8";
> +				};
> +
> +				port@4 {
> +					reg = <4>;
> +					label = "sw9";
> +				};
> +
> +				port@5 {
> +					reg = <5>;
> +					label = "sw10";
> +				};
> +			};
> +		};
> +	};
> +
> +	soc {
> +		gsbi5: gsbi@1a200000 {
> +			qcom,mode = <GSBI_PROT_SPI>;
> +			status = "okay";
> +
> +			spi4: spi@1a280000 {
> +				status = "okay";
> +				spi-max-frequency = <50000000>;
> +
> +				pinctrl-0 = <&spi_pins>;
> +				pinctrl-names = "default";
> +
> +				cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
> +
> +				norflash: s25fl016k@0 {
> +					compatible = "jedec,spi-nor";
> +					#address-cells = <1>;
> +					#size-cells = <1>;
> +					spi-max-frequency = <50000000>;
> +					reg = <0>;
> +
> +					partition@0 {
> +						label = "RouterBoot";
> +						reg = <0x0 0x40000>;
> +					};
> +				};
> +			};
> +		};
> +
> +		gpio_keys {
> +			compatible = "gpio-keys";
> +			pinctrl-0 = <&buttons_pins>;
> +			pinctrl-names = "default";
> +
> +			button@1 {
> +				label = "reset";
> +				linux,code = <KEY_RESTART>;
> +				gpios = <&qcom_pinmux 66 GPIO_ACTIVE_LOW>;
> +				linux,input-type = <1>;
> +				debounce-interval = <60>;
> +			};
> +		};
> +
> +		leds {
> +			compatible = "gpio-leds";
> +			pinctrl-0 = <&leds_pins>;
> +			pinctrl-names = "default";
> +
> +			led@7 {
> +				label = "rb3011:green:user";
> +				gpios = <&qcom_pinmux 33 GPIO_ACTIVE_HIGH>;
> +				default-state = "off";
> +			};
> +		};
> +
> +	};
> +};
> +
> +&gmac0 {
> +	status = "okay";
> +
> +	phy-mode = "rgmii";
> +	qcom,id = <0>;
> +	phy-handle = <&switch0cpu>;
> +
> +	fixed-link {
> +		speed = <1000>;
> +		full-duplex;
> +	};
> +};
> +
> +&gmac3 {
> +	status = "okay";
> +
> +	phy-mode = "sgmii";
> +	qcom,id = <3>;
> +	phy-handle = <&switch1cpu>;
> +
> +	fixed-link {
> +		speed = <1000>;
> +		full-duplex;
> +	};
> +};
> +
> +&gsbi7 {
> +	status = "okay";
> +	qcom,mode = <GSBI_PROT_I2C_UART>;
> +};
> +
> +&gsbi7_serial {
> +	status = "okay";
> +};
> +
> +&qcom_pinmux {
> +	buttons_pins: buttons_pins {
> +		mux {
> +			pins = "gpio66";
> +			drive-strength = <16>;
> +			bias-disable;
> +		};
> +	};
> +
> +	leds_pins: leds_pins {
> +		mux {
> +			pins = "gpio33";
> +			drive-strength = <16>;
> +			bias-disable;
> +		};
> +	};
> +
> +	mdio0_pins: mdio0_pins {
> +		mux {
> +			pins = "gpio0", "gpio1";
> +			function = "gpio";
> +			drive-strength = <8>;
> +			bias-disable;
> +		};
> +	};
> +
> +	mdio1_pins: mdio1_pins {
> +		mux {
> +			pins = "gpio10", "gpio11";
> +			function = "gpio";
> +			drive-strength = <8>;
> +			bias-disable;
> +		};
> +	};
> +
> +	sw0_reset_pin: sw0_reset_pin {
> +		mux {
> +			pins = "gpio16";
> +			drive-strength = <16>;
> +			function = "gpio";
> +			bias-disable;
> +			input-disable;
> +		};
> +	};
> +
> +	sw1_reset_pin: sw1_reset_pin {
> +		mux {
> +			pins = "gpio17";
> +			drive-strength = <16>;
> +			function = "gpio";
> +			bias-disable;
> +			input-disable;
> +		};
> +	};
> +};
> -- 
> 2.20.1
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-05-29  3:21 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-18 18:09 [PATCH 0/3] Add initial support for MikroTik RB3011 Jonathan McDowell
2020-05-18 18:09 ` [PATCH 1/3] dt-bindings: vendor-prefixes: Add MikroTik Jonathan McDowell
2020-05-28 20:55   ` Rob Herring
2020-05-18 18:09 ` [PATCH 2/3] ARM: dts: qcom: add ethernet definitions to ipq8064 Jonathan McDowell
2020-05-18 18:10 ` [PATCH 3/3] ARM: dts: qcom: Add MikroTik RB3011 Jonathan McDowell
2020-05-29  3:20   ` Bjorn Andersson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).