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