Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 786e19a8 authored by Álvaro Fernández Rojas's avatar Álvaro Fernández Rojas Committed by Ralf Baechle
Browse files

MIPS: BMIPS: Add device tree example for BCM63268



This adds a device tree example for Comtrend VR-3032u, which
also serves as a real example for brcm,bcm6328-leds.

Signed-off-by: default avatarÁlvaro Fernández Rojas <noltari@gmail.com>
Cc: f.fainelli@gmail.com
Cc: jogo@openwrt.org
Cc: cernekee@gmail.com
Cc: robh@kernel.org
Cc: simon@fire.lp0.eu
Cc: john@phrozen.org
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Cc: devicetree@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/13842/


Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 69583551
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -61,6 +61,10 @@ config DT_BCM97435SVMB
	bool "BCM97435SVMB"
	bool "BCM97435SVMB"
	select BUILTIN_DTB
	select BUILTIN_DTB


config DT_COMTREND_VR3032U
	bool "Comtrend VR-3032u"
	select BUILTIN_DTB

config DT_SFR_NEUFBOX4_SERCOMM
config DT_SFR_NEUFBOX4_SERCOMM
	bool "SFR Neufbox 4 (Sercomm)"
	bool "SFR Neufbox 4 (Sercomm)"
	select BUILTIN_DTB
	select BUILTIN_DTB
+2 −0
Original line number Original line Diff line number Diff line
@@ -10,10 +10,12 @@ dtb-$(CONFIG_DT_BCM97362SVMB) += bcm97362svmb.dtb
dtb-$(CONFIG_DT_BCM97420C)		+= bcm97420c.dtb
dtb-$(CONFIG_DT_BCM97420C)		+= bcm97420c.dtb
dtb-$(CONFIG_DT_BCM97425SVMB)		+= bcm97425svmb.dtb
dtb-$(CONFIG_DT_BCM97425SVMB)		+= bcm97425svmb.dtb
dtb-$(CONFIG_DT_BCM97435SVMB)		+= bcm97435svmb.dtb
dtb-$(CONFIG_DT_BCM97435SVMB)		+= bcm97435svmb.dtb
dtb-$(CONFIG_DT_COMTREND_VR3032U)	+= bcm63268-comtrend-vr-3032u.dtb
dtb-$(CONFIG_DT_SFR_NEUFBOX4_SERCOMM)	+= bcm6358-neufbox4-sercomm.dtb
dtb-$(CONFIG_DT_SFR_NEUFBOX4_SERCOMM)	+= bcm6358-neufbox4-sercomm.dtb


dtb-$(CONFIG_DT_NONE) += \
dtb-$(CONFIG_DT_NONE) += \
	bcm6358-neufbox4-sercomm.dtb \
	bcm6358-neufbox4-sercomm.dtb \
	bcm63268-comtrend-vr-3032u.dtb \
	bcm93384wvg.dtb \
	bcm93384wvg.dtb \
	bcm93384wvg_viper.dtb \
	bcm93384wvg_viper.dtb \
	bcm96358nb4ser.dtb \
	bcm96358nb4ser.dtb \
+108 −0
Original line number Original line Diff line number Diff line
/dts-v1/;

/include/ "bcm63268.dtsi"

/ {
	compatible = "comtrend,vr-3032u", "brcm,bcm63268";
	model = "Comtrend VR-3032u";

	memory@0 {
		device_type = "memory";
		reg = <0x00000000 0x04000000>;
	};

	chosen {
		bootargs = "console=ttyS0,115200";
		stdout-path = &uart0;
	};
};

&leds0 {
	status = "ok";
	brcm,serial-leds;
	brcm,serial-dat-low;
	brcm,serial-shift-inv;

	led@0 {
		reg = <0>;
		brcm,hardware-controlled;
		brcm,link-signal-sources = <0>;
		/* GPHY0 Speed 0 */
	};
	led@1 {
		reg = <1>;
		brcm,hardware-controlled;
		brcm,link-signal-sources = <1>;
		/* GPHY0 Speed 1 */
	};
	led@2 {
		reg = <2>;
		active-low;
		label = "vr-3032u:red:inet";
	};
	led@3 {
		reg = <3>;
		active-low;
		label = "vr-3032u:green:dsl";
	};
	led@4 {
		reg = <4>;
		active-low;
		label = "vr-3032u:green:usb";
	};
	led@7 {
		reg = <7>;
		active-low;
		label = "vr-3032u:green:wps";
	};
	led@8 {
		reg = <8>;
		active-low;
		label = "vr-3032u:green:inet";
	};
	led@9 {
		reg = <9>;
		brcm,hardware-controlled;
		/* EPHY0 Activity */
	};
	led@10 {
		reg = <10>;
		brcm,hardware-controlled;
		/* EPHY1 Activity */
	};
	led@11 {
		reg = <11>;
		brcm,hardware-controlled;
		/* EPHY2 Activity */
	};
	led@12 {
		reg = <12>;
		brcm,hardware-controlled;
		/* GPHY0 Activity */
	};
	led@13 {
		reg = <13>;
		brcm,hardware-controlled;
		/* EPHY0 Speed */
	};
	led@14 {
		reg = <14>;
		brcm,hardware-controlled;
		/* EPHY1 Speed */
	};
	led@15 {
		reg = <15>;
		brcm,hardware-controlled;
		/* EPHY2 Speed */
	};
	led@20 {
		reg = <20>;
		active-low;
		label = "vr-3032u:green:power";
		default-state = "on";
	};
};

&uart0 {
	status = "okay";
};
+134 −0
Original line number Original line Diff line number Diff line
/ {
	#address-cells = <1>;
	#size-cells = <1>;
	compatible = "brcm,bcm63268";

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		mips-hpt-frequency = <200000000>;

		cpu@0 {
			compatible = "brcm,bmips4350";
			device_type = "cpu";
			reg = <0>;
		};

		cpu@1 {
			compatible = "brcm,bmips4350";
			device_type = "cpu";
			reg = <1>;
		};
	};

	clocks {
		periph_clk: periph-clk {
			compatible = "fixed-clock";
			#clock-cells = <0>;
			clock-frequency = <50000000>;
		};
	};

	aliases {
		serial0 = &uart0;
		serial1 = &uart1;
	};

	cpu_intc: interrupt-controller {
		#address-cells = <0>;
		compatible = "mti,cpu-interrupt-controller";

		interrupt-controller;
		#interrupt-cells = <1>;
	};

	ubus {
		#address-cells = <1>;
		#size-cells = <1>;

		compatible = "simple-bus";
		ranges;

		periph_cntl: syscon@10000000 {
			compatible = "syscon";
			reg = <0x10000000 0x14>;
			native-endian;
		};

		reboot: syscon-reboot@10000008 {
			compatible = "syscon-reboot";
			regmap = <&periph_cntl>;
			offset = <0x8>;
			mask = <0x1>;
		};

		periph_intc: interrupt-controller@10000020 {
			compatible = "brcm,bcm6345-l1-intc";
			reg = <0x10000020 0x20>,
			      <0x10000040 0x20>;

			interrupt-controller;
			#interrupt-cells = <1>;

			interrupt-parent = <&cpu_intc>;
			interrupts = <2>, <3>;
		};

		uart0: serial@10000180 {
			compatible = "brcm,bcm6345-uart";
			reg = <0x10000180 0x18>;

			interrupt-parent = <&periph_intc>;
			interrupts = <5>;

			clocks = <&periph_clk>;

			status = "disabled";
		};

		uart1: serial@100001a0 {
			compatible = "brcm,bcm6345-uart";
			reg = <0x100001a0 0x18>;

			interrupt-parent = <&periph_intc>;
			interrupts = <34>;

			clocks = <&periph_clk>;

			status = "disabled";
		};

		leds0: led-controller@10001900 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "brcm,bcm6328-leds";
			reg = <0x10001900 0x24>;

			status = "disabled";
		};

		ehci: usb@10002500 {
			compatible = "brcm,bcm63268-ehci", "generic-ehci";
			reg = <0x10002500 0x100>;
			big-endian;

			interrupt-parent = <&periph_intc>;
			interrupts = <10>;

			status = "disabled";
		};

		ohci: usb@10002600 {
			compatible = "brcm,bcm63268-ohci", "generic-ohci";
			reg = <0x10002600 0x100>;
			big-endian;
			no-big-frame-no;

			interrupt-parent = <&periph_intc>;
			interrupts = <9>;

			status = "disabled";
		};
	};
};