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