ARM: dts: Add STMFX gpio expander support for stm32mp157c-ev1
[oweals/u-boot.git] / arch / arm / dts / stm32mp157c-ev1.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2 /*
3  * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
4  * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
5  */
6 /dts-v1/;
7
8 #include "stm32mp157c-ed1.dts"
9
10 / {
11         model = "STMicroelectronics STM32MP157C eval daughter on eval mother";
12         compatible = "st,stm32mp157c-ev1", "st,stm32mp157c-ed1", "st,stm32mp157";
13
14         chosen {
15                 stdout-path = "serial0:115200n8";
16         };
17
18         aliases {
19                 serial0 = &uart4;
20                 ethernet0 = &ethernet0;
21         };
22
23         panel_backlight: panel-backlight {
24                 compatible = "gpio-backlight";
25                 gpios = <&gpiod 13 GPIO_ACTIVE_LOW>;
26                 default-on;
27                 status = "okay";
28         };
29 };
30
31 &cec {
32         pinctrl-names = "default";
33         pinctrl-0 = <&cec_pins_a>;
34         status = "okay";
35 };
36
37 &dsi {
38         #address-cells = <1>;
39         #size-cells = <0>;
40         status = "okay";
41
42         ports {
43                 #address-cells = <1>;
44                 #size-cells = <0>;
45
46                 port@0 {
47                         reg = <0>;
48                         dsi_in: endpoint {
49                                 remote-endpoint = <&ltdc_ep0_out>;
50                         };
51                 };
52
53                 port@1 {
54                         reg = <1>;
55                         dsi_out: endpoint {
56                                 remote-endpoint = <&dsi_panel_in>;
57                         };
58                 };
59         };
60
61         panel-dsi@0 {
62                 compatible = "raydium,rm68200";
63                 reg = <0>;
64                 reset-gpios = <&gpiof 15 GPIO_ACTIVE_LOW>;
65                 backlight = <&panel_backlight>;
66                 status = "okay";
67
68                 port {
69                         dsi_panel_in: endpoint {
70                                 remote-endpoint = <&dsi_out>;
71                         };
72                 };
73         };
74 };
75
76 &ethernet0 {
77         status = "okay";
78         pinctrl-0 = <&ethernet0_rgmii_pins_a>;
79         pinctrl-1 = <&ethernet0_rgmii_pins_sleep_a>;
80         pinctrl-names = "default", "sleep";
81         phy-mode = "rgmii";
82         max-speed = <1000>;
83         phy-handle = <&phy0>;
84
85         mdio0 {
86                 #address-cells = <1>;
87                 #size-cells = <0>;
88                 compatible = "snps,dwmac-mdio";
89                 phy0: ethernet-phy@0 {
90                         reg = <0>;
91                 };
92         };
93 };
94
95 &i2c2 {
96         pinctrl-names = "default";
97         pinctrl-0 = <&i2c2_pins_a>;
98         i2c-scl-rising-time-ns = <185>;
99         i2c-scl-falling-time-ns = <20>;
100         status = "okay";
101
102         stmfx: stmfx@42 {
103                 compatible = "st,stmfx-0300";
104                 reg = <0x42>;
105                 interrupts = <8 IRQ_TYPE_EDGE_RISING>;
106                 interrupt-parent = <&gpioi>;
107                 vdd-supply = <&v3v3>;
108
109                 stmfx_pinctrl: stmfx-pin-controller {
110                         compatible = "st,stmfx-0300-pinctrl";
111                         gpio-controller;
112                         #gpio-cells = <2>;
113                         interrupt-controller;
114                         #interrupt-cells = <2>;
115                         gpio-ranges = <&stmfx_pinctrl 0 0 24>;
116                         status = "disabled";
117                 };
118         };
119 };
120
121 &i2c5 {
122         pinctrl-names = "default";
123         pinctrl-0 = <&i2c5_pins_a>;
124         i2c-scl-rising-time-ns = <185>;
125         i2c-scl-falling-time-ns = <20>;
126         status = "okay";
127 };
128
129 &ltdc {
130         status = "okay";
131
132         port {
133                 #address-cells = <1>;
134                 #size-cells = <0>;
135
136                 ltdc_ep0_out: endpoint@0 {
137                         reg = <0>;
138                         remote-endpoint = <&dsi_in>;
139                 };
140         };
141 };
142
143 &m_can1 {
144         pinctrl-names = "default";
145         pinctrl-0 = <&m_can1_pins_a>;
146         status = "okay";
147 };
148
149 &qspi {
150         pinctrl-names = "default";
151         pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a &qspi_bk2_pins_a>;
152         reg = <0x58003000 0x1000>, <0x70000000 0x4000000>;
153         #address-cells = <1>;
154         #size-cells = <0>;
155         status = "okay";
156
157         flash0: mx66l51235l@0 {
158                 reg = <0>;
159                 spi-rx-bus-width = <4>;
160                 spi-max-frequency = <108000000>;
161                 #address-cells = <1>;
162                 #size-cells = <1>;
163         };
164
165         flash1: mx66l51235l@1 {
166                 reg = <1>;
167                 spi-rx-bus-width = <4>;
168                 spi-max-frequency = <108000000>;
169                 #address-cells = <1>;
170                 #size-cells = <1>;
171         };
172 };
173
174 &spi1 {
175         pinctrl-names = "default";
176         pinctrl-0 = <&spi1_pins_a>;
177         status = "disabled";
178 };
179
180 &timers2 {
181         status = "disabled";
182         pwm {
183                 pinctrl-0 = <&pwm2_pins_a>;
184                 pinctrl-names = "default";
185                 status = "okay";
186         };
187         timer@1 {
188                 status = "okay";
189         };
190 };
191
192 &timers8 {
193         status = "disabled";
194         pwm {
195                 pinctrl-0 = <&pwm8_pins_a>;
196                 pinctrl-names = "default";
197                 status = "okay";
198         };
199         timer@7 {
200                 status = "okay";
201         };
202 };
203
204 &timers12 {
205         status = "disabled";
206         pwm {
207                 pinctrl-0 = <&pwm12_pins_a>;
208                 pinctrl-names = "default";
209                 status = "okay";
210         };
211         timer@11 {
212                 status = "okay";
213         };
214 };
215
216 &usbh_ehci {
217         phys = <&usbphyc_port0>;
218         phy-names = "usb";
219         vbus-supply = <&vbus_sw>;
220         status = "okay";
221 };
222
223 &usbotg_hs {
224         pinctrl-names = "default";
225         pinctrl-0 = <&usbotg_hs_pins_a>;
226         dr_mode = "peripheral";
227         phys = <&usbphyc_port1 0>;
228         phy-names = "usb2-phy";
229         status = "okay";
230 };
231
232 &usbphyc {
233         status = "okay";
234 };