1 // SPDX-License-Identifier: GPL-2.0 1 // SPDX-License-Identifier: GPL-2.0 2 /* 2 /* 3 * Copyright (C) 2014 Claudio Leite <leitec@sta 3 * Copyright (C) 2014 Claudio Leite <leitec@staticky.com> 4 * 4 * 5 */ 5 */ 6 6 7 /dts-v1/; 7 /dts-v1/; 8 8 9 #include "kirkwood.dtsi" 9 #include "kirkwood.dtsi" 10 #include "kirkwood-6281.dtsi" 10 #include "kirkwood-6281.dtsi" 11 11 12 / { 12 / { 13 model = "D-Link DIR-665"; 13 model = "D-Link DIR-665"; 14 compatible = "dlink,dir-665", "marvell 14 compatible = "dlink,dir-665", "marvell,kirkwood-88f6281", "marvell,kirkwood"; 15 15 16 memory { 16 memory { 17 device_type = "memory"; 17 device_type = "memory"; 18 reg = <0x00000000 0x8000000>; 18 reg = <0x00000000 0x8000000>; /* 128 MB */ 19 }; 19 }; 20 20 21 chosen { 21 chosen { 22 bootargs = "console=ttyS0,1152 22 bootargs = "console=ttyS0,115200n8 earlyprintk"; 23 stdout-path = &uart0; 23 stdout-path = &uart0; 24 }; 24 }; 25 25 26 ocp@f1000000 { 26 ocp@f1000000 { 27 pinctrl: pin-controller@10000 27 pinctrl: pin-controller@10000 { 28 pinctrl-0 =< &pmx_led_ 28 pinctrl-0 =< &pmx_led_usb 29 &pmx_led_ 29 &pmx_led_internet_blue 30 &pmx_led_ 30 &pmx_led_internet_amber 31 &pmx_led_ 31 &pmx_led_5g &pmx_led_status_blue 32 &pmx_led_ 32 &pmx_led_wps &pmx_led_status_amber 33 &pmx_led_ 33 &pmx_led_24g 34 &pmx_btn_ 34 &pmx_btn_restart &pmx_btn_wps>; 35 pinctrl-names = "defau 35 pinctrl-names = "default"; 36 36 37 pmx_led_usb: pmx-led-u 37 pmx_led_usb: pmx-led-usb { 38 marvell,pins = 38 marvell,pins = "mpp12"; 39 marvell,functi 39 marvell,function = "gpio"; 40 }; 40 }; 41 pmx_led_internet_blue: 41 pmx_led_internet_blue: pmx-led-internet-blue { 42 marvell,pins = 42 marvell,pins = "mpp42"; 43 marvell,functi 43 marvell,function = "gpio"; 44 }; 44 }; 45 pmx_led_internet_amber 45 pmx_led_internet_amber: pmx-led-internet-amber { 46 marvell,pins = 46 marvell,pins = "mpp43"; 47 marvell,functi 47 marvell,function = "gpio"; 48 }; 48 }; 49 pmx_led_5g: pmx-led-5g 49 pmx_led_5g: pmx-led-5g { 50 marvell,pins = 50 marvell,pins = "mpp44"; 51 marvell,functi 51 marvell,function = "gpio"; 52 }; 52 }; 53 pmx_led_status_blue: p 53 pmx_led_status_blue: pmx-led-status-blue { 54 marvell,pins = 54 marvell,pins = "mpp45"; 55 marvell,functi 55 marvell,function = "gpio"; 56 }; 56 }; 57 pmx_led_wps: pmx-led-w 57 pmx_led_wps: pmx-led-wps { 58 marvell,pins = 58 marvell,pins = "mpp47"; 59 marvell,functi 59 marvell,function = "gpio"; 60 }; 60 }; 61 pmx_led_status_amber: 61 pmx_led_status_amber: pmx-led-status-amber { 62 marvell,pins = 62 marvell,pins = "mpp48"; 63 marvell,functi 63 marvell,function = "gpio"; 64 }; 64 }; 65 pmx_led_24g: pmx-led-2 65 pmx_led_24g: pmx-led-24g { 66 marvell,pins = 66 marvell,pins = "mpp49"; 67 marvell,functi 67 marvell,function = "gpio"; 68 }; 68 }; 69 pmx_btn_restart: pmx-b 69 pmx_btn_restart: pmx-btn-restart { 70 marvell,pins = 70 marvell,pins = "mpp28"; 71 marvell,functi 71 marvell,function = "gpio"; 72 }; 72 }; 73 pmx_btn_wps: pmx-btn-w 73 pmx_btn_wps: pmx-btn-wps { 74 marvell,pins = 74 marvell,pins = "mpp46"; 75 marvell,functi 75 marvell,function = "gpio"; 76 }; 76 }; 77 }; 77 }; 78 78 79 spi@10600 { 79 spi@10600 { 80 status = "okay"; 80 status = "okay"; 81 flash@0 { 81 flash@0 { 82 #address-cells 82 #address-cells = <1>; 83 #size-cells = 83 #size-cells = <1>; 84 compatible = " 84 compatible = "mxicy,mx25l12805d", "jedec,spi-nor"; 85 spi-max-freque 85 spi-max-frequency = <50000000>; 86 reg = <0>; 86 reg = <0>; 87 87 88 partition@0 { 88 partition@0 { 89 label 89 label = "uboot"; 90 reg = 90 reg = <0x0 0x30000>; 91 read-o 91 read-only; 92 }; 92 }; 93 93 94 partition@3000 94 partition@30000 { 95 label 95 label = "nvram"; 96 reg = 96 reg = <0x30000 0x10000>; 97 read-o 97 read-only; 98 }; 98 }; 99 99 100 partition@4000 100 partition@40000 { 101 label 101 label = "kernel"; 102 reg = 102 reg = <0x40000 0x180000>; 103 }; 103 }; 104 104 105 partition@1c00 105 partition@1c0000 { 106 label 106 label = "rootfs"; 107 reg = 107 reg = <0x1c0000 0xe00000>; 108 }; 108 }; 109 109 110 cal_data: part 110 cal_data: partition@fc0000 { 111 label 111 label = "cal_data"; 112 reg = 112 reg = <0xfc0000 0x10000>; 113 read-o 113 read-only; 114 }; 114 }; 115 115 116 partition@fd00 116 partition@fd0000 { 117 label 117 label = "lang_pack"; 118 reg = 118 reg = <0xfd0000 0x30000>; 119 read-o 119 read-only; 120 }; 120 }; 121 }; 121 }; 122 }; 122 }; 123 123 124 serial@12000 { 124 serial@12000 { 125 status = "okay"; 125 status = "okay"; 126 }; 126 }; 127 127 128 i2c@11000 { 128 i2c@11000 { 129 status = "okay"; 129 status = "okay"; 130 }; 130 }; 131 131 132 ehci@50000 { 132 ehci@50000 { 133 status = "okay"; 133 status = "okay"; 134 }; 134 }; 135 }; 135 }; 136 136 137 gpio-leds { 137 gpio-leds { 138 compatible = "gpio-leds"; 138 compatible = "gpio-leds"; 139 139 140 led-blue-usb { !! 140 blue-usb { 141 label = "dir665:blue:u 141 label = "dir665:blue:usb"; 142 gpios = <&gpio0 12 GPI 142 gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; 143 }; 143 }; 144 led-blue-internet { !! 144 blue-internet { 145 /* Can only be turned 145 /* Can only be turned on if the Internet 146 * Ethernet port has L 146 * Ethernet port has Link 147 */ 147 */ 148 label = "dir665:blue:i 148 label = "dir665:blue:internet"; 149 gpios = <&gpio1 10 GPI 149 gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; 150 }; 150 }; 151 led-amber-internet { !! 151 amber-internet { 152 label = "dir665:amber: 152 label = "dir665:amber:internet"; 153 gpios = <&gpio1 11 GPI 153 gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>; 154 }; 154 }; 155 led-blue-wifi5g { !! 155 blue-wifi5g { 156 label = "dir665:blue:5 156 label = "dir665:blue:5g"; 157 gpios = <&gpio1 12 GPI 157 gpios = <&gpio1 12 GPIO_ACTIVE_LOW>; 158 }; 158 }; 159 led-blue-status { !! 159 blue-status { 160 label = "dir665:blue:s 160 label = "dir665:blue:status"; 161 gpios = <&gpio1 13 GPI 161 gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>; 162 }; 162 }; 163 led-blue-wps { !! 163 blue-wps { 164 label = "dir665:blue:w 164 label = "dir665:blue:wps"; 165 gpios = <&gpio1 15 GPI 165 gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>; 166 }; 166 }; 167 led-amber-status { !! 167 amber-status { 168 label = "dir665:amber: 168 label = "dir665:amber:status"; 169 gpios = <&gpio1 16 GPI 169 gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>; 170 }; 170 }; 171 led-blue-24g { !! 171 blue-24g { 172 label = "dir665:blue:2 172 label = "dir665:blue:24g"; 173 gpios = <&gpio1 17 GPI 173 gpios = <&gpio1 17 GPIO_ACTIVE_LOW>; 174 }; 174 }; 175 }; 175 }; 176 176 177 gpio-keys { 177 gpio-keys { 178 compatible = "gpio-keys"; 178 compatible = "gpio-keys"; >> 179 #address-cells = <1>; >> 180 #size-cells = <0>; 179 181 180 button-reset { !! 182 reset { 181 label = "reset"; 183 label = "reset"; 182 linux,code = <KEY_REST 184 linux,code = <KEY_RESTART>; 183 gpios = <&gpio0 28 GPI 185 gpios = <&gpio0 28 GPIO_ACTIVE_LOW>; 184 }; 186 }; 185 button-wps { !! 187 wps { 186 label = "wps"; 188 label = "wps"; 187 linux,code = <KEY_WPS_ 189 linux,code = <KEY_WPS_BUTTON>; 188 gpios = <&gpio1 14 GPI 190 gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; 189 }; 191 }; 190 }; 192 }; 191 }; 193 }; 192 194 193 &mdio { 195 &mdio { 194 status = "okay"; 196 status = "okay"; 195 197 196 switch@0 { 198 switch@0 { 197 compatible = "marvell,mv88e608 199 compatible = "marvell,mv88e6085"; 198 #address-cells = <1>; 200 #address-cells = <1>; 199 #size-cells = <0>; 201 #size-cells = <0>; 200 reg = <0>; 202 reg = <0>; 201 203 202 ports { 204 ports { 203 #address-cells = <1>; 205 #address-cells = <1>; 204 #size-cells = <0>; 206 #size-cells = <0>; 205 207 206 port@0 { 208 port@0 { 207 reg = <0>; 209 reg = <0>; 208 label = "lan4" 210 label = "lan4"; 209 }; 211 }; 210 212 211 port@1 { 213 port@1 { 212 reg = <1>; 214 reg = <1>; 213 label = "lan3" 215 label = "lan3"; 214 }; 216 }; 215 217 216 port@2 { 218 port@2 { 217 reg = <2>; 219 reg = <2>; 218 label = "lan2" 220 label = "lan2"; 219 }; 221 }; 220 222 221 port@3 { 223 port@3 { 222 reg = <3>; 224 reg = <3>; 223 label = "lan1" 225 label = "lan1"; 224 }; 226 }; 225 227 226 port@4 { 228 port@4 { 227 reg = <4>; 229 reg = <4>; 228 label = "wan"; 230 label = "wan"; 229 }; 231 }; 230 232 231 port@6 { 233 port@6 { 232 reg = <6>; 234 reg = <6>; 233 phy-mode = "rg 235 phy-mode = "rgmii-id"; 234 ethernet = <&e 236 ethernet = <ð0port>; 235 fixed-link { 237 fixed-link { 236 speed 238 speed = <1000>; 237 full-d 239 full-duplex; 238 }; 240 }; 239 }; 241 }; 240 }; 242 }; 241 }; 243 }; 242 }; 244 }; 243 245 244 /* eth0 is connected to a Marvell 88E6171 swit 246 /* eth0 is connected to a Marvell 88E6171 switch, without a PHY. So set 245 * fixed speed and duplex. */ 247 * fixed speed and duplex. */ 246 ð0 { 248 ð0 { 247 status = "okay"; 249 status = "okay"; 248 250 249 ethernet0-port@0 { 251 ethernet0-port@0 { 250 speed = <1000>; 252 speed = <1000>; 251 duplex = <1>; 253 duplex = <1>; 252 phy-mode = "rgmii"; 254 phy-mode = "rgmii"; 253 }; 255 }; 254 }; 256 }; 255 257 256 /* eth1 is connected to the switch as well. Ho 258 /* eth1 is connected to the switch as well. However DSA only supports a 257 * single CPU port. So leave this port disable 259 * single CPU port. So leave this port disabled to avoid confusion. */ 258 260 259 ð1 { 261 ð1 { 260 status = "disabled"; 262 status = "disabled"; 261 }; 263 }; 262 264 263 /* There is no battery on the boards, so the R 265 /* There is no battery on the boards, so the RTC does not keep time 264 * when there is no power, making it useless. 266 * when there is no power, making it useless. */ 265 &rtc { 267 &rtc { 266 status = "disabled"; 268 status = "disabled"; 267 }; 269 }; 268 270 269 &pciec { 271 &pciec { 270 status = "okay"; 272 status = "okay"; 271 }; 273 }; 272 274 273 &pcie0 { 275 &pcie0 { 274 status = "okay"; 276 status = "okay"; 275 }; 277 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.