14c43a41eSKonstantin Porotchkin// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
24c43a41eSKonstantin Porotchkin/*
34c43a41eSKonstantin Porotchkin * Copyright (C) 2019 Marvell International Ltd.
44c43a41eSKonstantin Porotchkin *
54c43a41eSKonstantin Porotchkin * Device tree for the CN9130-DB board.
64c43a41eSKonstantin Porotchkin */
74c43a41eSKonstantin Porotchkin
84c43a41eSKonstantin Porotchkin#include "cn9130.dtsi"
94c43a41eSKonstantin Porotchkin
104c43a41eSKonstantin Porotchkin#include <dt-bindings/gpio/gpio.h>
114c43a41eSKonstantin Porotchkin
124c43a41eSKonstantin Porotchkin/ {
134c43a41eSKonstantin Porotchkin	chosen {
144c43a41eSKonstantin Porotchkin		stdout-path = "serial0:115200n8";
154c43a41eSKonstantin Porotchkin	};
164c43a41eSKonstantin Porotchkin
174c43a41eSKonstantin Porotchkin	aliases {
184c43a41eSKonstantin Porotchkin		gpio1 = &cp0_gpio1;
194c43a41eSKonstantin Porotchkin		gpio2 = &cp0_gpio2;
204c43a41eSKonstantin Porotchkin		i2c0 = &cp0_i2c0;
214c43a41eSKonstantin Porotchkin		ethernet0 = &cp0_eth0;
224c43a41eSKonstantin Porotchkin		ethernet1 = &cp0_eth1;
234c43a41eSKonstantin Porotchkin		ethernet2 = &cp0_eth2;
244c43a41eSKonstantin Porotchkin		spi1 = &cp0_spi0;
254c43a41eSKonstantin Porotchkin		spi2 = &cp0_spi1;
264c43a41eSKonstantin Porotchkin	};
274c43a41eSKonstantin Porotchkin
289e62ec0eSRob Herring	memory@0 {
294c43a41eSKonstantin Porotchkin		device_type = "memory";
304c43a41eSKonstantin Porotchkin		reg = <0x0 0x0 0x0 0x80000000>;
314c43a41eSKonstantin Porotchkin	};
324c43a41eSKonstantin Porotchkin
334c43a41eSKonstantin Porotchkin	ap0_reg_sd_vccq: ap0_sd_vccq@0 {
344c43a41eSKonstantin Porotchkin		compatible = "regulator-gpio";
354c43a41eSKonstantin Porotchkin		regulator-name = "ap0_sd_vccq";
364c43a41eSKonstantin Porotchkin		regulator-min-microvolt = <1800000>;
374c43a41eSKonstantin Porotchkin		regulator-max-microvolt = <3300000>;
384c43a41eSKonstantin Porotchkin		gpios = <&expander0 8 GPIO_ACTIVE_HIGH>;
394c43a41eSKonstantin Porotchkin		states = <1800000 0x1 3300000 0x0>;
404c43a41eSKonstantin Porotchkin	};
414c43a41eSKonstantin Porotchkin
424c43a41eSKonstantin Porotchkin	cp0_reg_usb3_vbus0: cp0_usb3_vbus@0 {
434c43a41eSKonstantin Porotchkin		compatible = "regulator-fixed";
444c43a41eSKonstantin Porotchkin		regulator-name = "cp0-xhci0-vbus";
454c43a41eSKonstantin Porotchkin		regulator-min-microvolt = <5000000>;
464c43a41eSKonstantin Porotchkin		regulator-max-microvolt = <5000000>;
474c43a41eSKonstantin Porotchkin		enable-active-high;
484c43a41eSKonstantin Porotchkin		gpio = <&expander0 0 GPIO_ACTIVE_HIGH>;
494c43a41eSKonstantin Porotchkin	};
504c43a41eSKonstantin Porotchkin
514c43a41eSKonstantin Porotchkin	cp0_usb3_0_phy0: cp0_usb3_phy@0 {
524c43a41eSKonstantin Porotchkin		compatible = "usb-nop-xceiv";
534c43a41eSKonstantin Porotchkin		vcc-supply = <&cp0_reg_usb3_vbus0>;
544c43a41eSKonstantin Porotchkin	};
554c43a41eSKonstantin Porotchkin
564c43a41eSKonstantin Porotchkin	cp0_reg_usb3_vbus1: cp0_usb3_vbus@1 {
574c43a41eSKonstantin Porotchkin		compatible = "regulator-fixed";
584c43a41eSKonstantin Porotchkin		regulator-name = "cp0-xhci1-vbus";
594c43a41eSKonstantin Porotchkin		regulator-min-microvolt = <5000000>;
604c43a41eSKonstantin Porotchkin		regulator-max-microvolt = <5000000>;
614c43a41eSKonstantin Porotchkin		enable-active-high;
624c43a41eSKonstantin Porotchkin		gpio = <&expander0 1 GPIO_ACTIVE_HIGH>;
634c43a41eSKonstantin Porotchkin	};
644c43a41eSKonstantin Porotchkin
654c43a41eSKonstantin Porotchkin	cp0_usb3_0_phy1: cp0_usb3_phy@1 {
664c43a41eSKonstantin Porotchkin		compatible = "usb-nop-xceiv";
674c43a41eSKonstantin Porotchkin		vcc-supply = <&cp0_reg_usb3_vbus1>;
684c43a41eSKonstantin Porotchkin	};
694c43a41eSKonstantin Porotchkin
704c43a41eSKonstantin Porotchkin	cp0_reg_sd_vccq: cp0_sd_vccq@0 {
714c43a41eSKonstantin Porotchkin		compatible = "regulator-gpio";
724c43a41eSKonstantin Porotchkin		regulator-name = "cp0_sd_vccq";
734c43a41eSKonstantin Porotchkin		regulator-min-microvolt = <1800000>;
744c43a41eSKonstantin Porotchkin		regulator-max-microvolt = <3300000>;
754c43a41eSKonstantin Porotchkin		gpios = <&expander0 15 GPIO_ACTIVE_HIGH>;
764c43a41eSKonstantin Porotchkin		states = <1800000 0x1
774c43a41eSKonstantin Porotchkin			  3300000 0x0>;
784c43a41eSKonstantin Porotchkin	};
794c43a41eSKonstantin Porotchkin
804c43a41eSKonstantin Porotchkin	cp0_reg_sd_vcc: cp0_sd_vcc@0 {
814c43a41eSKonstantin Porotchkin		compatible = "regulator-fixed";
824c43a41eSKonstantin Porotchkin		regulator-name = "cp0_sd_vcc";
834c43a41eSKonstantin Porotchkin		regulator-min-microvolt = <3300000>;
844c43a41eSKonstantin Porotchkin		regulator-max-microvolt = <3300000>;
854c43a41eSKonstantin Porotchkin		gpio = <&expander0 14 GPIO_ACTIVE_HIGH>;
864c43a41eSKonstantin Porotchkin		enable-active-high;
874c43a41eSKonstantin Porotchkin		regulator-always-on;
884c43a41eSKonstantin Porotchkin	};
894c43a41eSKonstantin Porotchkin
904c43a41eSKonstantin Porotchkin	cp0_sfp_eth0: sfp-eth@0 {
914c43a41eSKonstantin Porotchkin		compatible = "sff,sfp";
924c43a41eSKonstantin Porotchkin		i2c-bus = <&cp0_sfpp0_i2c>;
934ce223e5SIoana Ciornei		los-gpios = <&cp0_module_expander1 11 GPIO_ACTIVE_HIGH>;
944ce223e5SIoana Ciornei		mod-def0-gpios = <&cp0_module_expander1 10 GPIO_ACTIVE_LOW>;
954ce223e5SIoana Ciornei		tx-disable-gpios = <&cp0_module_expander1 9 GPIO_ACTIVE_HIGH>;
964ce223e5SIoana Ciornei		tx-fault-gpios = <&cp0_module_expander1 8 GPIO_ACTIVE_HIGH>;
974c43a41eSKonstantin Porotchkin		/*
984c43a41eSKonstantin Porotchkin		 * SFP cages are unconnected on early PCBs because of an the I2C
994c43a41eSKonstantin Porotchkin		 * lanes not being connected. Prevent the port for being
1004c43a41eSKonstantin Porotchkin		 * unusable by disabling the SFP node.
1014c43a41eSKonstantin Porotchkin		 */
1024c43a41eSKonstantin Porotchkin		status = "disabled";
1034c43a41eSKonstantin Porotchkin	};
1044c43a41eSKonstantin Porotchkin};
1054c43a41eSKonstantin Porotchkin
1064c43a41eSKonstantin Porotchkin&uart0 {
1074c43a41eSKonstantin Porotchkin	status = "okay";
1084c43a41eSKonstantin Porotchkin};
1094c43a41eSKonstantin Porotchkin
1104c43a41eSKonstantin Porotchkin/* on-board eMMC - U9 */
1114c43a41eSKonstantin Porotchkin&ap_sdhci0 {
1124c43a41eSKonstantin Porotchkin	pinctrl-names = "default";
1134c43a41eSKonstantin Porotchkin	bus-width = <8>;
1144c43a41eSKonstantin Porotchkin	vqmmc-supply = <&ap0_reg_sd_vccq>;
1154c43a41eSKonstantin Porotchkin	status = "okay";
1164c43a41eSKonstantin Porotchkin};
1174c43a41eSKonstantin Porotchkin
1184c43a41eSKonstantin Porotchkin&cp0_crypto {
1194c43a41eSKonstantin Porotchkin	status = "disabled";
1204c43a41eSKonstantin Porotchkin};
1214c43a41eSKonstantin Porotchkin
1224c43a41eSKonstantin Porotchkin&cp0_ethernet {
1234c43a41eSKonstantin Porotchkin	status = "okay";
1244c43a41eSKonstantin Porotchkin};
1254c43a41eSKonstantin Porotchkin
1264c43a41eSKonstantin Porotchkin/* SLM-1521-V2, CON9 */
1274c43a41eSKonstantin Porotchkin&cp0_eth0 {
128f3200db5SStefan Chulski	status = "okay";
12945b25653SKonstantin Porotchkin	phy-mode = "10gbase-r";
1304c43a41eSKonstantin Porotchkin	/* Generic PHY, providing serdes lanes */
1314c43a41eSKonstantin Porotchkin	phys = <&cp0_comphy4 0>;
1324c43a41eSKonstantin Porotchkin	managed = "in-band-status";
1334c43a41eSKonstantin Porotchkin	sfp = <&cp0_sfp_eth0>;
1344c43a41eSKonstantin Porotchkin};
1354c43a41eSKonstantin Porotchkin
1364c43a41eSKonstantin Porotchkin/* CON56 */
1374c43a41eSKonstantin Porotchkin&cp0_eth1 {
1384c43a41eSKonstantin Porotchkin	status = "okay";
1394c43a41eSKonstantin Porotchkin	phy = <&phy0>;
1404c43a41eSKonstantin Porotchkin	phy-mode = "rgmii-id";
1414c43a41eSKonstantin Porotchkin};
1424c43a41eSKonstantin Porotchkin
1434c43a41eSKonstantin Porotchkin/* CON57 */
1444c43a41eSKonstantin Porotchkin&cp0_eth2 {
1454c43a41eSKonstantin Porotchkin	status = "okay";
1464c43a41eSKonstantin Porotchkin	phy = <&phy1>;
1474c43a41eSKonstantin Porotchkin	phy-mode = "rgmii-id";
1484c43a41eSKonstantin Porotchkin};
1494c43a41eSKonstantin Porotchkin
1504c43a41eSKonstantin Porotchkin&cp0_gpio1 {
1514c43a41eSKonstantin Porotchkin	status = "okay";
1524c43a41eSKonstantin Porotchkin};
1534c43a41eSKonstantin Porotchkin
1544c43a41eSKonstantin Porotchkin&cp0_gpio2 {
1554c43a41eSKonstantin Porotchkin	status = "okay";
1564c43a41eSKonstantin Porotchkin};
1574c43a41eSKonstantin Porotchkin
1584c43a41eSKonstantin Porotchkin&cp0_i2c0 {
1594c43a41eSKonstantin Porotchkin	status = "okay";
1604c43a41eSKonstantin Porotchkin	pinctrl-names = "default";
1614c43a41eSKonstantin Porotchkin	pinctrl-0 = <&cp0_i2c0_pins>;
1624c43a41eSKonstantin Porotchkin	clock-frequency = <100000>;
1634c43a41eSKonstantin Porotchkin
1644c43a41eSKonstantin Porotchkin	/* U36 */
1654c43a41eSKonstantin Porotchkin	expander0: pca953x@21 {
1664c43a41eSKonstantin Porotchkin		compatible = "nxp,pca9555";
1674c43a41eSKonstantin Porotchkin		pinctrl-names = "default";
1684c43a41eSKonstantin Porotchkin		gpio-controller;
1694c43a41eSKonstantin Porotchkin		#gpio-cells = <2>;
1704c43a41eSKonstantin Porotchkin		reg = <0x21>;
1714c43a41eSKonstantin Porotchkin		status = "okay";
1724c43a41eSKonstantin Porotchkin	};
1734c43a41eSKonstantin Porotchkin
1744c43a41eSKonstantin Porotchkin	/* U42 */
1754c43a41eSKonstantin Porotchkin	eeprom0: eeprom@50 {
1764c43a41eSKonstantin Porotchkin		compatible = "atmel,24c64";
1774c43a41eSKonstantin Porotchkin		reg = <0x50>;
1784c43a41eSKonstantin Porotchkin		pagesize = <0x20>;
1794c43a41eSKonstantin Porotchkin	};
1804c43a41eSKonstantin Porotchkin
1814c43a41eSKonstantin Porotchkin	/* U38 */
1824c43a41eSKonstantin Porotchkin	eeprom1: eeprom@57 {
1834c43a41eSKonstantin Porotchkin		compatible = "atmel,24c64";
1844c43a41eSKonstantin Porotchkin		reg = <0x57>;
1854c43a41eSKonstantin Porotchkin		pagesize = <0x20>;
1864c43a41eSKonstantin Porotchkin	};
1874c43a41eSKonstantin Porotchkin};
1884c43a41eSKonstantin Porotchkin
1894c43a41eSKonstantin Porotchkin&cp0_i2c1 {
1904c43a41eSKonstantin Porotchkin	status = "okay";
1914c43a41eSKonstantin Porotchkin	clock-frequency = <100000>;
1924c43a41eSKonstantin Porotchkin
1934c43a41eSKonstantin Porotchkin	/* SLM-1521-V2 - U3 */
1944c43a41eSKonstantin Porotchkin	i2c-mux@72 { /* verify address - depends on dpr */
1954c43a41eSKonstantin Porotchkin		compatible = "nxp,pca9544";
1964c43a41eSKonstantin Porotchkin		#address-cells = <1>;
1974c43a41eSKonstantin Porotchkin		#size-cells = <0>;
1984c43a41eSKonstantin Porotchkin		reg = <0x72>;
1994c43a41eSKonstantin Porotchkin		cp0_sfpp0_i2c: i2c@0 {
2004c43a41eSKonstantin Porotchkin			#address-cells = <1>;
2014c43a41eSKonstantin Porotchkin			#size-cells = <0>;
2024c43a41eSKonstantin Porotchkin			reg = <0>;
2034c43a41eSKonstantin Porotchkin		};
2044c43a41eSKonstantin Porotchkin
2054c43a41eSKonstantin Porotchkin		i2c@1 {
2064c43a41eSKonstantin Porotchkin			#address-cells = <1>;
2074c43a41eSKonstantin Porotchkin			#size-cells = <0>;
2084c43a41eSKonstantin Porotchkin			reg = <1>;
2094c43a41eSKonstantin Porotchkin			/* U12 */
2104c43a41eSKonstantin Porotchkin			cp0_module_expander1: pca9555@21 {
2114c43a41eSKonstantin Porotchkin				compatible = "nxp,pca9555";
2124c43a41eSKonstantin Porotchkin				pinctrl-names = "default";
2134c43a41eSKonstantin Porotchkin				gpio-controller;
2144c43a41eSKonstantin Porotchkin				#gpio-cells = <2>;
2154c43a41eSKonstantin Porotchkin				reg = <0x21>;
2164c43a41eSKonstantin Porotchkin			};
2174c43a41eSKonstantin Porotchkin
2184c43a41eSKonstantin Porotchkin		};
2194c43a41eSKonstantin Porotchkin	};
2204c43a41eSKonstantin Porotchkin};
2214c43a41eSKonstantin Porotchkin
2224c43a41eSKonstantin Porotchkin&cp0_mdio {
2234c43a41eSKonstantin Porotchkin	status = "okay";
2244c43a41eSKonstantin Porotchkin
2254c43a41eSKonstantin Porotchkin	phy0: ethernet-phy@0 {
2264c43a41eSKonstantin Porotchkin		reg = <0>;
2274c43a41eSKonstantin Porotchkin	};
2284c43a41eSKonstantin Porotchkin
2294c43a41eSKonstantin Porotchkin	phy1: ethernet-phy@1 {
2304c43a41eSKonstantin Porotchkin		reg = <1>;
2314c43a41eSKonstantin Porotchkin	};
2324c43a41eSKonstantin Porotchkin};
2334c43a41eSKonstantin Porotchkin
2344c43a41eSKonstantin Porotchkin/* U54 */
2354c43a41eSKonstantin Porotchkin&cp0_nand_controller {
2364c43a41eSKonstantin Porotchkin	status = "disabled";
2374c43a41eSKonstantin Porotchkin	pinctrl-names = "default";
2384c43a41eSKonstantin Porotchkin	pinctrl-0 = <&nand_pins &nand_rb>;
2394c43a41eSKonstantin Porotchkin
2404c43a41eSKonstantin Porotchkin	nand@0 {
2414c43a41eSKonstantin Porotchkin		reg = <0>;
2424c43a41eSKonstantin Porotchkin		label = "main-storage";
2434c43a41eSKonstantin Porotchkin		nand-rb = <0>;
2444c43a41eSKonstantin Porotchkin		nand-ecc-mode = "hw";
2454c43a41eSKonstantin Porotchkin		nand-on-flash-bbt;
2464c43a41eSKonstantin Porotchkin		nand-ecc-strength = <8>;
2474c43a41eSKonstantin Porotchkin		nand-ecc-step-size = <512>;
2484c43a41eSKonstantin Porotchkin
2494c43a41eSKonstantin Porotchkin		partitions {
2504c43a41eSKonstantin Porotchkin			compatible = "fixed-partitions";
2514c43a41eSKonstantin Porotchkin			#address-cells = <1>;
2524c43a41eSKonstantin Porotchkin			#size-cells = <1>;
2534c43a41eSKonstantin Porotchkin
2544c43a41eSKonstantin Porotchkin			partition@0 {
2554c43a41eSKonstantin Porotchkin				label = "U-Boot";
2564c43a41eSKonstantin Porotchkin				reg = <0 0x200000>;
2574c43a41eSKonstantin Porotchkin			};
2584c43a41eSKonstantin Porotchkin			partition@200000 {
2594c43a41eSKonstantin Porotchkin				label = "Linux";
2604c43a41eSKonstantin Porotchkin				reg = <0x200000 0xe00000>;
2614c43a41eSKonstantin Porotchkin			};
2624c43a41eSKonstantin Porotchkin			partition@1000000 {
2634c43a41eSKonstantin Porotchkin				label = "Filesystem";
2644c43a41eSKonstantin Porotchkin				reg = <0x1000000 0x3f000000>;
2654c43a41eSKonstantin Porotchkin			};
2664c43a41eSKonstantin Porotchkin		};
2674c43a41eSKonstantin Porotchkin	};
2684c43a41eSKonstantin Porotchkin};
2694c43a41eSKonstantin Porotchkin
2704c43a41eSKonstantin Porotchkin/* SLM-1521-V2, CON6 */
2714c43a41eSKonstantin Porotchkin&cp0_pcie0 {
2724c43a41eSKonstantin Porotchkin	status = "okay";
2734c43a41eSKonstantin Porotchkin	num-lanes = <4>;
2744c43a41eSKonstantin Porotchkin	num-viewport = <8>;
2754c43a41eSKonstantin Porotchkin	/* Generic PHY, providing serdes lanes */
2764c43a41eSKonstantin Porotchkin	phys = <&cp0_comphy0 0
2774c43a41eSKonstantin Porotchkin		&cp0_comphy1 0
2784c43a41eSKonstantin Porotchkin		&cp0_comphy2 0
2794c43a41eSKonstantin Porotchkin		&cp0_comphy3 0>;
2804c43a41eSKonstantin Porotchkin};
2814c43a41eSKonstantin Porotchkin
2824c43a41eSKonstantin Porotchkin&cp0_sata0 {
2834c43a41eSKonstantin Porotchkin	status = "okay";
2844c43a41eSKonstantin Porotchkin
2854c43a41eSKonstantin Porotchkin	/* SLM-1521-V2, CON2 */
2864c43a41eSKonstantin Porotchkin	sata-port@1 {
2874c43a41eSKonstantin Porotchkin		status = "okay";
2884c43a41eSKonstantin Porotchkin		/* Generic PHY, providing serdes lanes */
2894c43a41eSKonstantin Porotchkin		phys = <&cp0_comphy5 1>;
2904c43a41eSKonstantin Porotchkin	};
2914c43a41eSKonstantin Porotchkin};
2924c43a41eSKonstantin Porotchkin
2934c43a41eSKonstantin Porotchkin/* CON 28 */
2944c43a41eSKonstantin Porotchkin&cp0_sdhci0 {
2954c43a41eSKonstantin Porotchkin	status = "okay";
2964c43a41eSKonstantin Porotchkin	pinctrl-names = "default";
2974c43a41eSKonstantin Porotchkin	pinctrl-0 = <&cp0_sdhci_pins
2984c43a41eSKonstantin Porotchkin		     &cp0_sdhci_cd_pins>;
2994c43a41eSKonstantin Porotchkin	bus-width = <4>;
3004c43a41eSKonstantin Porotchkin	cd-gpios = <&cp0_gpio2 11 GPIO_ACTIVE_LOW>;
3014c43a41eSKonstantin Porotchkin	no-1-8-v;
3024c43a41eSKonstantin Porotchkin	vqmmc-supply = <&cp0_reg_sd_vccq>;
3034c43a41eSKonstantin Porotchkin	vmmc-supply = <&cp0_reg_sd_vcc>;
3044c43a41eSKonstantin Porotchkin};
3054c43a41eSKonstantin Porotchkin
3064c43a41eSKonstantin Porotchkin/* U55 */
3074c43a41eSKonstantin Porotchkin&cp0_spi1 {
3084c43a41eSKonstantin Porotchkin	status = "disabled";
3094c43a41eSKonstantin Porotchkin	pinctrl-names = "default";
310*043b62c6SChris Packham	pinctrl-0 = <&cp0_spi1_pins>;
3114c43a41eSKonstantin Porotchkin	reg = <0x700680 0x50>;
3124c43a41eSKonstantin Porotchkin
3132f00bb4aSKrzysztof Kozlowski	flash@0 {
3144c43a41eSKonstantin Porotchkin		#address-cells = <0x1>;
3154c43a41eSKonstantin Porotchkin		#size-cells = <0x1>;
3164c43a41eSKonstantin Porotchkin		compatible = "jedec,spi-nor";
3174c43a41eSKonstantin Porotchkin		reg = <0x0>;
3184c43a41eSKonstantin Porotchkin		/* On-board MUX does not allow higher frequencies */
3194c43a41eSKonstantin Porotchkin		spi-max-frequency = <40000000>;
3204c43a41eSKonstantin Porotchkin
3214c43a41eSKonstantin Porotchkin		partitions {
3224c43a41eSKonstantin Porotchkin			compatible = "fixed-partitions";
3234c43a41eSKonstantin Porotchkin			#address-cells = <1>;
3244c43a41eSKonstantin Porotchkin			#size-cells = <1>;
3254c43a41eSKonstantin Porotchkin
3264c43a41eSKonstantin Porotchkin			partition@0 {
3274c43a41eSKonstantin Porotchkin				label = "U-Boot-0";
3284c43a41eSKonstantin Porotchkin				reg = <0x0 0x200000>;
3294c43a41eSKonstantin Porotchkin			};
3304c43a41eSKonstantin Porotchkin
3314c43a41eSKonstantin Porotchkin			partition@400000 {
3324c43a41eSKonstantin Porotchkin				label = "Filesystem-0";
3334c43a41eSKonstantin Porotchkin				reg = <0x200000 0xe00000>;
3344c43a41eSKonstantin Porotchkin			};
3354c43a41eSKonstantin Porotchkin		};
3364c43a41eSKonstantin Porotchkin	};
3374c43a41eSKonstantin Porotchkin};
3384c43a41eSKonstantin Porotchkin
3394c43a41eSKonstantin Porotchkin&cp0_syscon0 {
3404c43a41eSKonstantin Porotchkin	cp0_pinctrl: pinctrl {
3414c43a41eSKonstantin Porotchkin		compatible = "marvell,cp115-standalone-pinctrl";
3424c43a41eSKonstantin Porotchkin
3434c43a41eSKonstantin Porotchkin		cp0_i2c0_pins: cp0-i2c-pins-0 {
3444c43a41eSKonstantin Porotchkin			marvell,pins = "mpp37", "mpp38";
3454c43a41eSKonstantin Porotchkin			marvell,function = "i2c0";
3464c43a41eSKonstantin Porotchkin		};
3474c43a41eSKonstantin Porotchkin		cp0_i2c1_pins: cp0-i2c-pins-1 {
3484c43a41eSKonstantin Porotchkin			marvell,pins = "mpp35", "mpp36";
3494c43a41eSKonstantin Porotchkin			marvell,function = "i2c1";
3504c43a41eSKonstantin Porotchkin		};
3514c43a41eSKonstantin Porotchkin		cp0_ge1_rgmii_pins: cp0-ge-rgmii-pins-0 {
3524c43a41eSKonstantin Porotchkin			marvell,pins = "mpp0", "mpp1", "mpp2",
3534c43a41eSKonstantin Porotchkin				       "mpp3", "mpp4", "mpp5",
3544c43a41eSKonstantin Porotchkin				       "mpp6", "mpp7", "mpp8",
3554c43a41eSKonstantin Porotchkin				       "mpp9", "mpp10", "mpp11";
3564c43a41eSKonstantin Porotchkin			marvell,function = "ge0";
3574c43a41eSKonstantin Porotchkin		};
3584c43a41eSKonstantin Porotchkin		cp0_ge2_rgmii_pins: cp0-ge-rgmii-pins-1 {
3594c43a41eSKonstantin Porotchkin			marvell,pins = "mpp44", "mpp45", "mpp46",
3604c43a41eSKonstantin Porotchkin				       "mpp47", "mpp48", "mpp49",
3614c43a41eSKonstantin Porotchkin				       "mpp50", "mpp51", "mpp52",
3624c43a41eSKonstantin Porotchkin				       "mpp53", "mpp54", "mpp55";
3634c43a41eSKonstantin Porotchkin			marvell,function = "ge1";
3644c43a41eSKonstantin Porotchkin		};
3654c43a41eSKonstantin Porotchkin		cp0_sdhci_cd_pins: cp0-sdhci-cd-pins-0 {
3664c43a41eSKonstantin Porotchkin			marvell,pins = "mpp43";
3674c43a41eSKonstantin Porotchkin			marvell,function = "gpio";
3684c43a41eSKonstantin Porotchkin		};
3694c43a41eSKonstantin Porotchkin		cp0_sdhci_pins: cp0-sdhi-pins-0 {
3704c43a41eSKonstantin Porotchkin			marvell,pins = "mpp56", "mpp57", "mpp58",
3714c43a41eSKonstantin Porotchkin				       "mpp59", "mpp60", "mpp61";
3724c43a41eSKonstantin Porotchkin			marvell,function = "sdio";
3734c43a41eSKonstantin Porotchkin		};
374*043b62c6SChris Packham		cp0_spi1_pins: cp0-spi-pins-1 {
3754c43a41eSKonstantin Porotchkin			marvell,pins = "mpp13", "mpp14", "mpp15", "mpp16";
3764c43a41eSKonstantin Porotchkin			marvell,function = "spi1";
3774c43a41eSKonstantin Porotchkin		};
3784c43a41eSKonstantin Porotchkin		nand_pins: nand-pins {
3794c43a41eSKonstantin Porotchkin			marvell,pins = "mpp15", "mpp16", "mpp17", "mpp18",
3804c43a41eSKonstantin Porotchkin				       "mpp19", "mpp20", "mpp21", "mpp22",
3814c43a41eSKonstantin Porotchkin				       "mpp23", "mpp24", "mpp25", "mpp26",
3824c43a41eSKonstantin Porotchkin				       "mpp27";
3834c43a41eSKonstantin Porotchkin			marvell,function = "dev";
3844c43a41eSKonstantin Porotchkin		};
3854c43a41eSKonstantin Porotchkin		nand_rb: nand-rb {
3864c43a41eSKonstantin Porotchkin			marvell,pins = "mpp13";
3874c43a41eSKonstantin Porotchkin			marvell,function = "nf";
3884c43a41eSKonstantin Porotchkin		};
3894c43a41eSKonstantin Porotchkin	};
3904c43a41eSKonstantin Porotchkin};
3914c43a41eSKonstantin Porotchkin
3924c43a41eSKonstantin Porotchkin&cp0_utmi {
3934c43a41eSKonstantin Porotchkin	status = "okay";
3944c43a41eSKonstantin Porotchkin};
3954c43a41eSKonstantin Porotchkin
3964c43a41eSKonstantin Porotchkin&cp0_usb3_0 {
3974c43a41eSKonstantin Porotchkin	status = "okay";
3984c43a41eSKonstantin Porotchkin	usb-phy = <&cp0_usb3_0_phy0>;
3994c43a41eSKonstantin Porotchkin	phys = <&cp0_utmi0>;
4004c43a41eSKonstantin Porotchkin	phy-names = "utmi";
4014c43a41eSKonstantin Porotchkin	dr_mode = "host";
4024c43a41eSKonstantin Porotchkin};
4034c43a41eSKonstantin Porotchkin
4044c43a41eSKonstantin Porotchkin&cp0_usb3_1 {
4054c43a41eSKonstantin Porotchkin	status = "okay";
4064c43a41eSKonstantin Porotchkin	usb-phy = <&cp0_usb3_0_phy1>;
4074c43a41eSKonstantin Porotchkin	phys = <&cp0_utmi1>;
4084c43a41eSKonstantin Porotchkin	phy-names = "utmi";
4094c43a41eSKonstantin Porotchkin	dr_mode = "host";
4104c43a41eSKonstantin Porotchkin};
411