1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 2 /* 3 * Copyright (C) 2016 Marvell Technology Group 3 * Copyright (C) 2016 Marvell Technology Group Ltd. 4 * 4 * 5 * Device Tree file for Marvell Armada 7040 De 5 * Device Tree file for Marvell Armada 7040 Development board platform 6 */ 6 */ 7 7 8 #include <dt-bindings/gpio/gpio.h> 8 #include <dt-bindings/gpio/gpio.h> 9 #include "armada-7040.dtsi" 9 #include "armada-7040.dtsi" 10 10 11 / { 11 / { 12 model = "Marvell Armada 7040 DB board" 12 model = "Marvell Armada 7040 DB board"; 13 compatible = "marvell,armada7040-db", 13 compatible = "marvell,armada7040-db", "marvell,armada7040", 14 "marvell,armada-ap806-qua 14 "marvell,armada-ap806-quad", "marvell,armada-ap806"; 15 15 16 chosen { 16 chosen { 17 stdout-path = "serial0:115200n 17 stdout-path = "serial0:115200n8"; 18 }; 18 }; 19 19 20 memory@0 { 20 memory@0 { 21 device_type = "memory"; 21 device_type = "memory"; 22 reg = <0x0 0x0 0x0 0x80000000> 22 reg = <0x0 0x0 0x0 0x80000000>; 23 }; 23 }; 24 24 25 aliases { 25 aliases { 26 ethernet0 = &cp0_eth0; 26 ethernet0 = &cp0_eth0; 27 ethernet1 = &cp0_eth1; 27 ethernet1 = &cp0_eth1; 28 ethernet2 = &cp0_eth2; 28 ethernet2 = &cp0_eth2; 29 }; 29 }; 30 30 31 cp0_exp_usb3_0_current_regulator: gpio 31 cp0_exp_usb3_0_current_regulator: gpio-regulator { 32 compatible = "regulator-gpio"; 32 compatible = "regulator-gpio"; 33 regulator-name = "cp0-usb3-0-c 33 regulator-name = "cp0-usb3-0-current-regulator"; 34 regulator-type = "current"; 34 regulator-type = "current"; 35 regulator-min-microamp = <5000 35 regulator-min-microamp = <500000>; 36 regulator-max-microamp = <9000 36 regulator-max-microamp = <900000>; 37 gpios = <&expander0 4 GPIO_ACT 37 gpios = <&expander0 4 GPIO_ACTIVE_HIGH>; 38 states = <500000 0x0 38 states = <500000 0x0 39 900000 0x1>; 39 900000 0x1>; 40 enable-active-high; 40 enable-active-high; 41 gpios-states = <0>; 41 gpios-states = <0>; 42 }; 42 }; 43 43 44 cp0_exp_usb3_1_current_regulator: gpio 44 cp0_exp_usb3_1_current_regulator: gpio-regulator { 45 compatible = "regulator-gpio"; 45 compatible = "regulator-gpio"; 46 regulator-name = "cp0-usb3-1-c 46 regulator-name = "cp0-usb3-1-current-regulator"; 47 regulator-type = "current"; 47 regulator-type = "current"; 48 regulator-min-microamp = <5000 48 regulator-min-microamp = <500000>; 49 regulator-max-microamp = <9000 49 regulator-max-microamp = <900000>; 50 gpios = <&expander0 5 GPIO_ACT 50 gpios = <&expander0 5 GPIO_ACTIVE_HIGH>; 51 states = <500000 0x0 51 states = <500000 0x0 52 900000 0x1>; 52 900000 0x1>; 53 enable-active-high; 53 enable-active-high; 54 gpios-states = <0>; 54 gpios-states = <0>; 55 }; 55 }; 56 56 57 cp0_reg_usb3_0_vbus: cp0-usb3-0-vbus { 57 cp0_reg_usb3_0_vbus: cp0-usb3-0-vbus { 58 compatible = "regulator-fixed" 58 compatible = "regulator-fixed"; 59 regulator-name = "usb3h0-vbus" 59 regulator-name = "usb3h0-vbus"; 60 regulator-min-microvolt = <500 60 regulator-min-microvolt = <5000000>; 61 regulator-max-microvolt = <500 61 regulator-max-microvolt = <5000000>; 62 enable-active-high; 62 enable-active-high; 63 gpio = <&expander0 0 GPIO_ACTI 63 gpio = <&expander0 0 GPIO_ACTIVE_HIGH>; 64 vin-supply = <&cp0_exp_usb3_0_ 64 vin-supply = <&cp0_exp_usb3_0_current_regulator>; 65 }; 65 }; 66 66 67 cp0_reg_usb3_1_vbus: cp0-usb3-1-vbus { 67 cp0_reg_usb3_1_vbus: cp0-usb3-1-vbus { 68 compatible = "regulator-fixed" 68 compatible = "regulator-fixed"; 69 regulator-name = "usb3h1-vbus" 69 regulator-name = "usb3h1-vbus"; 70 regulator-min-microvolt = <500 70 regulator-min-microvolt = <5000000>; 71 regulator-max-microvolt = <500 71 regulator-max-microvolt = <5000000>; 72 enable-active-high; 72 enable-active-high; 73 gpio = <&expander0 1 GPIO_ACTI 73 gpio = <&expander0 1 GPIO_ACTIVE_HIGH>; 74 vin-supply = <&cp0_exp_usb3_1_ 74 vin-supply = <&cp0_exp_usb3_1_current_regulator>; 75 }; 75 }; 76 }; 76 }; 77 77 78 &i2c0 { 78 &i2c0 { 79 status = "okay"; 79 status = "okay"; 80 clock-frequency = <100000>; 80 clock-frequency = <100000>; 81 }; 81 }; 82 82 83 &spi0 { 83 &spi0 { 84 status = "okay"; 84 status = "okay"; 85 85 86 flash@0 { 86 flash@0 { 87 compatible = "jedec,spi-nor"; 87 compatible = "jedec,spi-nor"; 88 reg = <0>; 88 reg = <0>; 89 spi-max-frequency = <10000000> 89 spi-max-frequency = <10000000>; 90 90 91 partitions { 91 partitions { 92 compatible = "fixed-pa 92 compatible = "fixed-partitions"; 93 #address-cells = <1>; 93 #address-cells = <1>; 94 #size-cells = <1>; 94 #size-cells = <1>; 95 95 96 partition@0 { 96 partition@0 { 97 label = "U-Boo 97 label = "U-Boot"; 98 reg = <0 0x200 98 reg = <0 0x200000>; 99 }; 99 }; 100 partition@400000 { 100 partition@400000 { 101 label = "Files 101 label = "Filesystem"; 102 reg = <0x20000 102 reg = <0x200000 0xce0000>; 103 }; 103 }; 104 }; 104 }; 105 }; 105 }; 106 }; 106 }; 107 107 108 &uart0 { 108 &uart0 { 109 status = "okay"; 109 status = "okay"; 110 pinctrl-0 = <&uart0_pins>; 110 pinctrl-0 = <&uart0_pins>; 111 pinctrl-names = "default"; 111 pinctrl-names = "default"; 112 }; 112 }; 113 113 114 114 115 &cp0_pcie2 { 115 &cp0_pcie2 { 116 status = "okay"; 116 status = "okay"; 117 phys = <&cp0_comphy5 2>; 117 phys = <&cp0_comphy5 2>; 118 phy-names = "cp0-pcie2-x1-phy"; 118 phy-names = "cp0-pcie2-x1-phy"; 119 }; 119 }; 120 120 121 &cp0_i2c0 { 121 &cp0_i2c0 { 122 status = "okay"; 122 status = "okay"; 123 clock-frequency = <100000>; 123 clock-frequency = <100000>; 124 124 125 expander0: pca9555@21 { 125 expander0: pca9555@21 { 126 compatible = "nxp,pca9555"; 126 compatible = "nxp,pca9555"; 127 pinctrl-names = "default"; 127 pinctrl-names = "default"; 128 gpio-controller; 128 gpio-controller; 129 #gpio-cells = <2>; 129 #gpio-cells = <2>; 130 reg = <0x21>; 130 reg = <0x21>; 131 /* 131 /* 132 * IO0_0: USB3_PWR_EN0 IO1_0: 132 * IO0_0: USB3_PWR_EN0 IO1_0: USB_3_1_Dev_Detect 133 * IO0_1: USB3_PWR_EN1 IO1_1: 133 * IO0_1: USB3_PWR_EN1 IO1_1: USB2_1_current_limit 134 * IO0_2: DDR3_4_Detect IO1_2: 134 * IO0_2: DDR3_4_Detect IO1_2: Hcon_IO_RstN 135 * IO0_3: USB2_DEVICE_DETECT 135 * IO0_3: USB2_DEVICE_DETECT 136 * IO0_4: GPIO_0 IO1_4: 136 * IO0_4: GPIO_0 IO1_4: SD_Status 137 * IO0_5: GPIO_1 IO1_5: 137 * IO0_5: GPIO_1 IO1_5: LDO_5V_Enable 138 * IO0_6: IHB_5V_Enable IO1_6: 138 * IO0_6: IHB_5V_Enable IO1_6: PWR_EN_eMMC 139 * IO0_7: IO1_7: 139 * IO0_7: IO1_7: SDIO_Vcntrl 140 */ 140 */ 141 }; 141 }; 142 }; 142 }; 143 143 144 &cp0_nand_controller { 144 &cp0_nand_controller { 145 /* 145 /* 146 * SPI on CPM and NAND have common pin 146 * SPI on CPM and NAND have common pins on this board. We can 147 * use only one at a time. To enable t 147 * use only one at a time. To enable the NAND (which will 148 * disable the SPI), the "status = "ok 148 * disable the SPI), the "status = "okay";" line have to be 149 * added here. 149 * added here. 150 */ 150 */ 151 pinctrl-0 = <&nand_pins>, <&nand_rb>; 151 pinctrl-0 = <&nand_pins>, <&nand_rb>; 152 pinctrl-names = "default"; 152 pinctrl-names = "default"; 153 153 154 nand@0 { 154 nand@0 { 155 reg = <0>; 155 reg = <0>; 156 label = "pxa3xx_nand-0"; 156 label = "pxa3xx_nand-0"; 157 nand-rb = <0>; 157 nand-rb = <0>; 158 nand-on-flash-bbt; 158 nand-on-flash-bbt; 159 nand-ecc-strength = <4>; 159 nand-ecc-strength = <4>; 160 nand-ecc-step-size = <512>; 160 nand-ecc-step-size = <512>; 161 161 162 partitions { 162 partitions { 163 compatible = "fixed-pa 163 compatible = "fixed-partitions"; 164 #address-cells = <1>; 164 #address-cells = <1>; 165 #size-cells = <1>; 165 #size-cells = <1>; 166 166 167 partition@0 { 167 partition@0 { 168 label = "U-Boo 168 label = "U-Boot"; 169 reg = <0 0x200 169 reg = <0 0x200000>; 170 }; 170 }; 171 171 172 partition@200000 { 172 partition@200000 { 173 label = "Linux 173 label = "Linux"; 174 reg = <0x20000 174 reg = <0x200000 0xe00000>; 175 }; 175 }; 176 176 177 partition@1000000 { 177 partition@1000000 { 178 label = "Files 178 label = "Filesystem"; 179 reg = <0x10000 179 reg = <0x1000000 0x3f000000>; 180 }; 180 }; 181 181 182 }; 182 }; 183 }; 183 }; 184 }; 184 }; 185 185 186 &cp0_spi1 { 186 &cp0_spi1 { 187 status = "okay"; 187 status = "okay"; 188 188 189 flash@0 { 189 flash@0 { 190 compatible = "jedec,spi-nor"; 190 compatible = "jedec,spi-nor"; 191 reg = <0x0>; 191 reg = <0x0>; 192 spi-max-frequency = <20000000> 192 spi-max-frequency = <20000000>; 193 193 194 partitions { 194 partitions { 195 compatible = "fixed-pa 195 compatible = "fixed-partitions"; 196 #address-cells = <1>; 196 #address-cells = <1>; 197 #size-cells = <1>; 197 #size-cells = <1>; 198 198 199 partition@0 { 199 partition@0 { 200 label = "U-Boo 200 label = "U-Boot"; 201 reg = <0x0 0x2 201 reg = <0x0 0x200000>; 202 }; 202 }; 203 203 204 partition@400000 { 204 partition@400000 { 205 label = "Files 205 label = "Filesystem"; 206 reg = <0x20000 206 reg = <0x200000 0xe00000>; 207 }; 207 }; 208 }; 208 }; 209 }; 209 }; 210 }; 210 }; 211 211 212 &cp0_sata0 { 212 &cp0_sata0 { 213 status = "okay"; 213 status = "okay"; 214 214 215 sata-port@1 { 215 sata-port@1 { 216 phys = <&cp0_comphy3 1>; 216 phys = <&cp0_comphy3 1>; 217 phy-names = "cp0-sata0-1-phy"; 217 phy-names = "cp0-sata0-1-phy"; 218 }; 218 }; 219 }; 219 }; 220 220 221 &cp0_utmi { 221 &cp0_utmi { 222 status = "okay"; 222 status = "okay"; 223 }; 223 }; 224 224 225 &cp0_comphy1 { 225 &cp0_comphy1 { 226 cp0_usbh0_con: connector { 226 cp0_usbh0_con: connector { 227 compatible = "usb-a-connector" 227 compatible = "usb-a-connector"; 228 phy-supply = <&cp0_reg_usb3_0_ 228 phy-supply = <&cp0_reg_usb3_0_vbus>; 229 }; 229 }; 230 }; 230 }; 231 231 232 &cp0_usb3_0 { 232 &cp0_usb3_0 { 233 phys = <&cp0_comphy1 0>, <&cp0_utmi0>; 233 phys = <&cp0_comphy1 0>, <&cp0_utmi0>; 234 phy-names = "cp0-usb3h0-comphy", "utmi 234 phy-names = "cp0-usb3h0-comphy", "utmi"; 235 dr_mode = "host"; 235 dr_mode = "host"; 236 status = "okay"; 236 status = "okay"; 237 }; 237 }; 238 238 239 &cp0_comphy4 { 239 &cp0_comphy4 { 240 cp0_usbh1_con: connector { 240 cp0_usbh1_con: connector { 241 compatible = "usb-a-connector" 241 compatible = "usb-a-connector"; 242 phy-supply = <&cp0_reg_usb3_1_ 242 phy-supply = <&cp0_reg_usb3_1_vbus>; 243 }; 243 }; 244 }; 244 }; 245 245 246 &cp0_usb3_1 { 246 &cp0_usb3_1 { 247 phys = <&cp0_comphy4 1>, <&cp0_utmi1>; 247 phys = <&cp0_comphy4 1>, <&cp0_utmi1>; 248 phy-names = "cp0-usb3h1-comphy", "utmi 248 phy-names = "cp0-usb3h1-comphy", "utmi"; 249 dr_mode = "host"; 249 dr_mode = "host"; 250 status = "okay"; 250 status = "okay"; 251 }; 251 }; 252 252 253 &ap_sdhci0 { 253 &ap_sdhci0 { 254 status = "okay"; 254 status = "okay"; 255 bus-width = <4>; 255 bus-width = <4>; 256 no-1-8-v; 256 no-1-8-v; 257 non-removable; 257 non-removable; 258 }; 258 }; 259 259 260 &cp0_sdhci0 { 260 &cp0_sdhci0 { 261 status = "okay"; 261 status = "okay"; 262 bus-width = <4>; 262 bus-width = <4>; 263 no-1-8-v; 263 no-1-8-v; 264 cd-gpios = <&expander0 12 GPIO_ACTIVE_ 264 cd-gpios = <&expander0 12 GPIO_ACTIVE_LOW>; 265 }; 265 }; 266 266 267 &cp0_mdio { 267 &cp0_mdio { 268 status = "okay"; 268 status = "okay"; 269 269 270 phy0: ethernet-phy@0 { 270 phy0: ethernet-phy@0 { 271 reg = <0>; 271 reg = <0>; 272 }; 272 }; 273 phy1: ethernet-phy@1 { 273 phy1: ethernet-phy@1 { 274 reg = <1>; 274 reg = <1>; 275 }; 275 }; 276 }; 276 }; 277 277 278 &cp0_ethernet { 278 &cp0_ethernet { 279 status = "okay"; 279 status = "okay"; 280 }; 280 }; 281 281 282 &cp0_eth0 { 282 &cp0_eth0 { 283 status = "okay"; 283 status = "okay"; 284 /* Network PHY */ 284 /* Network PHY */ 285 phy-mode = "10gbase-r"; 285 phy-mode = "10gbase-r"; 286 /* Generic PHY, providing serdes lanes 286 /* Generic PHY, providing serdes lanes */ 287 phys = <&cp0_comphy2 0>; 287 phys = <&cp0_comphy2 0>; 288 288 289 fixed-link { 289 fixed-link { 290 speed = <10000>; 290 speed = <10000>; 291 full-duplex; 291 full-duplex; 292 }; 292 }; 293 }; 293 }; 294 294 295 &cp0_eth1 { 295 &cp0_eth1 { 296 status = "okay"; 296 status = "okay"; 297 /* Network PHY */ 297 /* Network PHY */ 298 phy = <&phy0>; 298 phy = <&phy0>; 299 phy-mode = "sgmii"; 299 phy-mode = "sgmii"; 300 /* Generic PHY, providing serdes lanes 300 /* Generic PHY, providing serdes lanes */ 301 phys = <&cp0_comphy0 1>; 301 phys = <&cp0_comphy0 1>; 302 }; 302 }; 303 303 304 &cp0_eth2 { 304 &cp0_eth2 { 305 status = "okay"; 305 status = "okay"; 306 phy = <&phy1>; 306 phy = <&phy1>; 307 phy-mode = "rgmii-id"; 307 phy-mode = "rgmii-id"; 308 }; 308 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.