diff options
| author | Álvaro Fernández Rojas <noltari@gmail.com> | 2016-08-03 05:58:26 -0400 |
|---|---|---|
| committer | Ralf Baechle <ralf@linux-mips.org> | 2016-10-04 10:13:57 -0400 |
| commit | 786e19a88895b6401313adfd5bc72789dc44f631 (patch) | |
| tree | 11935178945fc24184a663e0085ada0a62b6d773 /arch/mips/boot | |
| parent | 695835511f96599911f5ab28329e75a598a1116b (diff) | |
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: Á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: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/boot')
| -rw-r--r-- | arch/mips/boot/dts/brcm/Makefile | 2 | ||||
| -rw-r--r-- | arch/mips/boot/dts/brcm/bcm63268-comtrend-vr-3032u.dts | 108 | ||||
| -rw-r--r-- | arch/mips/boot/dts/brcm/bcm63268.dtsi | 134 |
3 files changed, 244 insertions, 0 deletions
diff --git a/arch/mips/boot/dts/brcm/Makefile b/arch/mips/boot/dts/brcm/Makefile index 0abe298b6a5d..8281ec65d436 100644 --- a/arch/mips/boot/dts/brcm/Makefile +++ b/arch/mips/boot/dts/brcm/Makefile | |||
| @@ -10,10 +10,12 @@ dtb-$(CONFIG_DT_BCM97362SVMB) += bcm97362svmb.dtb | |||
| 10 | dtb-$(CONFIG_DT_BCM97420C) += bcm97420c.dtb | 10 | dtb-$(CONFIG_DT_BCM97420C) += bcm97420c.dtb |
| 11 | dtb-$(CONFIG_DT_BCM97425SVMB) += bcm97425svmb.dtb | 11 | dtb-$(CONFIG_DT_BCM97425SVMB) += bcm97425svmb.dtb |
| 12 | dtb-$(CONFIG_DT_BCM97435SVMB) += bcm97435svmb.dtb | 12 | dtb-$(CONFIG_DT_BCM97435SVMB) += bcm97435svmb.dtb |
| 13 | dtb-$(CONFIG_DT_COMTREND_VR3032U) += bcm63268-comtrend-vr-3032u.dtb | ||
| 13 | dtb-$(CONFIG_DT_SFR_NEUFBOX4_SERCOMM) += bcm6358-neufbox4-sercomm.dtb | 14 | dtb-$(CONFIG_DT_SFR_NEUFBOX4_SERCOMM) += bcm6358-neufbox4-sercomm.dtb |
| 14 | 15 | ||
| 15 | dtb-$(CONFIG_DT_NONE) += \ | 16 | dtb-$(CONFIG_DT_NONE) += \ |
| 16 | bcm6358-neufbox4-sercomm.dtb \ | 17 | bcm6358-neufbox4-sercomm.dtb \ |
| 18 | bcm63268-comtrend-vr-3032u.dtb \ | ||
| 17 | bcm93384wvg.dtb \ | 19 | bcm93384wvg.dtb \ |
| 18 | bcm93384wvg_viper.dtb \ | 20 | bcm93384wvg_viper.dtb \ |
| 19 | bcm96358nb4ser.dtb \ | 21 | bcm96358nb4ser.dtb \ |
diff --git a/arch/mips/boot/dts/brcm/bcm63268-comtrend-vr-3032u.dts b/arch/mips/boot/dts/brcm/bcm63268-comtrend-vr-3032u.dts new file mode 100644 index 000000000000..430d35ca33d5 --- /dev/null +++ b/arch/mips/boot/dts/brcm/bcm63268-comtrend-vr-3032u.dts | |||
| @@ -0,0 +1,108 @@ | |||
| 1 | /dts-v1/; | ||
| 2 | |||
| 3 | /include/ "bcm63268.dtsi" | ||
| 4 | |||
| 5 | / { | ||
| 6 | compatible = "comtrend,vr-3032u", "brcm,bcm63268"; | ||
| 7 | model = "Comtrend VR-3032u"; | ||
| 8 | |||
| 9 | memory@0 { | ||
| 10 | device_type = "memory"; | ||
| 11 | reg = <0x00000000 0x04000000>; | ||
| 12 | }; | ||
| 13 | |||
| 14 | chosen { | ||
| 15 | bootargs = "console=ttyS0,115200"; | ||
| 16 | stdout-path = &uart0; | ||
| 17 | }; | ||
| 18 | }; | ||
| 19 | |||
| 20 | &leds0 { | ||
| 21 | status = "ok"; | ||
| 22 | brcm,serial-leds; | ||
| 23 | brcm,serial-dat-low; | ||
| 24 | brcm,serial-shift-inv; | ||
| 25 | |||
| 26 | led@0 { | ||
| 27 | reg = <0>; | ||
| 28 | brcm,hardware-controlled; | ||
| 29 | brcm,link-signal-sources = <0>; | ||
| 30 | /* GPHY0 Speed 0 */ | ||
| 31 | }; | ||
| 32 | led@1 { | ||
| 33 | reg = <1>; | ||
| 34 | brcm,hardware-controlled; | ||
| 35 | brcm,link-signal-sources = <1>; | ||
| 36 | /* GPHY0 Speed 1 */ | ||
| 37 | }; | ||
| 38 | led@2 { | ||
| 39 | reg = <2>; | ||
| 40 | active-low; | ||
| 41 | label = "vr-3032u:red:inet"; | ||
| 42 | }; | ||
| 43 | led@3 { | ||
| 44 | reg = <3>; | ||
| 45 | active-low; | ||
| 46 | label = "vr-3032u:green:dsl"; | ||
| 47 | }; | ||
| 48 | led@4 { | ||
| 49 | reg = <4>; | ||
| 50 | active-low; | ||
| 51 | label = "vr-3032u:green:usb"; | ||
| 52 | }; | ||
| 53 | led@7 { | ||
| 54 | reg = <7>; | ||
| 55 | active-low; | ||
| 56 | label = "vr-3032u:green:wps"; | ||
| 57 | }; | ||
| 58 | led@8 { | ||
| 59 | reg = <8>; | ||
| 60 | active-low; | ||
| 61 | label = "vr-3032u:green:inet"; | ||
| 62 | }; | ||
| 63 | led@9 { | ||
| 64 | reg = <9>; | ||
| 65 | brcm,hardware-controlled; | ||
| 66 | /* EPHY0 Activity */ | ||
| 67 | }; | ||
| 68 | led@10 { | ||
| 69 | reg = <10>; | ||
| 70 | brcm,hardware-controlled; | ||
| 71 | /* EPHY1 Activity */ | ||
| 72 | }; | ||
| 73 | led@11 { | ||
| 74 | reg = <11>; | ||
| 75 | brcm,hardware-controlled; | ||
| 76 | /* EPHY2 Activity */ | ||
| 77 | }; | ||
| 78 | led@12 { | ||
| 79 | reg = <12>; | ||
| 80 | brcm,hardware-controlled; | ||
| 81 | /* GPHY0 Activity */ | ||
| 82 | }; | ||
| 83 | led@13 { | ||
| 84 | reg = <13>; | ||
| 85 | brcm,hardware-controlled; | ||
| 86 | /* EPHY0 Speed */ | ||
| 87 | }; | ||
| 88 | led@14 { | ||
| 89 | reg = <14>; | ||
| 90 | brcm,hardware-controlled; | ||
| 91 | /* EPHY1 Speed */ | ||
| 92 | }; | ||
| 93 | led@15 { | ||
| 94 | reg = <15>; | ||
| 95 | brcm,hardware-controlled; | ||
| 96 | /* EPHY2 Speed */ | ||
| 97 | }; | ||
| 98 | led@20 { | ||
| 99 | reg = <20>; | ||
| 100 | active-low; | ||
| 101 | label = "vr-3032u:green:power"; | ||
| 102 | default-state = "on"; | ||
| 103 | }; | ||
| 104 | }; | ||
| 105 | |||
| 106 | &uart0 { | ||
| 107 | status = "okay"; | ||
| 108 | }; | ||
diff --git a/arch/mips/boot/dts/brcm/bcm63268.dtsi b/arch/mips/boot/dts/brcm/bcm63268.dtsi new file mode 100644 index 000000000000..7e6bf2cc0287 --- /dev/null +++ b/arch/mips/boot/dts/brcm/bcm63268.dtsi | |||
| @@ -0,0 +1,134 @@ | |||
| 1 | / { | ||
| 2 | #address-cells = <1>; | ||
| 3 | #size-cells = <1>; | ||
| 4 | compatible = "brcm,bcm63268"; | ||
| 5 | |||
| 6 | cpus { | ||
| 7 | #address-cells = <1>; | ||
| 8 | #size-cells = <0>; | ||
| 9 | |||
| 10 | mips-hpt-frequency = <200000000>; | ||
| 11 | |||
| 12 | cpu@0 { | ||
| 13 | compatible = "brcm,bmips4350"; | ||
| 14 | device_type = "cpu"; | ||
| 15 | reg = <0>; | ||
| 16 | }; | ||
| 17 | |||
| 18 | cpu@1 { | ||
| 19 | compatible = "brcm,bmips4350"; | ||
| 20 | device_type = "cpu"; | ||
| 21 | reg = <1>; | ||
| 22 | }; | ||
| 23 | }; | ||
| 24 | |||
| 25 | clocks { | ||
| 26 | periph_clk: periph-clk { | ||
| 27 | compatible = "fixed-clock"; | ||
| 28 | #clock-cells = <0>; | ||
| 29 | clock-frequency = <50000000>; | ||
| 30 | }; | ||
| 31 | }; | ||
| 32 | |||
| 33 | aliases { | ||
| 34 | serial0 = &uart0; | ||
| 35 | serial1 = &uart1; | ||
| 36 | }; | ||
| 37 | |||
| 38 | cpu_intc: interrupt-controller { | ||
| 39 | #address-cells = <0>; | ||
| 40 | compatible = "mti,cpu-interrupt-controller"; | ||
| 41 | |||
| 42 | interrupt-controller; | ||
| 43 | #interrupt-cells = <1>; | ||
| 44 | }; | ||
| 45 | |||
| 46 | ubus { | ||
| 47 | #address-cells = <1>; | ||
| 48 | #size-cells = <1>; | ||
| 49 | |||
| 50 | compatible = "simple-bus"; | ||
| 51 | ranges; | ||
| 52 | |||
| 53 | periph_cntl: syscon@10000000 { | ||
| 54 | compatible = "syscon"; | ||
| 55 | reg = <0x10000000 0x14>; | ||
| 56 | native-endian; | ||
| 57 | }; | ||
| 58 | |||
| 59 | reboot: syscon-reboot@10000008 { | ||
| 60 | compatible = "syscon-reboot"; | ||
| 61 | regmap = <&periph_cntl>; | ||
| 62 | offset = <0x8>; | ||
| 63 | mask = <0x1>; | ||
| 64 | }; | ||
| 65 | |||
| 66 | periph_intc: interrupt-controller@10000020 { | ||
| 67 | compatible = "brcm,bcm6345-l1-intc"; | ||
| 68 | reg = <0x10000020 0x20>, | ||
| 69 | <0x10000040 0x20>; | ||
| 70 | |||
| 71 | interrupt-controller; | ||
| 72 | #interrupt-cells = <1>; | ||
| 73 | |||
| 74 | interrupt-parent = <&cpu_intc>; | ||
| 75 | interrupts = <2>, <3>; | ||
| 76 | }; | ||
| 77 | |||
| 78 | uart0: serial@10000180 { | ||
| 79 | compatible = "brcm,bcm6345-uart"; | ||
| 80 | reg = <0x10000180 0x18>; | ||
| 81 | |||
| 82 | interrupt-parent = <&periph_intc>; | ||
| 83 | interrupts = <5>; | ||
| 84 | |||
| 85 | clocks = <&periph_clk>; | ||
| 86 | |||
| 87 | status = "disabled"; | ||
| 88 | }; | ||
| 89 | |||
| 90 | uart1: serial@100001a0 { | ||
| 91 | compatible = "brcm,bcm6345-uart"; | ||
| 92 | reg = <0x100001a0 0x18>; | ||
| 93 | |||
| 94 | interrupt-parent = <&periph_intc>; | ||
| 95 | interrupts = <34>; | ||
| 96 | |||
| 97 | clocks = <&periph_clk>; | ||
| 98 | |||
| 99 | status = "disabled"; | ||
| 100 | }; | ||
| 101 | |||
| 102 | leds0: led-controller@10001900 { | ||
| 103 | #address-cells = <1>; | ||
| 104 | #size-cells = <0>; | ||
| 105 | compatible = "brcm,bcm6328-leds"; | ||
| 106 | reg = <0x10001900 0x24>; | ||
| 107 | |||
| 108 | status = "disabled"; | ||
| 109 | }; | ||
| 110 | |||
| 111 | ehci: usb@10002500 { | ||
| 112 | compatible = "brcm,bcm63268-ehci", "generic-ehci"; | ||
| 113 | reg = <0x10002500 0x100>; | ||
| 114 | big-endian; | ||
| 115 | |||
| 116 | interrupt-parent = <&periph_intc>; | ||
| 117 | interrupts = <10>; | ||
| 118 | |||
| 119 | status = "disabled"; | ||
| 120 | }; | ||
| 121 | |||
| 122 | ohci: usb@10002600 { | ||
| 123 | compatible = "brcm,bcm63268-ohci", "generic-ohci"; | ||
| 124 | reg = <0x10002600 0x100>; | ||
| 125 | big-endian; | ||
| 126 | no-big-frame-no; | ||
| 127 | |||
| 128 | interrupt-parent = <&periph_intc>; | ||
| 129 | interrupts = <9>; | ||
| 130 | |||
| 131 | status = "disabled"; | ||
| 132 | }; | ||
| 133 | }; | ||
| 134 | }; | ||
