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