xref: /openbmc/linux/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
17a2aeb91SLi Yang// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2b20ca2afSShaohui Xie/*
3b20ca2afSShaohui Xie * Device Tree Include file for Freescale Layerscape-1046A family SoC.
4b20ca2afSShaohui Xie *
58637f58bSLi Yang * Copyright 2016 Freescale Semiconductor, Inc.
663c39641SLi Yang * Copyright 2018-2019 NXP
7b20ca2afSShaohui Xie *
8b20ca2afSShaohui Xie * Shaohui Xie <Shaohui.Xie@nxp.com>
9b20ca2afSShaohui Xie */
10b20ca2afSShaohui Xie
11b20ca2afSShaohui Xie/dts-v1/;
12b20ca2afSShaohui Xie
13b20ca2afSShaohui Xie#include "fsl-ls1046a.dtsi"
14b20ca2afSShaohui Xie
15b20ca2afSShaohui Xie/ {
16b20ca2afSShaohui Xie	model = "LS1046A QDS Board";
17b20ca2afSShaohui Xie	compatible = "fsl,ls1046a-qds", "fsl,ls1046a";
18b20ca2afSShaohui Xie
19b20ca2afSShaohui Xie	aliases {
2063c39641SLi Yang		emi1-slot1 = &ls1046mdio_s1;
2163c39641SLi Yang		emi1-slot2 = &ls1046mdio_s2;
2263c39641SLi Yang		emi1-slot4 = &ls1046mdio_s4;
23b20ca2afSShaohui Xie		gpio0 = &gpio0;
24b20ca2afSShaohui Xie		gpio1 = &gpio1;
25b20ca2afSShaohui Xie		gpio2 = &gpio2;
26b20ca2afSShaohui Xie		gpio3 = &gpio3;
2763c39641SLi Yang		qsgmii-s2-p1 = &qsgmii_phy_s2_p1;
2863c39641SLi Yang		qsgmii-s2-p2 = &qsgmii_phy_s2_p2;
2963c39641SLi Yang		qsgmii-s2-p3 = &qsgmii_phy_s2_p3;
3063c39641SLi Yang		qsgmii-s2-p4 = &qsgmii_phy_s2_p4;
31b20ca2afSShaohui Xie		serial0 = &duart0;
32b20ca2afSShaohui Xie		serial1 = &duart1;
33b20ca2afSShaohui Xie		serial2 = &duart2;
34b20ca2afSShaohui Xie		serial3 = &duart3;
3563c39641SLi Yang		sgmii-s1-p1 = &sgmii_phy_s1_p1;
3663c39641SLi Yang		sgmii-s1-p2 = &sgmii_phy_s1_p2;
3763c39641SLi Yang		sgmii-s1-p3 = &sgmii_phy_s1_p3;
3863c39641SLi Yang		sgmii-s1-p4 = &sgmii_phy_s1_p4;
3963c39641SLi Yang		sgmii-s4-p1 = &sgmii_phy_s4_p1;
40b20ca2afSShaohui Xie	};
41b20ca2afSShaohui Xie
42b20ca2afSShaohui Xie	chosen {
43b20ca2afSShaohui Xie		stdout-path = "serial0:115200n8";
44b20ca2afSShaohui Xie	};
45b20ca2afSShaohui Xie};
46b20ca2afSShaohui Xie
47b20ca2afSShaohui Xie&dspi {
48b20ca2afSShaohui Xie	bus-num = <0>;
49b20ca2afSShaohui Xie	status = "okay";
50b20ca2afSShaohui Xie
51b20ca2afSShaohui Xie	flash@0 {
52b20ca2afSShaohui Xie		#address-cells = <1>;
53b20ca2afSShaohui Xie		#size-cells = <1>;
54b20ca2afSShaohui Xie		compatible = "n25q128a11", "jedec,spi-nor";
55b20ca2afSShaohui Xie		reg = <0>;
56b20ca2afSShaohui Xie		spi-max-frequency = <10000000>;
57b20ca2afSShaohui Xie	};
58b20ca2afSShaohui Xie
59b20ca2afSShaohui Xie	flash@1 {
60b20ca2afSShaohui Xie		#address-cells = <1>;
61b20ca2afSShaohui Xie		#size-cells = <1>;
62b20ca2afSShaohui Xie		compatible = "sst25wf040b", "jedec,spi-nor";
63b20ca2afSShaohui Xie		spi-cpol;
64b20ca2afSShaohui Xie		spi-cpha;
65b20ca2afSShaohui Xie		reg = <1>;
66b20ca2afSShaohui Xie		spi-max-frequency = <10000000>;
67b20ca2afSShaohui Xie	};
68b20ca2afSShaohui Xie
69b20ca2afSShaohui Xie	flash@2 {
70b20ca2afSShaohui Xie		#address-cells = <1>;
71b20ca2afSShaohui Xie		#size-cells = <1>;
72b20ca2afSShaohui Xie		compatible = "en25s64", "jedec,spi-nor";
73b20ca2afSShaohui Xie		spi-cpol;
74b20ca2afSShaohui Xie		spi-cpha;
75b20ca2afSShaohui Xie		reg = <2>;
76b20ca2afSShaohui Xie		spi-max-frequency = <10000000>;
77b20ca2afSShaohui Xie	};
78b20ca2afSShaohui Xie};
79b20ca2afSShaohui Xie
80b20ca2afSShaohui Xie&duart0 {
81b20ca2afSShaohui Xie	status = "okay";
82b20ca2afSShaohui Xie};
83b20ca2afSShaohui Xie
84b20ca2afSShaohui Xie&duart1 {
85b20ca2afSShaohui Xie	status = "okay";
86b20ca2afSShaohui Xie};
87b20ca2afSShaohui Xie
88b20ca2afSShaohui Xie&i2c0 {
89b20ca2afSShaohui Xie	status = "okay";
90b20ca2afSShaohui Xie
91*b025b4f5SGeert Uytterhoeven	i2c-mux@77 {
92b20ca2afSShaohui Xie		compatible = "nxp,pca9547";
93b20ca2afSShaohui Xie		reg = <0x77>;
94b20ca2afSShaohui Xie		#address-cells = <1>;
95b20ca2afSShaohui Xie		#size-cells = <0>;
96b20ca2afSShaohui Xie
97b20ca2afSShaohui Xie		i2c@2 {
98b20ca2afSShaohui Xie			#address-cells = <1>;
99b20ca2afSShaohui Xie			#size-cells = <0>;
100b20ca2afSShaohui Xie			reg = <0x2>;
101b20ca2afSShaohui Xie
102b20ca2afSShaohui Xie			ina220@40 {
103b20ca2afSShaohui Xie				compatible = "ti,ina220";
104b20ca2afSShaohui Xie				reg = <0x40>;
105b20ca2afSShaohui Xie				shunt-resistor = <1000>;
106b20ca2afSShaohui Xie			};
107b20ca2afSShaohui Xie
108b20ca2afSShaohui Xie			ina220@41 {
109b20ca2afSShaohui Xie				compatible = "ti,ina220";
110b20ca2afSShaohui Xie				reg = <0x41>;
111b20ca2afSShaohui Xie				shunt-resistor = <1000>;
112b20ca2afSShaohui Xie			};
113b20ca2afSShaohui Xie		};
114b20ca2afSShaohui Xie
115b20ca2afSShaohui Xie		i2c@3 {
116b20ca2afSShaohui Xie			#address-cells = <1>;
117b20ca2afSShaohui Xie			#size-cells = <0>;
118b20ca2afSShaohui Xie			reg = <0x3>;
119b20ca2afSShaohui Xie
120b20ca2afSShaohui Xie			rtc@51 {
121b20ca2afSShaohui Xie				compatible = "nxp,pcf2129";
122b20ca2afSShaohui Xie				reg = <0x51>;
123b20ca2afSShaohui Xie				/* IRQ10_B */
124b20ca2afSShaohui Xie				interrupts = <0 150 0x4>;
125b20ca2afSShaohui Xie			};
126b20ca2afSShaohui Xie
127b20ca2afSShaohui Xie			eeprom@56 {
128b20ca2afSShaohui Xie				compatible = "atmel,24c512";
129b20ca2afSShaohui Xie				reg = <0x56>;
130b20ca2afSShaohui Xie			};
131b20ca2afSShaohui Xie
132b20ca2afSShaohui Xie			eeprom@57 {
133b20ca2afSShaohui Xie				compatible = "atmel,24c512";
134b20ca2afSShaohui Xie				reg = <0x57>;
135b20ca2afSShaohui Xie			};
136b20ca2afSShaohui Xie
137b20ca2afSShaohui Xie			temp-sensor@4c {
138b20ca2afSShaohui Xie				compatible = "adi,adt7461a";
139b20ca2afSShaohui Xie				reg = <0x4c>;
140b20ca2afSShaohui Xie			};
141b20ca2afSShaohui Xie		};
142b20ca2afSShaohui Xie	};
143b20ca2afSShaohui Xie};
144b20ca2afSShaohui Xie
145b20ca2afSShaohui Xie&ifc {
146b20ca2afSShaohui Xie	#address-cells = <2>;
147b20ca2afSShaohui Xie	#size-cells = <1>;
148b20ca2afSShaohui Xie	/* NOR, NAND Flashes and FPGA on board */
149b20ca2afSShaohui Xie	ranges = <0x0 0x0 0x0 0x60000000 0x08000000
150b20ca2afSShaohui Xie		  0x1 0x0 0x0 0x7e800000 0x00010000
151b20ca2afSShaohui Xie		  0x2 0x0 0x0 0x7fb00000 0x00000100>;
152b20ca2afSShaohui Xie	status = "okay";
153b20ca2afSShaohui Xie
154b20ca2afSShaohui Xie	nor@0,0 {
155b20ca2afSShaohui Xie		compatible = "cfi-flash";
156b20ca2afSShaohui Xie		reg = <0x0 0x0 0x8000000>;
15703444ad8SPrabhakar Kushwaha		big-endian;
158b20ca2afSShaohui Xie		bank-width = <2>;
159b20ca2afSShaohui Xie		device-width = <1>;
160b20ca2afSShaohui Xie	};
161b20ca2afSShaohui Xie
162b20ca2afSShaohui Xie	nand@1,0 {
163b20ca2afSShaohui Xie		compatible = "fsl,ifc-nand";
164b20ca2afSShaohui Xie		reg = <0x1 0x0 0x10000>;
165b20ca2afSShaohui Xie	};
166b20ca2afSShaohui Xie
167b20ca2afSShaohui Xie	fpga: board-control@2,0 {
16863c39641SLi Yang		compatible = "fsl,ls1046aqds-fpga", "fsl,fpga-qixis", "simple-mfd";
169b20ca2afSShaohui Xie		reg = <0x2 0x0 0x0000100>;
17063c39641SLi Yang		ranges = <0 2 0 0x100>;
171b20ca2afSShaohui Xie	};
172b20ca2afSShaohui Xie};
173b20ca2afSShaohui Xie
174b20ca2afSShaohui Xie&lpuart0 {
175b20ca2afSShaohui Xie	status = "okay";
176b20ca2afSShaohui Xie};
177b20ca2afSShaohui Xie
178b20ca2afSShaohui Xie&qspi {
179b20ca2afSShaohui Xie	status = "okay";
180b20ca2afSShaohui Xie
1811ba67dafSAlexandre Belloni	qflash0: flash@0 {
182b20ca2afSShaohui Xie		compatible = "spansion,m25p80";
183b20ca2afSShaohui Xie		#address-cells = <1>;
184b20ca2afSShaohui Xie		#size-cells = <1>;
185d4e87e4eSPankaj Bansal		spi-max-frequency = <50000000>;
18630648e9fSFrieder Schrempf		spi-rx-bus-width = <4>;
18730648e9fSFrieder Schrempf		spi-tx-bus-width = <4>;
188b20ca2afSShaohui Xie		reg = <0>;
189b20ca2afSShaohui Xie	};
190b20ca2afSShaohui Xie};
1913fa395d2SMadalin Bucur
1923fa395d2SMadalin Bucur#include "fsl-ls1046-post.dtsi"
19363c39641SLi Yang
19463c39641SLi Yang&fman0 {
19563c39641SLi Yang	ethernet@e0000 {
19663c39641SLi Yang		phy-handle = <&qsgmii_phy_s2_p1>;
19763c39641SLi Yang		phy-connection-type = "sgmii";
19863c39641SLi Yang	};
19963c39641SLi Yang
20063c39641SLi Yang	ethernet@e2000 {
20163c39641SLi Yang		phy-handle = <&sgmii_phy_s4_p1>;
20263c39641SLi Yang		phy-connection-type = "sgmii";
20363c39641SLi Yang	};
20463c39641SLi Yang
20563c39641SLi Yang	ethernet@e4000 {
20663c39641SLi Yang		phy-handle = <&rgmii_phy1>;
20763c39641SLi Yang		phy-connection-type = "rgmii";
20863c39641SLi Yang	};
20963c39641SLi Yang
21063c39641SLi Yang	ethernet@e6000 {
21163c39641SLi Yang		phy-handle = <&rgmii_phy2>;
21263c39641SLi Yang		phy-connection-type = "rgmii";
21363c39641SLi Yang	};
21463c39641SLi Yang
21563c39641SLi Yang	ethernet@e8000 {
21663c39641SLi Yang		phy-handle = <&sgmii_phy_s1_p3>;
21763c39641SLi Yang		phy-connection-type = "sgmii";
21863c39641SLi Yang	};
21963c39641SLi Yang
22063c39641SLi Yang	ethernet@ea000 {
22163c39641SLi Yang		phy-handle = <&sgmii_phy_s1_p4>;
22263c39641SLi Yang		phy-connection-type = "sgmii";
22363c39641SLi Yang	};
22463c39641SLi Yang
22563c39641SLi Yang	ethernet@f0000 { /* DTSEC9/10GEC1 */
22663c39641SLi Yang		phy-handle = <&sgmii_phy_s1_p1>;
22763c39641SLi Yang		phy-connection-type = "xgmii";
22863c39641SLi Yang	};
22963c39641SLi Yang
23063c39641SLi Yang	ethernet@f2000 { /* DTSEC10/10GEC2 */
23163c39641SLi Yang		phy-handle = <&sgmii_phy_s1_p2>;
23263c39641SLi Yang		phy-connection-type = "xgmii";
23363c39641SLi Yang	};
23463c39641SLi Yang};
23563c39641SLi Yang
23663c39641SLi Yang&fpga {
23763c39641SLi Yang	#address-cells = <1>;
23863c39641SLi Yang	#size-cells = <1>;
23963c39641SLi Yang
24063c39641SLi Yang	mdio-mux-emi1 {
24163c39641SLi Yang		compatible = "mdio-mux-mmioreg", "mdio-mux";
24263c39641SLi Yang		mdio-parent-bus = <&mdio0>;
24363c39641SLi Yang		#address-cells = <1>;
24463c39641SLi Yang		#size-cells = <0>;
24563c39641SLi Yang		reg = <0x54 1>;    /* BRDCFG4 */
24663c39641SLi Yang		mux-mask = <0xe0>; /* EMI1 */
24763c39641SLi Yang
24863c39641SLi Yang		/* On-board RGMII1 PHY */
24963c39641SLi Yang		ls1046mdio0: mdio@0 {
25063c39641SLi Yang			reg = <0>;
25163c39641SLi Yang			#address-cells = <1>;
25263c39641SLi Yang			#size-cells = <0>;
25363c39641SLi Yang
25463c39641SLi Yang			rgmii_phy1: ethernet-phy@1 { /* MAC3 */
25563c39641SLi Yang				reg = <0x1>;
25663c39641SLi Yang			};
25763c39641SLi Yang		};
25863c39641SLi Yang
25963c39641SLi Yang		/* On-board RGMII2 PHY */
26063c39641SLi Yang		ls1046mdio1: mdio@1 {
26163c39641SLi Yang			reg = <0x20>;
26263c39641SLi Yang			#address-cells = <1>;
26363c39641SLi Yang			#size-cells = <0>;
26463c39641SLi Yang
26563c39641SLi Yang			rgmii_phy2: ethernet-phy@2 { /* MAC4 */
26663c39641SLi Yang				reg = <0x2>;
26763c39641SLi Yang			};
26863c39641SLi Yang		};
26963c39641SLi Yang
27063c39641SLi Yang		/* Slot 1 */
27163c39641SLi Yang		ls1046mdio_s1: mdio@2 {
27263c39641SLi Yang			reg = <0x40>;
27363c39641SLi Yang			#address-cells = <1>;
27463c39641SLi Yang			#size-cells = <0>;
27563c39641SLi Yang			status = "disabled";
27663c39641SLi Yang
27763c39641SLi Yang			sgmii_phy_s1_p1: ethernet-phy@1c {
27863c39641SLi Yang				reg = <0x1c>;
27963c39641SLi Yang			};
28063c39641SLi Yang
28163c39641SLi Yang			sgmii_phy_s1_p2: ethernet-phy@1d {
28263c39641SLi Yang				reg = <0x1d>;
28363c39641SLi Yang			};
28463c39641SLi Yang
28563c39641SLi Yang			sgmii_phy_s1_p3: ethernet-phy@1e {
28663c39641SLi Yang				reg = <0x1e>;
28763c39641SLi Yang			};
28863c39641SLi Yang
28963c39641SLi Yang			sgmii_phy_s1_p4: ethernet-phy@1f {
29063c39641SLi Yang				reg = <0x1f>;
29163c39641SLi Yang			};
29263c39641SLi Yang		};
29363c39641SLi Yang
29463c39641SLi Yang		/* Slot 2 */
29563c39641SLi Yang		ls1046mdio_s2: mdio@3 {
29663c39641SLi Yang			reg = <0x60>;
29763c39641SLi Yang			#address-cells = <1>;
29863c39641SLi Yang			#size-cells = <0>;
29963c39641SLi Yang			status = "disabled";
30063c39641SLi Yang
30163c39641SLi Yang			qsgmii_phy_s2_p1: ethernet-phy@8 {
30263c39641SLi Yang				reg = <0x8>;
30363c39641SLi Yang			};
30463c39641SLi Yang
30563c39641SLi Yang			qsgmii_phy_s2_p2: ethernet-phy@9 {
30663c39641SLi Yang				reg = <0x9>;
30763c39641SLi Yang			};
30863c39641SLi Yang
30963c39641SLi Yang			qsgmii_phy_s2_p3: ethernet-phy@a {
31063c39641SLi Yang				reg = <0xa>;
31163c39641SLi Yang			};
31263c39641SLi Yang
31363c39641SLi Yang			qsgmii_phy_s2_p4: ethernet-phy@b {
31463c39641SLi Yang				reg = <0xb>;
31563c39641SLi Yang			};
31663c39641SLi Yang		};
31763c39641SLi Yang
31863c39641SLi Yang		/* Slot 4 */
31963c39641SLi Yang		ls1046mdio_s4: mdio@5 {
32063c39641SLi Yang			reg = <0x80>;
32163c39641SLi Yang			#address-cells = <1>;
32263c39641SLi Yang			#size-cells = <0>;
32363c39641SLi Yang			status = "disabled";
32463c39641SLi Yang
32563c39641SLi Yang			sgmii_phy_s4_p1: ethernet-phy@1c {
32663c39641SLi Yang				reg = <0x1c>;
32763c39641SLi Yang			};
32863c39641SLi Yang		};
32963c39641SLi Yang	};
33063c39641SLi Yang};
331