1/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) */
2/*
3 * Copyright (C) 2020 STMicroelectronics - All Rights Reserved
4 * Copyright (C) 2020 Ahmad Fatoum, Pengutronix
5 */
6
7/dts-v1/;
8
9#include "stm32mp157.dtsi"
10#include "stm32mp15xc.dtsi"
11#include "stm32mp15-ddr3-1x4Gb-1066-binG.dtsi"
12#include "stm32mp15xx-osd32.dtsi"
13#include "stm32mp15xxac-pinctrl.dtsi"
14
15/ {
16	model = "Linux Automation MC-1 board";
17	compatible = "lxa,stm32mp157c-mc1", "oct,stm32mp15xx-osd32", "st,stm32mp157";
18
19	aliases {
20		mmc0 = &sdmmc1;
21		mmc1 = &sdmmc2;
22		serial0 = &uart4;
23	};
24
25	chosen {
26		stdout-path = &uart4;
27	};
28
29	led-act {
30		compatible = "gpio-leds";
31
32		led-green {
33			label = "mc1:green:act";
34			gpios = <&gpioa 13 1>;
35			linux,default-trigger = "heartbeat";
36		};
37	};
38
39	reg_3v3: regulator_3v3 {
40		compatible = "regulator-fixed";
41		regulator-name = "3V3";
42		regulator-min-microvolt = <3300000>;
43		regulator-max-microvolt = <3300000>;
44		regulator-always-on;
45		vin-supply = <&v3v3>;
46	};
47};
48
49&sdmmc1 {
50	pinctrl-names = "default";
51	pinctrl-0 = <&sdmmc1_b4_pins_a>;
52	bus-width = <4>;
53	cd-gpios = <&gpioh 3 1>;
54	disable-wp;
55	no-1-8-v;
56	st,neg-edge;
57	vmmc-supply = <&reg_3v3>;
58	status = "okay";
59};
60
61&sdmmc1_b4_pins_a {
62	/*
63	 * board lacks external pull-ups on SDMMC lines. Class 10 SD refuses to
64	 * work, thus enable internal pull-ups.
65	 */
66	pins1 {
67		/delete-property/ bias-disable;
68		bias-pull-up;
69	};
70	pins2 {
71		/delete-property/ bias-disable;
72		bias-pull-up;
73	};
74};
75
76&sdmmc2 {
77	pinctrl-names = "default";
78	pinctrl-0 = <&sdmmc2_b4_pins_a &mc1_sdmmc2_d47_pins_b>;
79	bus-width = <8>;
80	no-1-8-v;
81	no-sd;
82	no-sdio;
83	non-removable;
84	st,neg-edge;
85	vmmc-supply = <&reg_3v3>;
86	status = "okay";
87};
88
89&uart4 {
90	pinctrl-names = "default";
91	pinctrl-0 = <&uart4_pins_a>;
92	status = "okay";
93};
94
95&pinctrl {
96	mc1_sdmmc2_d47_pins_b: mc1-sdmmc2-d47-1 {
97		pins {
98			pinmux = <STM32_PINMUX('A', 8, AF9)>,  /* SDMMC2_D4 */
99				 <STM32_PINMUX('A', 9, AF10)>, /* SDMMC2_D5 */
100				 <STM32_PINMUX('C', 6, AF10)>, /* SDMMC2_D6 */
101				 <STM32_PINMUX('C', 7, AF10)>; /* SDMMC2_D7 */
102			slew-rate = <1>;
103			drive-push-pull;
104			bias-disable;
105		};
106	};
107};
108