~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm/boot/dts/st/stm32mp157c-ev1.dts

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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 #include <dt-bindings/gpio/gpio.h>
 10 #include <dt-bindings/input/input.h>
 11 #include <dt-bindings/media/video-interfaces.h>
 12 
 13 / {
 14         model = "STMicroelectronics STM32MP157C eval daughter on eval mother";
 15         compatible = "st,stm32mp157c-ev1", "st,stm32mp157c-ed1", "st,stm32mp157";
 16 
 17         aliases {
 18                 serial1 = &usart3;
 19                 ethernet0 = &ethernet0;
 20         };
 21 
 22         chosen {
 23                 stdout-path = "serial0:115200n8";
 24         };
 25 
 26         clocks {
 27                 clk_ext_camera: clk-ext-camera {
 28                         #clock-cells = <0>;
 29                         compatible = "fixed-clock";
 30                         clock-frequency = <24000000>;
 31                 };
 32         };
 33 
 34         joystick {
 35                 compatible = "gpio-keys";
 36                 pinctrl-0 = <&joystick_pins>;
 37                 pinctrl-names = "default";
 38                 button-0 {
 39                         label = "JoySel";
 40                         linux,code = <KEY_ENTER>;
 41                         interrupt-parent = <&stmfx_pinctrl>;
 42                         interrupts = <0 IRQ_TYPE_EDGE_RISING>;
 43                 };
 44                 button-1 {
 45                         label = "JoyDown";
 46                         linux,code = <KEY_DOWN>;
 47                         interrupt-parent = <&stmfx_pinctrl>;
 48                         interrupts = <1 IRQ_TYPE_EDGE_RISING>;
 49                 };
 50                 button-2 {
 51                         label = "JoyLeft";
 52                         linux,code = <KEY_LEFT>;
 53                         interrupt-parent = <&stmfx_pinctrl>;
 54                         interrupts = <2 IRQ_TYPE_EDGE_RISING>;
 55                 };
 56                 button-3 {
 57                         label = "JoyRight";
 58                         linux,code = <KEY_RIGHT>;
 59                         interrupt-parent = <&stmfx_pinctrl>;
 60                         interrupts = <3 IRQ_TYPE_EDGE_RISING>;
 61                 };
 62                 button-4 {
 63                         label = "JoyUp";
 64                         linux,code = <KEY_UP>;
 65                         interrupt-parent = <&stmfx_pinctrl>;
 66                         interrupts = <4 IRQ_TYPE_EDGE_RISING>;
 67                 };
 68         };
 69 
 70         panel_backlight: panel-backlight {
 71                 compatible = "gpio-backlight";
 72                 gpios = <&gpiod 13 GPIO_ACTIVE_LOW>;
 73                 default-on;
 74                 status = "okay";
 75         };
 76 };
 77 
 78 &cec {
 79         pinctrl-names = "default";
 80         pinctrl-0 = <&cec_pins_a>;
 81         status = "okay";
 82 };
 83 
 84 &dcmi {
 85         status = "okay";
 86         pinctrl-names = "default", "sleep";
 87         pinctrl-0 = <&dcmi_pins_a>;
 88         pinctrl-1 = <&dcmi_sleep_pins_a>;
 89 
 90         port {
 91                 dcmi_0: endpoint {
 92                         remote-endpoint = <&ov5640_0>;
 93                         bus-type = <MEDIA_BUS_TYPE_PARALLEL>;
 94                         bus-width = <8>;
 95                         hsync-active = <0>;
 96                         vsync-active = <0>;
 97                         pclk-sample = <1>;
 98                 };
 99         };
100 };
101 
102 &dsi {
103         #address-cells = <1>;
104         #size-cells = <0>;
105         status = "okay";
106 
107         panel@0 {
108                 compatible = "raydium,rm68200";
109                 reg = <0>;
110                 reset-gpios = <&gpiof 15 GPIO_ACTIVE_LOW>;
111                 backlight = <&panel_backlight>;
112                 power-supply = <&v3v3>;
113                 status = "okay";
114 
115                 port {
116                         dsi_panel_in: endpoint {
117                                 remote-endpoint = <&dsi_out>;
118                         };
119                 };
120         };
121 };
122 
123 &dsi_in {
124         remote-endpoint = <&ltdc_ep0_out>;
125 };
126 
127 &dsi_out {
128         remote-endpoint = <&dsi_panel_in>;
129 };
130 
131 &ethernet0 {
132         status = "okay";
133         pinctrl-0 = <&ethernet0_rgmii_pins_a>;
134         pinctrl-1 = <&ethernet0_rgmii_sleep_pins_a>;
135         pinctrl-names = "default", "sleep";
136         phy-mode = "rgmii-id";
137         max-speed = <1000>;
138         phy-handle = <&phy0>;
139 
140         mdio {
141                 #address-cells = <1>;
142                 #size-cells = <0>;
143                 compatible = "snps,dwmac-mdio";
144                 phy0: ethernet-phy@0 {
145                         reg = <0>;
146                 };
147         };
148 };
149 
150 &fmc {
151         pinctrl-names = "default", "sleep";
152         pinctrl-0 = <&fmc_pins_a>;
153         pinctrl-1 = <&fmc_sleep_pins_a>;
154         status = "okay";
155 
156         nand-controller@4,0 {
157                 status = "okay";
158 
159                 nand@0 {
160                         reg = <0>;
161                         nand-on-flash-bbt;
162                         #address-cells = <1>;
163                         #size-cells = <1>;
164                 };
165         };
166 };
167 
168 &i2c2 {
169         pinctrl-names = "default", "sleep";
170         pinctrl-0 = <&i2c2_pins_a>;
171         pinctrl-1 = <&i2c2_sleep_pins_a>;
172         i2c-scl-rising-time-ns = <185>;
173         i2c-scl-falling-time-ns = <20>;
174         status = "okay";
175 
176         ov5640: camera@3c {
177                 compatible = "ovti,ov5640";
178                 reg = <0x3c>;
179                 clocks = <&clk_ext_camera>;
180                 clock-names = "xclk";
181                 AVDD-supply = <&v2v8>;
182                 DOVDD-supply = <&v2v8>;
183                 DVDD-supply = <&v2v8>;
184                 powerdown-gpios = <&stmfx_pinctrl 18 (GPIO_ACTIVE_HIGH | GPIO_PUSH_PULL)>;
185                 reset-gpios = <&stmfx_pinctrl 19 (GPIO_ACTIVE_LOW | GPIO_PUSH_PULL)>;
186                 rotation = <180>;
187                 status = "okay";
188 
189                 port {
190                         ov5640_0: endpoint {
191                                 remote-endpoint = <&dcmi_0>;
192                                 bus-width = <8>;
193                                 data-shift = <2>; /* lines 9:2 are used */
194                                 hsync-active = <0>;
195                                 vsync-active = <0>;
196                                 pclk-sample = <1>;
197                         };
198                 };
199         };
200 
201         stmfx: stmfx@42 {
202                 compatible = "st,stmfx-0300";
203                 reg = <0x42>;
204                 interrupts = <8 IRQ_TYPE_EDGE_RISING>;
205                 interrupt-parent = <&gpioi>;
206                 vdd-supply = <&v3v3>;
207 
208                 stmfx_pinctrl: pinctrl {
209                         compatible = "st,stmfx-0300-pinctrl";
210                         gpio-controller;
211                         #gpio-cells = <2>;
212                         interrupt-controller;
213                         #interrupt-cells = <2>;
214                         gpio-ranges = <&stmfx_pinctrl 0 0 24>;
215 
216                         joystick_pins: joystick-pins {
217                                 pins = "gpio0", "gpio1", "gpio2", "gpio3", "gpio4";
218                                 bias-pull-down;
219                         };
220                 };
221         };
222 };
223 
224 &i2c5 {
225         pinctrl-names = "default", "sleep";
226         pinctrl-0 = <&i2c5_pins_a>;
227         pinctrl-1 = <&i2c5_sleep_pins_a>;
228         i2c-scl-rising-time-ns = <185>;
229         i2c-scl-falling-time-ns = <20>;
230         status = "okay";
231 };
232 
233 &ltdc {
234         status = "okay";
235 
236         port {
237                 ltdc_ep0_out: endpoint {
238                         remote-endpoint = <&dsi_in>;
239                 };
240         };
241 };
242 
243 &m_can1 {
244         pinctrl-names = "default", "sleep";
245         pinctrl-0 = <&m_can1_pins_a>;
246         pinctrl-1 = <&m_can1_sleep_pins_a>;
247         status = "okay";
248 };
249 
250 &qspi {
251         pinctrl-names = "default", "sleep";
252         pinctrl-0 = <&qspi_clk_pins_a
253                      &qspi_bk1_pins_a
254                      &qspi_cs1_pins_a
255                      &qspi_bk2_pins_a
256                      &qspi_cs2_pins_a>;
257         pinctrl-1 = <&qspi_clk_sleep_pins_a
258                      &qspi_bk1_sleep_pins_a
259                      &qspi_cs1_sleep_pins_a
260                      &qspi_bk2_sleep_pins_a
261                      &qspi_cs2_sleep_pins_a>;
262         reg = <0x58003000 0x1000>, <0x70000000 0x4000000>;
263         #address-cells = <1>;
264         #size-cells = <0>;
265         status = "okay";
266 
267         flash0: flash@0 {
268                 compatible = "jedec,spi-nor";
269                 reg = <0>;
270                 spi-rx-bus-width = <4>;
271                 spi-max-frequency = <108000000>;
272                 #address-cells = <1>;
273                 #size-cells = <1>;
274         };
275 
276         flash1: flash@1 {
277                 compatible = "jedec,spi-nor";
278                 reg = <1>;
279                 spi-rx-bus-width = <4>;
280                 spi-max-frequency = <108000000>;
281                 #address-cells = <1>;
282                 #size-cells = <1>;
283         };
284 };
285 
286 &sdmmc3 {
287         pinctrl-names = "default", "opendrain", "sleep";
288         pinctrl-0 = <&sdmmc3_b4_pins_a>;
289         pinctrl-1 = <&sdmmc3_b4_od_pins_a>;
290         pinctrl-2 = <&sdmmc3_b4_sleep_pins_a>;
291         broken-cd;
292         st,neg-edge;
293         bus-width = <4>;
294         vmmc-supply = <&v3v3>;
295         status = "disabled";
296 };
297 
298 &spi1 {
299         pinctrl-names = "default";
300         pinctrl-0 = <&spi1_pins_a>;
301         status = "disabled";
302 };
303 
304 &timers2 {
305         /* spare dmas for other usage (un-delete to enable pwm capture) */
306         /delete-property/dmas;
307         /delete-property/dma-names;
308         status = "disabled";
309         pwm {
310                 pinctrl-0 = <&pwm2_pins_a>;
311                 pinctrl-1 = <&pwm2_sleep_pins_a>;
312                 pinctrl-names = "default", "sleep";
313                 status = "okay";
314         };
315         timer@1 {
316                 status = "okay";
317         };
318 };
319 
320 &timers8 {
321         /delete-property/dmas;
322         /delete-property/dma-names;
323         status = "disabled";
324         pwm {
325                 pinctrl-0 = <&pwm8_pins_a>;
326                 pinctrl-1 = <&pwm8_sleep_pins_a>;
327                 pinctrl-names = "default", "sleep";
328                 status = "okay";
329         };
330         timer@7 {
331                 status = "okay";
332         };
333 };
334 
335 &timers12 {
336         /delete-property/dmas;
337         /delete-property/dma-names;
338         status = "disabled";
339         pwm {
340                 pinctrl-0 = <&pwm12_pins_a>;
341                 pinctrl-1 = <&pwm12_sleep_pins_a>;
342                 pinctrl-names = "default", "sleep";
343                 status = "okay";
344         };
345         timer@11 {
346                 status = "okay";
347         };
348 };
349 
350 &usart3 {
351         pinctrl-names = "default", "sleep", "idle";
352         pinctrl-0 = <&usart3_pins_b>;
353         pinctrl-1 = <&usart3_sleep_pins_b>;
354         pinctrl-2 = <&usart3_idle_pins_b>;
355         /*
356          * HW flow control USART3_RTS is optional, and isn't default wired to
357          * the connector. SB23 needs to be soldered in order to use it, and R77
358          * (ETH_CLK) should be removed.
359          */
360         uart-has-rtscts;
361         status = "disabled";
362 };
363 
364 &usbh_ehci {
365         status = "okay";
366         #address-cells = <1>;
367         #size-cells = <0>;
368         /* onboard HUB */
369         hub@1 {
370                 compatible = "usb424,2514";
371                 reg = <1>;
372                 vdd-supply = <&v3v3>;
373         };
374 };
375 
376 &usbotg_hs {
377         pinctrl-0 = <&usbotg_hs_pins_a>;
378         pinctrl-names = "default";
379         phys = <&usbphyc_port1 0>;
380         phy-names = "usb2-phy";
381         status = "okay";
382 };
383 
384 &usbphyc {
385         status = "okay";
386 };
387 
388 &usbphyc_port0 {
389         st,tune-hs-dc-level = <2>;
390         st,enable-fs-rftime-tuning;
391         st,enable-hs-rftime-reduction;
392         st,trim-hs-current = <15>;
393         st,trim-hs-impedance = <1>;
394         st,tune-squelch-level = <3>;
395         st,tune-hs-rx-offset = <2>;
396         st,no-lsfs-sc;
397 
398         connector {
399                 compatible = "usb-a-connector";
400                 vbus-supply = <&vbus_sw>;
401         };
402 };
403 
404 &usbphyc_port1 {
405         st,tune-hs-dc-level = <2>;
406         st,enable-fs-rftime-tuning;
407         st,enable-hs-rftime-reduction;
408         st,trim-hs-current = <15>;
409         st,trim-hs-impedance = <1>;
410         st,tune-squelch-level = <3>;
411         st,tune-hs-rx-offset = <2>;
412         st,no-lsfs-sc;
413 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php