xref: /rk3399_rockchip-uboot/arch/arm/dts/armada-8040-mcbin.dts (revision a284212963277114ad60e3442d74f095102a9de5)
194a66604SRabeeh Khoury/*
294a66604SRabeeh Khoury * Copyright (C) 2016 Marvell International Ltd.
394a66604SRabeeh Khoury *
494a66604SRabeeh Khoury * SPDX-License-Identifier:	GPL-2.0
594a66604SRabeeh Khoury * https://spdx.org/licenses
694a66604SRabeeh Khoury */
794a66604SRabeeh Khoury
894a66604SRabeeh Khoury#include "armada-8040.dtsi" /* include SoC device tree */
994a66604SRabeeh Khoury
1094a66604SRabeeh Khoury/ {
1194a66604SRabeeh Khoury	model = "MACCHIATOBin-8040";
1294a66604SRabeeh Khoury	compatible = "marvell,armada8040-mcbin",
1394a66604SRabeeh Khoury		     "marvell,armada8040";
1494a66604SRabeeh Khoury
1594a66604SRabeeh Khoury	chosen {
1694a66604SRabeeh Khoury		stdout-path = "serial0:115200n8";
1794a66604SRabeeh Khoury	};
1894a66604SRabeeh Khoury
1994a66604SRabeeh Khoury	aliases {
2094a66604SRabeeh Khoury		i2c0 = &cpm_i2c0;
2194a66604SRabeeh Khoury		i2c1 = &cpm_i2c1;
2294a66604SRabeeh Khoury		spi0 = &cps_spi1;
2394a66604SRabeeh Khoury		gpio0 = &ap_gpio0;
2494a66604SRabeeh Khoury		gpio1 = &cpm_gpio0;
2594a66604SRabeeh Khoury		gpio2 = &cpm_gpio1;
2694a66604SRabeeh Khoury	};
2794a66604SRabeeh Khoury
2894a66604SRabeeh Khoury	memory@00000000 {
2994a66604SRabeeh Khoury		device_type = "memory";
3094a66604SRabeeh Khoury		reg = <0x0 0x0 0x0 0x80000000>;
3194a66604SRabeeh Khoury	};
3294a66604SRabeeh Khoury
3394a66604SRabeeh Khoury	simple-bus {
3494a66604SRabeeh Khoury		compatible = "simple-bus";
3594a66604SRabeeh Khoury		#address-cells = <1>;
3694a66604SRabeeh Khoury		#size-cells = <0>;
3794a66604SRabeeh Khoury
3894a66604SRabeeh Khoury		reg_usb3h0_vbus: usb3-vbus0 {
3994a66604SRabeeh Khoury			compatible = "regulator-fixed";
4094a66604SRabeeh Khoury			pinctrl-names = "default";
4194a66604SRabeeh Khoury			pinctrl-0 = <&cpm_xhci_vbus_pins>;
4294a66604SRabeeh Khoury			regulator-name = "reg-usb3h0-vbus";
4394a66604SRabeeh Khoury			regulator-min-microvolt = <5000000>;
4494a66604SRabeeh Khoury			regulator-max-microvolt = <5000000>;
4594a66604SRabeeh Khoury			startup-delay-us = <500000>;
4694a66604SRabeeh Khoury			enable-active-high;
4794a66604SRabeeh Khoury			regulator-always-on;
4894a66604SRabeeh Khoury			regulator-boot-on;
4994a66604SRabeeh Khoury			gpio = <&cpm_gpio1 15 GPIO_ACTIVE_HIGH>; /* GPIO[47] */
5094a66604SRabeeh Khoury		};
5194a66604SRabeeh Khoury	};
5294a66604SRabeeh Khoury};
5394a66604SRabeeh Khoury
5494a66604SRabeeh Khoury/* Accessible over the mini-USB CON9 connector on the main board */
5594a66604SRabeeh Khoury&uart0 {
5694a66604SRabeeh Khoury	status = "okay";
5794a66604SRabeeh Khoury};
5894a66604SRabeeh Khoury
5994a66604SRabeeh Khoury&ap_pinctl {
6094a66604SRabeeh Khoury	/*
6194a66604SRabeeh Khoury	 * MPP Bus:
6294a66604SRabeeh Khoury	 * eMMC [0-10]
6394a66604SRabeeh Khoury	 * UART0 [11,19]
6494a66604SRabeeh Khoury	 */
6594a66604SRabeeh Khoury		  /* 0 1 2 3 4 5 6 7 8 9 */
6694a66604SRabeeh Khoury	pin-func = < 1 1 1 1 1 1 1 1 1 1
6794a66604SRabeeh Khoury		     1 3 0 0 0 0 0 0 0 3 >;
6894a66604SRabeeh Khoury};
6994a66604SRabeeh Khoury
7094a66604SRabeeh Khoury/* on-board eMMC */
7194a66604SRabeeh Khoury&ap_sdhci0 {
7294a66604SRabeeh Khoury	pinctrl-names = "default";
7394a66604SRabeeh Khoury	pinctrl-0 = <&ap_emmc_pins>;
7494a66604SRabeeh Khoury	bus-width= <8>;
7594a66604SRabeeh Khoury	status = "okay";
7694a66604SRabeeh Khoury};
7794a66604SRabeeh Khoury
7894a66604SRabeeh Khoury&cpm_pinctl {
7994a66604SRabeeh Khoury	/*
8094a66604SRabeeh Khoury	 * MPP Bus:
8194a66604SRabeeh Khoury	 * [0-31] = 0xff: Keep default CP0_shared_pins:
8294a66604SRabeeh Khoury	 * [11] CLKOUT_MPP_11 (out)
8394a66604SRabeeh Khoury	 * [23] LINK_RD_IN_CP2CP (in)
8494a66604SRabeeh Khoury	 * [25] CLKOUT_MPP_25 (out)
8594a66604SRabeeh Khoury	 * [29] AVS_FB_IN_CP2CP (in)
8694a66604SRabeeh Khoury	 * [32,34] SMI
8794a66604SRabeeh Khoury	 * [33]    MSS power down
8894a66604SRabeeh Khoury	 * [35-38] CP0 I2C1 and I2C0
8994a66604SRabeeh Khoury	 * [39] MSS CKE Enable
9094a66604SRabeeh Khoury	 * [40,41] CP0 UART1 TX/RX
9194a66604SRabeeh Khoury	 * [42,43] XSMI (controls two 10G phys)
9294a66604SRabeeh Khoury	 * [47] USB VBUS EN
9394a66604SRabeeh Khoury	 * [48] FAN PWM
9494a66604SRabeeh Khoury	 * [49] 10G port 1 interrupt
9594a66604SRabeeh Khoury	 * [50] 10G port 0 interrupt
9694a66604SRabeeh Khoury	 * [51] 2.5G SFP TX fault
9794a66604SRabeeh Khoury	 * [52] PCIe reset out
9894a66604SRabeeh Khoury	 * [53] 2.5G SFP mode
9994a66604SRabeeh Khoury	 * [54] 2.5G SFP LOS
10094a66604SRabeeh Khoury	 * [55] Micro SD card detect
10194a66604SRabeeh Khoury	 * [56-61] Micro SD
102cb686454SStefan Roese	 * [62] CP1 SFI SFP FAULT
10394a66604SRabeeh Khoury	 */
10494a66604SRabeeh Khoury		/*   0    1    2    3    4    5    6    7    8    9 */
10594a66604SRabeeh Khoury	pin-func = < 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
10694a66604SRabeeh Khoury		     0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
10794a66604SRabeeh Khoury		     0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
10894a66604SRabeeh Khoury		     0xff 0    7    0xa  7    2    2    2    2    0xa
10994a66604SRabeeh Khoury		     7    7    8    8    0    0    0    0    0    0
11094a66604SRabeeh Khoury		     0    0    0    0    0    0    0xe  0xe  0xe  0xe
11194a66604SRabeeh Khoury		     0xe  0xe  0 >;
11294a66604SRabeeh Khoury
11394a66604SRabeeh Khoury	cpm_xhci_vbus_pins: cpm-xhci-vbus-pins {
11494a66604SRabeeh Khoury		marvell,pins = < 47 >;
11594a66604SRabeeh Khoury		marvell,function = <0>;
11694a66604SRabeeh Khoury	};
11794a66604SRabeeh Khoury
11894a66604SRabeeh Khoury	cpm_pcie_reset_pins: cpm-pcie-reset-pins {
11994a66604SRabeeh Khoury		marvell,pins = < 52 >;
12094a66604SRabeeh Khoury		marvell,function = <0>;
12194a66604SRabeeh Khoury	};
12294a66604SRabeeh Khoury};
12394a66604SRabeeh Khoury
12494a66604SRabeeh Khoury/* uSD slot */
12594a66604SRabeeh Khoury&cpm_sdhci0 {
12694a66604SRabeeh Khoury	pinctrl-names = "default";
12794a66604SRabeeh Khoury	pinctrl-0 = <&cpm_sdhci_pins>;
12894a66604SRabeeh Khoury	bus-width= <4>;
12994a66604SRabeeh Khoury	status = "okay";
13094a66604SRabeeh Khoury};
13194a66604SRabeeh Khoury
13294a66604SRabeeh Khoury/* PCIe x4 */
13394a66604SRabeeh Khoury&cpm_pcie0 {
13494a66604SRabeeh Khoury	num-lanes = <4>;
13594a66604SRabeeh Khoury	pinctrl-names = "default";
13694a66604SRabeeh Khoury	pinctrl-0 = <&cpm_pcie_reset_pins>;
13794a66604SRabeeh Khoury	marvell,reset-gpio = <&cpm_gpio1 20 GPIO_ACTIVE_HIGH>; /* GPIO[52] */
13894a66604SRabeeh Khoury	status = "okay";
13994a66604SRabeeh Khoury};
14094a66604SRabeeh Khoury
14194a66604SRabeeh Khoury&cpm_i2c0 {
14294a66604SRabeeh Khoury	pinctrl-names = "default";
14394a66604SRabeeh Khoury	pinctrl-0 = <&cpm_i2c0_pins>;
14494a66604SRabeeh Khoury	status = "okay";
14594a66604SRabeeh Khoury	clock-frequency = <100000>;
14694a66604SRabeeh Khoury};
14794a66604SRabeeh Khoury
14894a66604SRabeeh Khoury&cpm_i2c1 {
14994a66604SRabeeh Khoury	pinctrl-names = "default";
15094a66604SRabeeh Khoury	pinctrl-0 = <&cpm_i2c1_pins>;
15194a66604SRabeeh Khoury	status = "okay";
15294a66604SRabeeh Khoury	clock-frequency = <100000>;
15394a66604SRabeeh Khoury};
15494a66604SRabeeh Khoury
15594a66604SRabeeh Khoury&cpm_sata0 {
15694a66604SRabeeh Khoury	status = "okay";
15794a66604SRabeeh Khoury};
15894a66604SRabeeh Khoury
15994a66604SRabeeh Khoury&cpm_comphy {
16094a66604SRabeeh Khoury	/*
16194a66604SRabeeh Khoury	 * CP0 Serdes Configuration:
16294a66604SRabeeh Khoury	 * Lane 0: PCIe0 (x4)
16394a66604SRabeeh Khoury	 * Lane 1: PCIe0 (x4)
16494a66604SRabeeh Khoury	 * Lane 2: PCIe0 (x4)
16594a66604SRabeeh Khoury	 * Lane 3: PCIe0 (x4)
166cb686454SStefan Roese	 * Lane 4: SFI (10G)
16794a66604SRabeeh Khoury	 * Lane 5: SATA1
16894a66604SRabeeh Khoury	 */
16994a66604SRabeeh Khoury	phy0 {
17094a66604SRabeeh Khoury		phy-type = <PHY_TYPE_PEX0>;
17194a66604SRabeeh Khoury	};
17294a66604SRabeeh Khoury	phy1 {
17394a66604SRabeeh Khoury		phy-type = <PHY_TYPE_PEX0>;
17494a66604SRabeeh Khoury	};
17594a66604SRabeeh Khoury	phy2 {
17694a66604SRabeeh Khoury		phy-type = <PHY_TYPE_PEX0>;
17794a66604SRabeeh Khoury	};
17894a66604SRabeeh Khoury	phy3 {
17994a66604SRabeeh Khoury		phy-type = <PHY_TYPE_PEX0>;
18094a66604SRabeeh Khoury	};
18194a66604SRabeeh Khoury	phy4 {
182cb686454SStefan Roese		phy-type = <PHY_TYPE_SFI>;
18394a66604SRabeeh Khoury	};
18494a66604SRabeeh Khoury	phy5 {
18594a66604SRabeeh Khoury		phy-type = <PHY_TYPE_SATA1>;
18694a66604SRabeeh Khoury	};
18794a66604SRabeeh Khoury};
18894a66604SRabeeh Khoury
18994a66604SRabeeh Khoury&cps_sata0 {
19094a66604SRabeeh Khoury	status = "okay";
19194a66604SRabeeh Khoury};
19294a66604SRabeeh Khoury
19394a66604SRabeeh Khoury&cps_usb3_0 {
19494a66604SRabeeh Khoury	vbus-supply = <&reg_usb3h0_vbus>;
19594a66604SRabeeh Khoury	status = "okay";
19694a66604SRabeeh Khoury};
19794a66604SRabeeh Khoury
19894a66604SRabeeh Khoury&cps_utmi0 {
19994a66604SRabeeh Khoury	status = "okay";
20094a66604SRabeeh Khoury};
20194a66604SRabeeh Khoury
20294a66604SRabeeh Khoury&cps_pinctl {
20394a66604SRabeeh Khoury	/*
20494a66604SRabeeh Khoury	 * MPP Bus:
20594a66604SRabeeh Khoury	 * [0-5] TDM
20694a66604SRabeeh Khoury	 * [6,7] CP1_UART 0
20794a66604SRabeeh Khoury	 * [8]   CP1 10G SFP LOS
20894a66604SRabeeh Khoury	 * [9]   CP1 10G PHY RESET
20994a66604SRabeeh Khoury	 * [10]  CP1 10G SFP TX Disable
21094a66604SRabeeh Khoury	 * [11]  CP1 10G SFP Mode
21194a66604SRabeeh Khoury	 * [12]  SPI1 CS1n
21294a66604SRabeeh Khoury	 * [13]  SPI1 MISO (TDM and SPI ROM shared)
21394a66604SRabeeh Khoury	 * [14]  SPI1 CS0n
21494a66604SRabeeh Khoury	 * [15]  SPI1 MOSI (TDM and SPI ROM shared)
21594a66604SRabeeh Khoury	 * [16]  SPI1 CLK (TDM and SPI ROM shared)
21694a66604SRabeeh Khoury	 * [24]  CP1 2.5G SFP TX Disable
21794a66604SRabeeh Khoury	 * [26]  CP0 10G SFP TX Fault
21894a66604SRabeeh Khoury	 * [27]  CP0 10G SFP Mode
21994a66604SRabeeh Khoury	 * [28]  CP0 10G SFP LOS
22094a66604SRabeeh Khoury	 * [29]  CP0 10G SFP TX Disable
22194a66604SRabeeh Khoury	 * [30]  USB Over current indication
22294a66604SRabeeh Khoury	 * [31]  10G Port 0 phy reset
22394a66604SRabeeh Khoury	 * [32-62] = 0xff: Keep default CP1_shared_pins:
22494a66604SRabeeh Khoury	 */
22594a66604SRabeeh Khoury		/*   0    1    2    3    4    5    6    7    8    9 */
22694a66604SRabeeh Khoury	pin-func = < 0x4  0x4  0x4  0x4  0x4  0x4  0x8  0x8  0x0  0x0
22794a66604SRabeeh Khoury		     0x0  0x0  0x3  0x3  0x3  0x3  0x3  0xff 0xff 0xff
22894a66604SRabeeh Khoury		     0xff 0xff 0xff 0xff 0x0  0xff 0x0  0x0  0x0 0x0
22994a66604SRabeeh Khoury		     0x0  0x0  0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
23094a66604SRabeeh Khoury		     0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
23194a66604SRabeeh Khoury		     0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
23294a66604SRabeeh Khoury		     0xff 0xff 0xff>;
23394a66604SRabeeh Khoury};
23494a66604SRabeeh Khoury
23594a66604SRabeeh Khoury&cps_spi1 {
23694a66604SRabeeh Khoury	pinctrl-names = "default";
23794a66604SRabeeh Khoury	pinctrl-0 = <&cps_spi1_pins>;
23894a66604SRabeeh Khoury	status = "okay";
23994a66604SRabeeh Khoury
24094a66604SRabeeh Khoury	spi-flash@0 {
24194a66604SRabeeh Khoury		#address-cells = <1>;
24294a66604SRabeeh Khoury		#size-cells = <1>;
24394a66604SRabeeh Khoury		compatible = "jedec,spi-nor";
24494a66604SRabeeh Khoury		reg = <0>;
24594a66604SRabeeh Khoury		spi-max-frequency = <10000000>;
24694a66604SRabeeh Khoury
24794a66604SRabeeh Khoury		partitions {
24894a66604SRabeeh Khoury			compatible = "fixed-partitions";
24994a66604SRabeeh Khoury			#address-cells = <1>;
25094a66604SRabeeh Khoury			#size-cells = <1>;
25194a66604SRabeeh Khoury
25294a66604SRabeeh Khoury			partition@0 {
25394a66604SRabeeh Khoury				label = "U-Boot";
25494a66604SRabeeh Khoury				reg = <0 0x200000>;
25594a66604SRabeeh Khoury			};
25694a66604SRabeeh Khoury			partition@400000 {
25794a66604SRabeeh Khoury				label = "Filesystem";
25894a66604SRabeeh Khoury				reg = <0x200000 0xce0000>;
25994a66604SRabeeh Khoury			};
26094a66604SRabeeh Khoury		};
26194a66604SRabeeh Khoury	};
26294a66604SRabeeh Khoury};
26394a66604SRabeeh Khoury
26494a66604SRabeeh Khoury&cps_comphy {
26594a66604SRabeeh Khoury	/*
26694a66604SRabeeh Khoury	 * CP1 Serdes Configuration:
267*fdc9e880SStefan Roese	 * Lane 0: SGMII1
26894a66604SRabeeh Khoury	 * Lane 1: SATA 0
26994a66604SRabeeh Khoury	 * Lane 2: USB HOST 0
27094a66604SRabeeh Khoury	 * Lane 3: SATA1
271cb686454SStefan Roese	 * Lane 4: SFI (10G)
27294a66604SRabeeh Khoury	 * Lane 5: SGMII3
27394a66604SRabeeh Khoury	 */
27494a66604SRabeeh Khoury	phy0 {
275*fdc9e880SStefan Roese		phy-type = <PHY_TYPE_SGMII1>;
27694a66604SRabeeh Khoury		phy-speed = <PHY_SPEED_1_25G>;
27794a66604SRabeeh Khoury	};
27894a66604SRabeeh Khoury	phy1 {
27994a66604SRabeeh Khoury		phy-type = <PHY_TYPE_SATA0>;
28094a66604SRabeeh Khoury	};
28194a66604SRabeeh Khoury	phy2 {
28294a66604SRabeeh Khoury		phy-type = <PHY_TYPE_USB3_HOST0>;
28394a66604SRabeeh Khoury	};
28494a66604SRabeeh Khoury	phy3 {
28594a66604SRabeeh Khoury		phy-type = <PHY_TYPE_SATA1>;
28694a66604SRabeeh Khoury	};
28794a66604SRabeeh Khoury	phy4 {
288cb686454SStefan Roese		phy-type = <PHY_TYPE_SFI>;
28994a66604SRabeeh Khoury	};
29094a66604SRabeeh Khoury	phy5 {
29194a66604SRabeeh Khoury		phy-type = <PHY_TYPE_SGMII3>;
29294a66604SRabeeh Khoury	};
29394a66604SRabeeh Khoury};
294