xref: /linux/scripts/dtc/include-prefixes/arm64/mediatek/mt8195-cherry.dtsi (revision 4d3807080708d824d8674c8d93fd32652f00d41d)
15eb2e303SAngeloGioacchino Del Regno// SPDX-License-Identifier: (GPL-2.0 OR MIT)
25eb2e303SAngeloGioacchino Del Regno/*
35eb2e303SAngeloGioacchino Del Regno * Copyright (C) 2021 MediaTek Inc.
45eb2e303SAngeloGioacchino Del Regno */
55eb2e303SAngeloGioacchino Del Regno
65eb2e303SAngeloGioacchino Del Regno#include <dt-bindings/gpio/gpio.h>
75eb2e303SAngeloGioacchino Del Regno#include "mt8195.dtsi"
837242cb9SAngeloGioacchino Del Regno#include "mt6359.dtsi"
95eb2e303SAngeloGioacchino Del Regno
105eb2e303SAngeloGioacchino Del Regno/ {
115eb2e303SAngeloGioacchino Del Regno	aliases {
12*4d380708SAngeloGioacchino Del Regno		mmc0 = &mmc0;
135eb2e303SAngeloGioacchino Del Regno		serial0 = &uart0;
145eb2e303SAngeloGioacchino Del Regno	};
155eb2e303SAngeloGioacchino Del Regno
165eb2e303SAngeloGioacchino Del Regno	chosen {
175eb2e303SAngeloGioacchino Del Regno		stdout-path = "serial0:115200n8";
185eb2e303SAngeloGioacchino Del Regno	};
195eb2e303SAngeloGioacchino Del Regno
205eb2e303SAngeloGioacchino Del Regno	memory@40000000 {
215eb2e303SAngeloGioacchino Del Regno		device_type = "memory";
225eb2e303SAngeloGioacchino Del Regno		reg = <0 0x40000000 0 0x80000000>;
235eb2e303SAngeloGioacchino Del Regno	};
2437242cb9SAngeloGioacchino Del Regno
2537242cb9SAngeloGioacchino Del Regno	/* system wide LDO 3.3V power rail */
2637242cb9SAngeloGioacchino Del Regno	pp3300_z5: regulator-pp3300-ldo-z5 {
2737242cb9SAngeloGioacchino Del Regno		compatible = "regulator-fixed";
2837242cb9SAngeloGioacchino Del Regno		regulator-name = "pp3300_ldo_z5";
2937242cb9SAngeloGioacchino Del Regno		regulator-always-on;
3037242cb9SAngeloGioacchino Del Regno		regulator-boot-on;
3137242cb9SAngeloGioacchino Del Regno		regulator-min-microvolt = <3300000>;
3237242cb9SAngeloGioacchino Del Regno		regulator-max-microvolt = <3300000>;
3337242cb9SAngeloGioacchino Del Regno		vin-supply = <&ppvar_sys>;
3437242cb9SAngeloGioacchino Del Regno	};
3537242cb9SAngeloGioacchino Del Regno
3637242cb9SAngeloGioacchino Del Regno	/* separately switched 3.3V power rail */
3737242cb9SAngeloGioacchino Del Regno	pp3300_s3: regulator-pp3300-s3 {
3837242cb9SAngeloGioacchino Del Regno		compatible = "regulator-fixed";
3937242cb9SAngeloGioacchino Del Regno		regulator-name = "pp3300_s3";
4037242cb9SAngeloGioacchino Del Regno		/* automatically sequenced by PMIC EXT_PMIC_EN2 */
4137242cb9SAngeloGioacchino Del Regno		regulator-always-on;
4237242cb9SAngeloGioacchino Del Regno		regulator-boot-on;
4337242cb9SAngeloGioacchino Del Regno		regulator-min-microvolt = <3300000>;
4437242cb9SAngeloGioacchino Del Regno		regulator-max-microvolt = <3300000>;
4537242cb9SAngeloGioacchino Del Regno		vin-supply = <&pp3300_z2>;
4637242cb9SAngeloGioacchino Del Regno	};
4737242cb9SAngeloGioacchino Del Regno
4837242cb9SAngeloGioacchino Del Regno	/* system wide 3.3V power rail */
4937242cb9SAngeloGioacchino Del Regno	pp3300_z2: regulator-pp3300-z2 {
5037242cb9SAngeloGioacchino Del Regno		compatible = "regulator-fixed";
5137242cb9SAngeloGioacchino Del Regno		regulator-name = "pp3300_z2";
5237242cb9SAngeloGioacchino Del Regno		/* EN pin tied to pp4200_z2, which is controlled by EC */
5337242cb9SAngeloGioacchino Del Regno		regulator-always-on;
5437242cb9SAngeloGioacchino Del Regno		regulator-boot-on;
5537242cb9SAngeloGioacchino Del Regno		regulator-min-microvolt = <3300000>;
5637242cb9SAngeloGioacchino Del Regno		regulator-max-microvolt = <3300000>;
5737242cb9SAngeloGioacchino Del Regno		vin-supply = <&ppvar_sys>;
5837242cb9SAngeloGioacchino Del Regno	};
5937242cb9SAngeloGioacchino Del Regno
6037242cb9SAngeloGioacchino Del Regno	/* system wide 4.2V power rail */
6137242cb9SAngeloGioacchino Del Regno	pp4200_z2: regulator-pp4200-z2 {
6237242cb9SAngeloGioacchino Del Regno		compatible = "regulator-fixed";
6337242cb9SAngeloGioacchino Del Regno		regulator-name = "pp4200_z2";
6437242cb9SAngeloGioacchino Del Regno		/* controlled by EC */
6537242cb9SAngeloGioacchino Del Regno		regulator-always-on;
6637242cb9SAngeloGioacchino Del Regno		regulator-boot-on;
6737242cb9SAngeloGioacchino Del Regno		regulator-min-microvolt = <4200000>;
6837242cb9SAngeloGioacchino Del Regno		regulator-max-microvolt = <4200000>;
6937242cb9SAngeloGioacchino Del Regno		vin-supply = <&ppvar_sys>;
7037242cb9SAngeloGioacchino Del Regno	};
7137242cb9SAngeloGioacchino Del Regno
7237242cb9SAngeloGioacchino Del Regno	/* system wide switching 5.0V power rail */
7337242cb9SAngeloGioacchino Del Regno	pp5000_s5: regulator-pp5000-s5 {
7437242cb9SAngeloGioacchino Del Regno		compatible = "regulator-fixed";
7537242cb9SAngeloGioacchino Del Regno		regulator-name = "pp5000_s5";
7637242cb9SAngeloGioacchino Del Regno		/* controlled by EC */
7737242cb9SAngeloGioacchino Del Regno		regulator-always-on;
7837242cb9SAngeloGioacchino Del Regno		regulator-boot-on;
7937242cb9SAngeloGioacchino Del Regno		regulator-min-microvolt = <5000000>;
8037242cb9SAngeloGioacchino Del Regno		regulator-max-microvolt = <5000000>;
8137242cb9SAngeloGioacchino Del Regno		vin-supply = <&ppvar_sys>;
8237242cb9SAngeloGioacchino Del Regno	};
8337242cb9SAngeloGioacchino Del Regno
8437242cb9SAngeloGioacchino Del Regno	/* system wide semi-regulated power rail from battery or USB */
8537242cb9SAngeloGioacchino Del Regno	ppvar_sys: regulator-ppvar-sys {
8637242cb9SAngeloGioacchino Del Regno		compatible = "regulator-fixed";
8737242cb9SAngeloGioacchino Del Regno		regulator-name = "ppvar_sys";
8837242cb9SAngeloGioacchino Del Regno		regulator-always-on;
8937242cb9SAngeloGioacchino Del Regno		regulator-boot-on;
9037242cb9SAngeloGioacchino Del Regno	};
9137242cb9SAngeloGioacchino Del Regno};
9237242cb9SAngeloGioacchino Del Regno
93*4d380708SAngeloGioacchino Del Regno&mmc0 {
94*4d380708SAngeloGioacchino Del Regno	status = "okay";
95*4d380708SAngeloGioacchino Del Regno
96*4d380708SAngeloGioacchino Del Regno	bus-width = <8>;
97*4d380708SAngeloGioacchino Del Regno	cap-mmc-highspeed;
98*4d380708SAngeloGioacchino Del Regno	cap-mmc-hw-reset;
99*4d380708SAngeloGioacchino Del Regno	hs400-ds-delay = <0x14c11>;
100*4d380708SAngeloGioacchino Del Regno	max-frequency = <200000000>;
101*4d380708SAngeloGioacchino Del Regno	mmc-hs200-1_8v;
102*4d380708SAngeloGioacchino Del Regno	mmc-hs400-1_8v;
103*4d380708SAngeloGioacchino Del Regno	no-sdio;
104*4d380708SAngeloGioacchino Del Regno	no-sd;
105*4d380708SAngeloGioacchino Del Regno	non-removable;
106*4d380708SAngeloGioacchino Del Regno	pinctrl-names = "default", "state_uhs";
107*4d380708SAngeloGioacchino Del Regno	pinctrl-0 = <&mmc0_pins_default>;
108*4d380708SAngeloGioacchino Del Regno	pinctrl-1 = <&mmc0_pins_uhs>;
109*4d380708SAngeloGioacchino Del Regno	vmmc-supply = <&mt6359_vemc_1_ldo_reg>;
110*4d380708SAngeloGioacchino Del Regno	vqmmc-supply = <&mt6359_vufs_ldo_reg>;
111*4d380708SAngeloGioacchino Del Regno};
112*4d380708SAngeloGioacchino Del Regno
11337242cb9SAngeloGioacchino Del Regno/* for CPU-L */
11437242cb9SAngeloGioacchino Del Regno&mt6359_vcore_buck_reg {
11537242cb9SAngeloGioacchino Del Regno	regulator-always-on;
11637242cb9SAngeloGioacchino Del Regno};
11737242cb9SAngeloGioacchino Del Regno
11837242cb9SAngeloGioacchino Del Regno/* for CORE */
11937242cb9SAngeloGioacchino Del Regno&mt6359_vgpu11_buck_reg {
12037242cb9SAngeloGioacchino Del Regno	regulator-always-on;
12137242cb9SAngeloGioacchino Del Regno};
12237242cb9SAngeloGioacchino Del Regno
12337242cb9SAngeloGioacchino Del Regno&mt6359_vgpu11_sshub_buck_reg {
12437242cb9SAngeloGioacchino Del Regno	regulator-always-on;
12537242cb9SAngeloGioacchino Del Regno	regulator-min-microvolt = <550000>;
12637242cb9SAngeloGioacchino Del Regno	regulator-max-microvolt = <550000>;
12737242cb9SAngeloGioacchino Del Regno};
12837242cb9SAngeloGioacchino Del Regno
12937242cb9SAngeloGioacchino Del Regno/* for CORE SRAM */
13037242cb9SAngeloGioacchino Del Regno&mt6359_vpu_buck_reg {
13137242cb9SAngeloGioacchino Del Regno	regulator-always-on;
13237242cb9SAngeloGioacchino Del Regno};
13337242cb9SAngeloGioacchino Del Regno
13437242cb9SAngeloGioacchino Del Regno&mt6359_vrf12_ldo_reg {
13537242cb9SAngeloGioacchino Del Regno	regulator-always-on;
13637242cb9SAngeloGioacchino Del Regno};
13737242cb9SAngeloGioacchino Del Regno
13837242cb9SAngeloGioacchino Del Regno/* for GPU SRAM */
13937242cb9SAngeloGioacchino Del Regno&mt6359_vsram_others_ldo_reg {
14037242cb9SAngeloGioacchino Del Regno	regulator-always-on;
14137242cb9SAngeloGioacchino Del Regno	regulator-min-microvolt = <750000>;
14237242cb9SAngeloGioacchino Del Regno	regulator-max-microvolt = <750000>;
14337242cb9SAngeloGioacchino Del Regno};
14437242cb9SAngeloGioacchino Del Regno
14537242cb9SAngeloGioacchino Del Regno&mt6359_vufs_ldo_reg {
14637242cb9SAngeloGioacchino Del Regno	regulator-always-on;
1475eb2e303SAngeloGioacchino Del Regno};
1485eb2e303SAngeloGioacchino Del Regno
149*4d380708SAngeloGioacchino Del Regno&pio {
150*4d380708SAngeloGioacchino Del Regno	mmc0_pins_default: mmc0-default-pins {
151*4d380708SAngeloGioacchino Del Regno		pins-cmd-dat {
152*4d380708SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO126__FUNC_MSDC0_DAT0>,
153*4d380708SAngeloGioacchino Del Regno				 <PINMUX_GPIO125__FUNC_MSDC0_DAT1>,
154*4d380708SAngeloGioacchino Del Regno				 <PINMUX_GPIO124__FUNC_MSDC0_DAT2>,
155*4d380708SAngeloGioacchino Del Regno				 <PINMUX_GPIO123__FUNC_MSDC0_DAT3>,
156*4d380708SAngeloGioacchino Del Regno				 <PINMUX_GPIO119__FUNC_MSDC0_DAT4>,
157*4d380708SAngeloGioacchino Del Regno				 <PINMUX_GPIO118__FUNC_MSDC0_DAT5>,
158*4d380708SAngeloGioacchino Del Regno				 <PINMUX_GPIO117__FUNC_MSDC0_DAT6>,
159*4d380708SAngeloGioacchino Del Regno				 <PINMUX_GPIO116__FUNC_MSDC0_DAT7>,
160*4d380708SAngeloGioacchino Del Regno				 <PINMUX_GPIO121__FUNC_MSDC0_CMD>;
161*4d380708SAngeloGioacchino Del Regno			input-enable;
162*4d380708SAngeloGioacchino Del Regno			drive-strength = <6>;
163*4d380708SAngeloGioacchino Del Regno			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
164*4d380708SAngeloGioacchino Del Regno		};
165*4d380708SAngeloGioacchino Del Regno
166*4d380708SAngeloGioacchino Del Regno		pins-clk {
167*4d380708SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO122__FUNC_MSDC0_CLK>;
168*4d380708SAngeloGioacchino Del Regno			drive-strength = <6>;
169*4d380708SAngeloGioacchino Del Regno			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
170*4d380708SAngeloGioacchino Del Regno		};
171*4d380708SAngeloGioacchino Del Regno
172*4d380708SAngeloGioacchino Del Regno		pins-rst {
173*4d380708SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO120__FUNC_MSDC0_RSTB>;
174*4d380708SAngeloGioacchino Del Regno			drive-strength = <6>;
175*4d380708SAngeloGioacchino Del Regno			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
176*4d380708SAngeloGioacchino Del Regno		};
177*4d380708SAngeloGioacchino Del Regno	};
178*4d380708SAngeloGioacchino Del Regno
179*4d380708SAngeloGioacchino Del Regno	mmc0_pins_uhs: mmc0-uhs-pins {
180*4d380708SAngeloGioacchino Del Regno		pins-cmd-dat {
181*4d380708SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO126__FUNC_MSDC0_DAT0>,
182*4d380708SAngeloGioacchino Del Regno				 <PINMUX_GPIO125__FUNC_MSDC0_DAT1>,
183*4d380708SAngeloGioacchino Del Regno				 <PINMUX_GPIO124__FUNC_MSDC0_DAT2>,
184*4d380708SAngeloGioacchino Del Regno				 <PINMUX_GPIO123__FUNC_MSDC0_DAT3>,
185*4d380708SAngeloGioacchino Del Regno				 <PINMUX_GPIO119__FUNC_MSDC0_DAT4>,
186*4d380708SAngeloGioacchino Del Regno				 <PINMUX_GPIO118__FUNC_MSDC0_DAT5>,
187*4d380708SAngeloGioacchino Del Regno				 <PINMUX_GPIO117__FUNC_MSDC0_DAT6>,
188*4d380708SAngeloGioacchino Del Regno				 <PINMUX_GPIO116__FUNC_MSDC0_DAT7>,
189*4d380708SAngeloGioacchino Del Regno				 <PINMUX_GPIO121__FUNC_MSDC0_CMD>;
190*4d380708SAngeloGioacchino Del Regno			input-enable;
191*4d380708SAngeloGioacchino Del Regno			drive-strength = <8>;
192*4d380708SAngeloGioacchino Del Regno			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
193*4d380708SAngeloGioacchino Del Regno		};
194*4d380708SAngeloGioacchino Del Regno
195*4d380708SAngeloGioacchino Del Regno		pins-clk {
196*4d380708SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO122__FUNC_MSDC0_CLK>;
197*4d380708SAngeloGioacchino Del Regno			drive-strength = <8>;
198*4d380708SAngeloGioacchino Del Regno			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
199*4d380708SAngeloGioacchino Del Regno		};
200*4d380708SAngeloGioacchino Del Regno
201*4d380708SAngeloGioacchino Del Regno		pins-ds {
202*4d380708SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO127__FUNC_MSDC0_DSL>;
203*4d380708SAngeloGioacchino Del Regno			drive-strength = <8>;
204*4d380708SAngeloGioacchino Del Regno			bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
205*4d380708SAngeloGioacchino Del Regno		};
206*4d380708SAngeloGioacchino Del Regno
207*4d380708SAngeloGioacchino Del Regno		pins-rst {
208*4d380708SAngeloGioacchino Del Regno			pinmux = <PINMUX_GPIO120__FUNC_MSDC0_RSTB>;
209*4d380708SAngeloGioacchino Del Regno			drive-strength = <8>;
210*4d380708SAngeloGioacchino Del Regno			bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
211*4d380708SAngeloGioacchino Del Regno		};
212*4d380708SAngeloGioacchino Del Regno	};
213*4d380708SAngeloGioacchino Del Regno};
214*4d380708SAngeloGioacchino Del Regno
2159e056506SAngeloGioacchino Del Regno&pmic {
2169e056506SAngeloGioacchino Del Regno	interrupts-extended = <&pio 222 IRQ_TYPE_LEVEL_HIGH>;
2179e056506SAngeloGioacchino Del Regno};
2189e056506SAngeloGioacchino Del Regno
2195eb2e303SAngeloGioacchino Del Regno&uart0 {
2205eb2e303SAngeloGioacchino Del Regno	status = "okay";
2215eb2e303SAngeloGioacchino Del Regno};
222