Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003  * Copyright (C) 2016 Marvell Technology Group Ltd.
0004  *
0005  * Device Tree file for Marvell Armada 7040 Development board platform
0006  */
0007 
0008 #include <dt-bindings/gpio/gpio.h>
0009 #include "armada-7040.dtsi"
0010 
0011 / {
0012         model = "Marvell Armada 7040 DB board";
0013         compatible = "marvell,armada7040-db", "marvell,armada7040",
0014                      "marvell,armada-ap806-quad", "marvell,armada-ap806";
0015 
0016         chosen {
0017                 stdout-path = "serial0:115200n8";
0018         };
0019 
0020         memory@0 {
0021                 device_type = "memory";
0022                 reg = <0x0 0x0 0x0 0x80000000>;
0023         };
0024 
0025         aliases {
0026                 ethernet0 = &cp0_eth0;
0027                 ethernet1 = &cp0_eth1;
0028                 ethernet2 = &cp0_eth2;
0029         };
0030 
0031         cp0_exp_usb3_0_current_regulator: gpio-regulator {
0032                 compatible = "regulator-gpio";
0033                 regulator-name = "cp0-usb3-0-current-regulator";
0034                 regulator-type = "current";
0035                 regulator-min-microamp = <500000>;
0036                 regulator-max-microamp = <900000>;
0037                 gpios = <&expander0 4 GPIO_ACTIVE_HIGH>;
0038                 states = <500000 0x0
0039                           900000 0x1>;
0040                 enable-active-high;
0041                 gpios-states = <0>;
0042         };
0043 
0044         cp0_exp_usb3_1_current_regulator: gpio-regulator {
0045                 compatible = "regulator-gpio";
0046                 regulator-name = "cp0-usb3-1-current-regulator";
0047                 regulator-type = "current";
0048                 regulator-min-microamp = <500000>;
0049                 regulator-max-microamp = <900000>;
0050                 gpios = <&expander0 5 GPIO_ACTIVE_HIGH>;
0051                 states = <500000 0x0
0052                           900000 0x1>;
0053                 enable-active-high;
0054                 gpios-states = <0>;
0055         };
0056 
0057         cp0_reg_usb3_0_vbus: cp0-usb3-0-vbus {
0058                 compatible = "regulator-fixed";
0059                 regulator-name = "usb3h0-vbus";
0060                 regulator-min-microvolt = <5000000>;
0061                 regulator-max-microvolt = <5000000>;
0062                 enable-active-high;
0063                 gpio = <&expander0 0 GPIO_ACTIVE_HIGH>;
0064                 vin-supply = <&cp0_exp_usb3_0_current_regulator>;
0065         };
0066 
0067         cp0_reg_usb3_1_vbus: cp0-usb3-1-vbus {
0068                 compatible = "regulator-fixed";
0069                 regulator-name = "usb3h1-vbus";
0070                 regulator-min-microvolt = <5000000>;
0071                 regulator-max-microvolt = <5000000>;
0072                 enable-active-high;
0073                 gpio = <&expander0 1 GPIO_ACTIVE_HIGH>;
0074                 vin-supply = <&cp0_exp_usb3_1_current_regulator>;
0075         };
0076 };
0077 
0078 &i2c0 {
0079         status = "okay";
0080         clock-frequency = <100000>;
0081 };
0082 
0083 &spi0 {
0084         status = "okay";
0085 
0086         flash@0 {
0087                 compatible = "jedec,spi-nor";
0088                 reg = <0>;
0089                 spi-max-frequency = <10000000>;
0090 
0091                 partitions {
0092                         compatible = "fixed-partitions";
0093                         #address-cells = <1>;
0094                         #size-cells = <1>;
0095 
0096                         partition@0 {
0097                                 label = "U-Boot";
0098                                 reg = <0 0x200000>;
0099                         };
0100                         partition@400000 {
0101                                 label = "Filesystem";
0102                                 reg = <0x200000 0xce0000>;
0103                         };
0104                 };
0105         };
0106 };
0107 
0108 &uart0 {
0109         status = "okay";
0110         pinctrl-0 = <&uart0_pins>;
0111         pinctrl-names = "default";
0112 };
0113 
0114 
0115 &cp0_pcie2 {
0116         status = "okay";
0117         phys = <&cp0_comphy5 2>;
0118         phy-names = "cp0-pcie2-x1-phy";
0119 };
0120 
0121 &cp0_i2c0 {
0122         status = "okay";
0123         clock-frequency = <100000>;
0124 
0125         expander0: pca9555@21 {
0126                 compatible = "nxp,pca9555";
0127                 pinctrl-names = "default";
0128                 gpio-controller;
0129                 #gpio-cells = <2>;
0130                 reg = <0x21>;
0131                 /*
0132                  * IO0_0: USB3_PWR_EN0  IO1_0: USB_3_1_Dev_Detect
0133                  * IO0_1: USB3_PWR_EN1  IO1_1: USB2_1_current_limit
0134                  * IO0_2: DDR3_4_Detect IO1_2: Hcon_IO_RstN
0135                  * IO0_3: USB2_DEVICE_DETECT
0136                  * IO0_4: GPIO_0        IO1_4: SD_Status
0137                  * IO0_5: GPIO_1        IO1_5: LDO_5V_Enable
0138                  * IO0_6: IHB_5V_Enable IO1_6: PWR_EN_eMMC
0139                  * IO0_7:               IO1_7: SDIO_Vcntrl
0140                  */
0141         };
0142 };
0143 
0144 &cp0_nand_controller {
0145         /*
0146          * SPI on CPM and NAND have common pins on this board. We can
0147          * use only one at a time. To enable the NAND (which will
0148          * disable the SPI), the "status = "okay";" line have to be
0149          * added here.
0150          */
0151         pinctrl-0 = <&nand_pins>, <&nand_rb>;
0152         pinctrl-names = "default";
0153 
0154         nand@0 {
0155                 reg = <0>;
0156                 label = "pxa3xx_nand-0";
0157                 nand-rb = <0>;
0158                 nand-on-flash-bbt;
0159                 nand-ecc-strength = <4>;
0160                 nand-ecc-step-size = <512>;
0161 
0162                 partitions {
0163                         compatible = "fixed-partitions";
0164                         #address-cells = <1>;
0165                         #size-cells = <1>;
0166 
0167                         partition@0 {
0168                                 label = "U-Boot";
0169                                 reg = <0 0x200000>;
0170                         };
0171 
0172                         partition@200000 {
0173                                 label = "Linux";
0174                                 reg = <0x200000 0xe00000>;
0175                         };
0176 
0177                         partition@1000000 {
0178                                 label = "Filesystem";
0179                                 reg = <0x1000000 0x3f000000>;
0180                         };
0181 
0182                 };
0183         };
0184 };
0185 
0186 &cp0_spi1 {
0187         status = "okay";
0188 
0189         flash@0 {
0190                 compatible = "jedec,spi-nor";
0191                 reg = <0x0>;
0192                 spi-max-frequency = <20000000>;
0193 
0194                 partitions {
0195                         compatible = "fixed-partitions";
0196                         #address-cells = <1>;
0197                         #size-cells = <1>;
0198 
0199                         partition@0 {
0200                                 label = "U-Boot";
0201                                 reg = <0x0 0x200000>;
0202                         };
0203 
0204                         partition@400000 {
0205                                 label = "Filesystem";
0206                                 reg = <0x200000 0xe00000>;
0207                         };
0208                 };
0209         };
0210 };
0211 
0212 &cp0_sata0 {
0213         status = "okay";
0214 
0215         sata-port@1 {
0216                 phys = <&cp0_comphy3 1>;
0217                 phy-names = "cp0-sata0-1-phy";
0218         };
0219 };
0220 
0221 &cp0_utmi {
0222         status = "okay";
0223 };
0224 
0225 &cp0_comphy1 {
0226         cp0_usbh0_con: connector {
0227                 compatible = "usb-a-connector";
0228                 phy-supply = <&cp0_reg_usb3_0_vbus>;
0229         };
0230 };
0231 
0232 &cp0_usb3_0 {
0233         phys = <&cp0_comphy1 0>, <&cp0_utmi0>;
0234         phy-names = "cp0-usb3h0-comphy", "utmi";
0235         dr_mode = "host";
0236         status = "okay";
0237 };
0238 
0239 &cp0_comphy4 {
0240         cp0_usbh1_con: connector {
0241                 compatible = "usb-a-connector";
0242                 phy-supply = <&cp0_reg_usb3_1_vbus>;
0243         };
0244 };
0245 
0246 &cp0_usb3_1 {
0247         phys = <&cp0_comphy4 1>, <&cp0_utmi1>;
0248         phy-names = "cp0-usb3h1-comphy", "utmi";
0249         dr_mode = "host";
0250         status = "okay";
0251 };
0252 
0253 &ap_sdhci0 {
0254         status = "okay";
0255         bus-width = <4>;
0256         no-1-8-v;
0257         non-removable;
0258 };
0259 
0260 &cp0_sdhci0 {
0261         status = "okay";
0262         bus-width = <4>;
0263         no-1-8-v;
0264         cd-gpios = <&expander0 12 GPIO_ACTIVE_LOW>;
0265 };
0266 
0267 &cp0_mdio {
0268         status = "okay";
0269 
0270         phy0: ethernet-phy@0 {
0271                 reg = <0>;
0272         };
0273         phy1: ethernet-phy@1 {
0274                 reg = <1>;
0275         };
0276 };
0277 
0278 &cp0_ethernet {
0279         status = "okay";
0280 };
0281 
0282 &cp0_eth0 {
0283         status = "okay";
0284         /* Network PHY */
0285         phy-mode = "10gbase-r";
0286         /* Generic PHY, providing serdes lanes */
0287         phys = <&cp0_comphy2 0>;
0288 
0289         fixed-link {
0290                 speed = <10000>;
0291                 full-duplex;
0292         };
0293 };
0294 
0295 &cp0_eth1 {
0296         status = "okay";
0297         /* Network PHY */
0298         phy = <&phy0>;
0299         phy-mode = "sgmii";
0300         /* Generic PHY, providing serdes lanes */
0301         phys = <&cp0_comphy0 1>;
0302 };
0303 
0304 &cp0_eth2 {
0305         status = "okay";
0306         phy = <&phy1>;
0307         phy-mode = "rgmii-id";
0308 };