1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Copyright (C) 2019 MediaTek Inc.
4 * Author: Mingming Lee <mingming.lee@mediatek.com>
5 *
6 */
7
8/dts-v1/;
9
10#include <config.h>
11#include "mt8512.dtsi"
12
13/ {
14	#address-cells = <1>;
15	#size-cells = <1>;
16
17	model = "MT8512 BM1 EMMC";
18
19	chosen {
20		stdout-path = &uart0;
21		tick-timer = &timer0;
22	};
23
24	memory@40000000 {
25		device_type = "memory";
26		reg = <0x40000000 0x20000000>;
27	};
28
29	reg_1p8v: regulator-1p8v {
30		compatible = "regulator-fixed";
31		regulator-name = "fixed-1.8V";
32		regulator-min-microvolt = <1800000>;
33		regulator-max-microvolt = <1800000>;
34		regulator-boot-on;
35		regulator-always-on;
36	};
37
38	reg_3p3v: regulator-3p3v {
39		compatible = "regulator-fixed";
40		regulator-name = "fixed-3.3V";
41		regulator-min-microvolt = <3300000>;
42		regulator-max-microvolt = <3300000>;
43		regulator-boot-on;
44		regulator-always-on;
45	};
46
47	usb_p0_vbus: regulator@0 {
48		compatible = "regulator-fixed";
49		regulator-name = "p0_vbus";
50		regulator-min-microvolt = <5000000>;
51		regulator-max-microvolt = <5000000>;
52		gpio = <&gpio 27 GPIO_ACTIVE_HIGH>;
53		enable-active-high;
54	};
55
56	usb_p1_vbus: regulator@1 {
57		compatible = "regulator-fixed";
58		regulator-name = "p1_vbus";
59		regulator-min-microvolt = <5000000>;
60		regulator-max-microvolt = <5000000>;
61		gpio = <&gpio 32 GPIO_ACTIVE_HIGH>;
62		enable-active-high;
63		regulator-always-on;
64	};
65};
66
67&mmc0 {
68	pinctrl-names = "default";
69	pinctrl-0 = <&mmc0_pins_default>;
70	bus-width = <8>;
71	max-frequency = <200000000>;
72	cap-mmc-highspeed;
73	mmc-hs200-1_8v;
74	cap-mmc-hw-reset;
75	vmmc-supply = <&reg_3p3v>;
76	vqmmc-supply = <&reg_1p8v>;
77	non-removable;
78	status = "okay";
79};
80
81&pinctrl {
82	mmc0_pins_default: mmc0default {
83		mux {
84			function = "msdc";
85			groups =  "msdc0";
86		};
87
88		conf-cmd-data {
89			pins = "MSDC0_CMD", "MSDC0_DAT0", "MSDC0_DAT1",
90			       "MSDC0_DAT2", "MSDC0_DAT3", "MSDC0_DAT4",
91			       "MSDC0_DAT5", "MSDC0_DAT6", "MSDC0_DAT7";
92			input-enable;
93			drive-strength = <6>;
94			bias-pull-up;
95		};
96
97		conf-clk {
98			pins = "MSDC0_CLK";
99			drive-strength = <6>;
100			bias-pull-down;
101		};
102
103		conf-rst {
104			pins = "MSDC0_RSTB";
105			bias-pull-up;
106		};
107	};
108
109		uart0_pins: uart0 {
110			mux {
111				function = "uart";
112				groups = "uart0_0_rxd_txd";
113			};
114		};
115};
116
117&ssusb {
118	dr_mode = "peripheral";
119	maximum-speed = "high-speed";
120	status = "okay";
121};
122
123&usb3 {
124	vbus-supply = <&usb_p0_vbus>;
125	status = "okay";
126};
127
128&u3phy {
129	status = "okay";
130};
131
132&uart0 {
133	pinctrl-names = "default";
134	pinctrl-0 = <&uart0_pins>;
135	status = "okay";
136};
137
138&watchdog0 {
139	status = "okay";
140};
141