119b6403fSFabien Parent// SPDX-License-Identifier: GPL-2.0
219b6403fSFabien Parent/*
319b6403fSFabien Parent * Copyright (c) 2021 BayLibre, SAS.
419b6403fSFabien Parent * Author: Fabien Parent <fparent@baylibre.com>
519b6403fSFabien Parent */
619b6403fSFabien Parent
719b6403fSFabien Parent/dts-v1/;
819b6403fSFabien Parent
919b6403fSFabien Parent#include <dt-bindings/gpio/gpio.h>
1019b6403fSFabien Parent#include "mt8183.dtsi"
1119b6403fSFabien Parent#include "mt6358.dtsi"
1219b6403fSFabien Parent
1319b6403fSFabien Parent/ {
1419b6403fSFabien Parent	model = "Pumpkin MT8183";
1519b6403fSFabien Parent	compatible = "mediatek,mt8183-pumpkin", "mediatek,mt8183";
1619b6403fSFabien Parent
1719b6403fSFabien Parent	aliases {
1819b6403fSFabien Parent		serial0 = &uart0;
1919b6403fSFabien Parent	};
2019b6403fSFabien Parent
2119b6403fSFabien Parent	memory@40000000 {
2219b6403fSFabien Parent		device_type = "memory";
2319b6403fSFabien Parent		reg = <0 0x40000000 0 0x80000000>;
2419b6403fSFabien Parent	};
2519b6403fSFabien Parent
2619b6403fSFabien Parent	chosen {
2719b6403fSFabien Parent		stdout-path = "serial0:921600n8";
2819b6403fSFabien Parent	};
2919b6403fSFabien Parent
3019b6403fSFabien Parent	reserved-memory {
3119b6403fSFabien Parent		#address-cells = <2>;
3219b6403fSFabien Parent		#size-cells = <2>;
3319b6403fSFabien Parent		ranges;
3419b6403fSFabien Parent
35*f9929b45SMatthias Brugger		scp_mem_reserved: scp_mem_region@50000000 {
3619b6403fSFabien Parent			compatible = "shared-dma-pool";
3719b6403fSFabien Parent			reg = <0 0x50000000 0 0x2900000>;
3819b6403fSFabien Parent			no-map;
3919b6403fSFabien Parent		};
4019b6403fSFabien Parent	};
4119b6403fSFabien Parent
4219b6403fSFabien Parent	leds {
4319b6403fSFabien Parent		compatible = "gpio-leds";
4419b6403fSFabien Parent
4519b6403fSFabien Parent		led-red {
4619b6403fSFabien Parent			label = "red";
4719b6403fSFabien Parent			gpios = <&pio 155 GPIO_ACTIVE_HIGH>;
4819b6403fSFabien Parent			default-state = "off";
4919b6403fSFabien Parent		};
5019b6403fSFabien Parent
5119b6403fSFabien Parent		led-green {
5219b6403fSFabien Parent			label = "green";
5319b6403fSFabien Parent			gpios = <&pio 156 GPIO_ACTIVE_HIGH>;
5419b6403fSFabien Parent			default-state = "off";
5519b6403fSFabien Parent		};
5619b6403fSFabien Parent	};
5719b6403fSFabien Parent
58*f9929b45SMatthias Brugger	ntc {
5919b6403fSFabien Parent		compatible = "murata,ncp03wf104";
6019b6403fSFabien Parent		pullup-uv = <1800000>;
6119b6403fSFabien Parent		pullup-ohm = <390000>;
6219b6403fSFabien Parent		pulldown-ohm = <0>;
6319b6403fSFabien Parent		io-channels = <&auxadc 0>;
6419b6403fSFabien Parent	};
6519b6403fSFabien Parent};
6619b6403fSFabien Parent
6719b6403fSFabien Parent&auxadc {
6819b6403fSFabien Parent	status = "okay";
6919b6403fSFabien Parent};
7019b6403fSFabien Parent
7119b6403fSFabien Parent&i2c0 {
7219b6403fSFabien Parent	pinctrl-names = "default";
7319b6403fSFabien Parent	pinctrl-0 = <&i2c_pins_0>;
7419b6403fSFabien Parent	status = "okay";
7519b6403fSFabien Parent	clock-frequency = <100000>;
7619b6403fSFabien Parent};
7719b6403fSFabien Parent
7819b6403fSFabien Parent&i2c1 {
7919b6403fSFabien Parent	pinctrl-names = "default";
8019b6403fSFabien Parent	pinctrl-0 = <&i2c_pins_1>;
8119b6403fSFabien Parent	status = "okay";
8219b6403fSFabien Parent	clock-frequency = <100000>;
8319b6403fSFabien Parent};
8419b6403fSFabien Parent
8519b6403fSFabien Parent&i2c2 {
8619b6403fSFabien Parent	pinctrl-names = "default";
8719b6403fSFabien Parent	pinctrl-0 = <&i2c_pins_2>;
8819b6403fSFabien Parent	status = "okay";
8919b6403fSFabien Parent	clock-frequency = <100000>;
9019b6403fSFabien Parent};
9119b6403fSFabien Parent
9219b6403fSFabien Parent&i2c3 {
9319b6403fSFabien Parent	pinctrl-names = "default";
9419b6403fSFabien Parent	pinctrl-0 = <&i2c_pins_3>;
9519b6403fSFabien Parent	status = "okay";
9619b6403fSFabien Parent	clock-frequency = <100000>;
9719b6403fSFabien Parent};
9819b6403fSFabien Parent
9919b6403fSFabien Parent&i2c4 {
10019b6403fSFabien Parent	pinctrl-names = "default";
10119b6403fSFabien Parent	pinctrl-0 = <&i2c_pins_4>;
10219b6403fSFabien Parent	status = "okay";
10319b6403fSFabien Parent	clock-frequency = <100000>;
10419b6403fSFabien Parent};
10519b6403fSFabien Parent
10619b6403fSFabien Parent&i2c5 {
10719b6403fSFabien Parent	pinctrl-names = "default";
10819b6403fSFabien Parent	pinctrl-0 = <&i2c_pins_5>;
10919b6403fSFabien Parent	status = "okay";
11019b6403fSFabien Parent	clock-frequency = <100000>;
11119b6403fSFabien Parent};
11219b6403fSFabien Parent
11319b6403fSFabien Parent&i2c6 {
11419b6403fSFabien Parent	pinctrl-names = "default";
11519b6403fSFabien Parent	pinctrl-0 = <&i2c6_pins>;
11619b6403fSFabien Parent	status = "okay";
11719b6403fSFabien Parent	clock-frequency = <100000>;
11819b6403fSFabien Parent};
11919b6403fSFabien Parent
12019b6403fSFabien Parent&mmc0 {
12119b6403fSFabien Parent	status = "okay";
12219b6403fSFabien Parent	pinctrl-names = "default", "state_uhs";
12319b6403fSFabien Parent	pinctrl-0 = <&mmc0_pins_default>;
12419b6403fSFabien Parent	pinctrl-1 = <&mmc0_pins_uhs>;
12519b6403fSFabien Parent	bus-width = <8>;
12619b6403fSFabien Parent	max-frequency = <200000000>;
12719b6403fSFabien Parent	cap-mmc-highspeed;
12819b6403fSFabien Parent	mmc-hs200-1_8v;
12919b6403fSFabien Parent	mmc-hs400-1_8v;
13019b6403fSFabien Parent	cap-mmc-hw-reset;
13119b6403fSFabien Parent	no-sdio;
13219b6403fSFabien Parent	no-sd;
13319b6403fSFabien Parent	hs400-ds-delay = <0x12814>;
13419b6403fSFabien Parent	vmmc-supply = <&mt6358_vemc_reg>;
13519b6403fSFabien Parent	vqmmc-supply = <&mt6358_vio18_reg>;
13619b6403fSFabien Parent	assigned-clocks = <&topckgen CLK_TOP_MUX_MSDC50_0>;
13719b6403fSFabien Parent	assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_CK>;
13819b6403fSFabien Parent	non-removable;
13919b6403fSFabien Parent};
14019b6403fSFabien Parent
14119b6403fSFabien Parent&mmc1 {
14219b6403fSFabien Parent	status = "okay";
14319b6403fSFabien Parent	pinctrl-names = "default", "state_uhs";
14419b6403fSFabien Parent	pinctrl-0 = <&mmc1_pins_default>;
14519b6403fSFabien Parent	pinctrl-1 = <&mmc1_pins_uhs>;
14619b6403fSFabien Parent	bus-width = <4>;
14719b6403fSFabien Parent	max-frequency = <200000000>;
14819b6403fSFabien Parent	cap-sd-highspeed;
14919b6403fSFabien Parent	sd-uhs-sdr50;
15019b6403fSFabien Parent	sd-uhs-sdr104;
15119b6403fSFabien Parent	cap-sdio-irq;
15219b6403fSFabien Parent	no-mmc;
15319b6403fSFabien Parent	no-sd;
15419b6403fSFabien Parent	vmmc-supply = <&mt6358_vmch_reg>;
15519b6403fSFabien Parent	vqmmc-supply = <&mt6358_vmc_reg>;
15619b6403fSFabien Parent	keep-power-in-suspend;
15719b6403fSFabien Parent	enable-sdio-wakeup;
15819b6403fSFabien Parent	non-removable;
15919b6403fSFabien Parent};
16019b6403fSFabien Parent
16119b6403fSFabien Parent&pio {
16219b6403fSFabien Parent	i2c_pins_0: i2c0 {
16319b6403fSFabien Parent		pins_i2c{
16419b6403fSFabien Parent			pinmux = <PINMUX_GPIO82__FUNC_SDA0>,
16519b6403fSFabien Parent				 <PINMUX_GPIO83__FUNC_SCL0>;
16619b6403fSFabien Parent			mediatek,pull-up-adv = <3>;
16719b6403fSFabien Parent			mediatek,drive-strength-adv = <00>;
16819b6403fSFabien Parent		};
16919b6403fSFabien Parent	};
17019b6403fSFabien Parent
17119b6403fSFabien Parent	i2c_pins_1: i2c1 {
17219b6403fSFabien Parent		pins_i2c{
17319b6403fSFabien Parent			pinmux = <PINMUX_GPIO81__FUNC_SDA1>,
17419b6403fSFabien Parent				 <PINMUX_GPIO84__FUNC_SCL1>;
17519b6403fSFabien Parent			mediatek,pull-up-adv = <3>;
17619b6403fSFabien Parent			mediatek,drive-strength-adv = <00>;
17719b6403fSFabien Parent		};
17819b6403fSFabien Parent	};
17919b6403fSFabien Parent
18019b6403fSFabien Parent	i2c_pins_2: i2c2 {
18119b6403fSFabien Parent		pins_i2c{
18219b6403fSFabien Parent			pinmux = <PINMUX_GPIO103__FUNC_SCL2>,
18319b6403fSFabien Parent				 <PINMUX_GPIO104__FUNC_SDA2>;
18419b6403fSFabien Parent			mediatek,pull-up-adv = <3>;
18519b6403fSFabien Parent			mediatek,drive-strength-adv = <00>;
18619b6403fSFabien Parent		};
18719b6403fSFabien Parent	};
18819b6403fSFabien Parent
18919b6403fSFabien Parent	i2c_pins_3: i2c3 {
19019b6403fSFabien Parent		pins_i2c{
19119b6403fSFabien Parent			pinmux = <PINMUX_GPIO50__FUNC_SCL3>,
19219b6403fSFabien Parent				 <PINMUX_GPIO51__FUNC_SDA3>;
19319b6403fSFabien Parent			mediatek,pull-up-adv = <3>;
19419b6403fSFabien Parent			mediatek,drive-strength-adv = <00>;
19519b6403fSFabien Parent		};
19619b6403fSFabien Parent	};
19719b6403fSFabien Parent
19819b6403fSFabien Parent	i2c_pins_4: i2c4 {
19919b6403fSFabien Parent		pins_i2c{
20019b6403fSFabien Parent			pinmux = <PINMUX_GPIO105__FUNC_SCL4>,
20119b6403fSFabien Parent				 <PINMUX_GPIO106__FUNC_SDA4>;
20219b6403fSFabien Parent			mediatek,pull-up-adv = <3>;
20319b6403fSFabien Parent			mediatek,drive-strength-adv = <00>;
20419b6403fSFabien Parent		};
20519b6403fSFabien Parent	};
20619b6403fSFabien Parent
20719b6403fSFabien Parent	i2c_pins_5: i2c5 {
20819b6403fSFabien Parent		pins_i2c{
20919b6403fSFabien Parent			pinmux = <PINMUX_GPIO48__FUNC_SCL5>,
21019b6403fSFabien Parent				 <PINMUX_GPIO49__FUNC_SDA5>;
21119b6403fSFabien Parent			mediatek,pull-up-adv = <3>;
21219b6403fSFabien Parent			mediatek,drive-strength-adv = <00>;
21319b6403fSFabien Parent		};
21419b6403fSFabien Parent	};
21519b6403fSFabien Parent
21619b6403fSFabien Parent	i2c6_pins: i2c6 {
21719b6403fSFabien Parent		pins_cmd_dat {
21819b6403fSFabien Parent			pinmux = <PINMUX_GPIO113__FUNC_SCL6>,
21919b6403fSFabien Parent				 <PINMUX_GPIO114__FUNC_SDA6>;
22019b6403fSFabien Parent			mediatek,pull-up-adv = <3>;
22119b6403fSFabien Parent		};
22219b6403fSFabien Parent	};
22319b6403fSFabien Parent
22419b6403fSFabien Parent	mmc0_pins_default: mmc0-pins-default {
22519b6403fSFabien Parent		pins_cmd_dat {
22619b6403fSFabien Parent			pinmux = <PINMUX_GPIO123__FUNC_MSDC0_DAT0>,
22719b6403fSFabien Parent				 <PINMUX_GPIO128__FUNC_MSDC0_DAT1>,
22819b6403fSFabien Parent				 <PINMUX_GPIO125__FUNC_MSDC0_DAT2>,
22919b6403fSFabien Parent				 <PINMUX_GPIO132__FUNC_MSDC0_DAT3>,
23019b6403fSFabien Parent				 <PINMUX_GPIO126__FUNC_MSDC0_DAT4>,
23119b6403fSFabien Parent				 <PINMUX_GPIO129__FUNC_MSDC0_DAT5>,
23219b6403fSFabien Parent				 <PINMUX_GPIO127__FUNC_MSDC0_DAT6>,
23319b6403fSFabien Parent				 <PINMUX_GPIO130__FUNC_MSDC0_DAT7>,
23419b6403fSFabien Parent				 <PINMUX_GPIO122__FUNC_MSDC0_CMD>;
23519b6403fSFabien Parent			input-enable;
23619b6403fSFabien Parent			drive-strength = <MTK_DRIVE_14mA>;
23719b6403fSFabien Parent			mediatek,pull-up-adv = <01>;
23819b6403fSFabien Parent		};
23919b6403fSFabien Parent
24019b6403fSFabien Parent		pins_clk {
24119b6403fSFabien Parent			pinmux = <PINMUX_GPIO124__FUNC_MSDC0_CLK>;
24219b6403fSFabien Parent			drive-strength = <MTK_DRIVE_14mA>;
24319b6403fSFabien Parent			mediatek,pull-down-adv = <10>;
24419b6403fSFabien Parent		};
24519b6403fSFabien Parent
24619b6403fSFabien Parent		pins_rst {
24719b6403fSFabien Parent			pinmux = <PINMUX_GPIO133__FUNC_MSDC0_RSTB>;
24819b6403fSFabien Parent			drive-strength = <MTK_DRIVE_14mA>;
24919b6403fSFabien Parent			mediatek,pull-down-adv = <01>;
25019b6403fSFabien Parent		};
25119b6403fSFabien Parent	};
25219b6403fSFabien Parent
25319b6403fSFabien Parent	mmc0_pins_uhs: mmc0-pins-uhs {
25419b6403fSFabien Parent		pins_cmd_dat {
25519b6403fSFabien Parent			pinmux = <PINMUX_GPIO123__FUNC_MSDC0_DAT0>,
25619b6403fSFabien Parent				 <PINMUX_GPIO128__FUNC_MSDC0_DAT1>,
25719b6403fSFabien Parent				 <PINMUX_GPIO125__FUNC_MSDC0_DAT2>,
25819b6403fSFabien Parent				 <PINMUX_GPIO132__FUNC_MSDC0_DAT3>,
25919b6403fSFabien Parent				 <PINMUX_GPIO126__FUNC_MSDC0_DAT4>,
26019b6403fSFabien Parent				 <PINMUX_GPIO129__FUNC_MSDC0_DAT5>,
26119b6403fSFabien Parent				 <PINMUX_GPIO127__FUNC_MSDC0_DAT6>,
26219b6403fSFabien Parent				 <PINMUX_GPIO130__FUNC_MSDC0_DAT7>,
26319b6403fSFabien Parent				 <PINMUX_GPIO122__FUNC_MSDC0_CMD>;
26419b6403fSFabien Parent			input-enable;
26519b6403fSFabien Parent			drive-strength = <MTK_DRIVE_14mA>;
26619b6403fSFabien Parent			mediatek,pull-up-adv = <01>;
26719b6403fSFabien Parent		};
26819b6403fSFabien Parent
26919b6403fSFabien Parent		pins_clk {
27019b6403fSFabien Parent			pinmux = <PINMUX_GPIO124__FUNC_MSDC0_CLK>;
27119b6403fSFabien Parent			drive-strength = <MTK_DRIVE_14mA>;
27219b6403fSFabien Parent			mediatek,pull-down-adv = <10>;
27319b6403fSFabien Parent		};
27419b6403fSFabien Parent
27519b6403fSFabien Parent		pins_ds {
27619b6403fSFabien Parent			pinmux = <PINMUX_GPIO131__FUNC_MSDC0_DSL>;
27719b6403fSFabien Parent			drive-strength = <MTK_DRIVE_14mA>;
27819b6403fSFabien Parent			mediatek,pull-down-adv = <10>;
27919b6403fSFabien Parent		};
28019b6403fSFabien Parent
28119b6403fSFabien Parent		pins_rst {
28219b6403fSFabien Parent			pinmux = <PINMUX_GPIO133__FUNC_MSDC0_RSTB>;
28319b6403fSFabien Parent			drive-strength = <MTK_DRIVE_14mA>;
28419b6403fSFabien Parent			mediatek,pull-up-adv = <01>;
28519b6403fSFabien Parent		};
28619b6403fSFabien Parent	};
28719b6403fSFabien Parent
28819b6403fSFabien Parent	mmc1_pins_default: mmc1-pins-default {
28919b6403fSFabien Parent		pins_cmd_dat {
29019b6403fSFabien Parent			pinmux = <PINMUX_GPIO31__FUNC_MSDC1_CMD>,
29119b6403fSFabien Parent				 <PINMUX_GPIO32__FUNC_MSDC1_DAT0>,
29219b6403fSFabien Parent				 <PINMUX_GPIO34__FUNC_MSDC1_DAT1>,
29319b6403fSFabien Parent				 <PINMUX_GPIO33__FUNC_MSDC1_DAT2>,
29419b6403fSFabien Parent				 <PINMUX_GPIO30__FUNC_MSDC1_DAT3>;
29519b6403fSFabien Parent			input-enable;
29619b6403fSFabien Parent			mediatek,pull-up-adv = <10>;
29719b6403fSFabien Parent		};
29819b6403fSFabien Parent
29919b6403fSFabien Parent		pins_clk {
30019b6403fSFabien Parent			pinmux = <PINMUX_GPIO29__FUNC_MSDC1_CLK>;
30119b6403fSFabien Parent			input-enable;
30219b6403fSFabien Parent			mediatek,pull-down-adv = <10>;
30319b6403fSFabien Parent		};
30419b6403fSFabien Parent
30519b6403fSFabien Parent		pins_pmu {
30619b6403fSFabien Parent			pinmux = <PINMUX_GPIO178__FUNC_GPIO178>;
30719b6403fSFabien Parent			output-high;
30819b6403fSFabien Parent		};
30919b6403fSFabien Parent	};
31019b6403fSFabien Parent
31119b6403fSFabien Parent	mmc1_pins_uhs: mmc1-pins-uhs {
31219b6403fSFabien Parent		pins_cmd_dat {
31319b6403fSFabien Parent			pinmux = <PINMUX_GPIO31__FUNC_MSDC1_CMD>,
31419b6403fSFabien Parent				 <PINMUX_GPIO32__FUNC_MSDC1_DAT0>,
31519b6403fSFabien Parent				 <PINMUX_GPIO34__FUNC_MSDC1_DAT1>,
31619b6403fSFabien Parent				 <PINMUX_GPIO33__FUNC_MSDC1_DAT2>,
31719b6403fSFabien Parent				 <PINMUX_GPIO30__FUNC_MSDC1_DAT3>;
31819b6403fSFabien Parent			drive-strength = <MTK_DRIVE_6mA>;
31919b6403fSFabien Parent			input-enable;
32019b6403fSFabien Parent			mediatek,pull-up-adv = <10>;
32119b6403fSFabien Parent		};
32219b6403fSFabien Parent
32319b6403fSFabien Parent		pins_clk {
32419b6403fSFabien Parent			pinmux = <PINMUX_GPIO29__FUNC_MSDC1_CLK>;
32519b6403fSFabien Parent			drive-strength = <MTK_DRIVE_8mA>;
32619b6403fSFabien Parent			mediatek,pull-down-adv = <10>;
32719b6403fSFabien Parent			input-enable;
32819b6403fSFabien Parent		};
32919b6403fSFabien Parent	};
33019b6403fSFabien Parent};
33119b6403fSFabien Parent
33219b6403fSFabien Parent&mfg {
33319b6403fSFabien Parent	domain-supply = <&mt6358_vgpu_reg>;
33419b6403fSFabien Parent};
33519b6403fSFabien Parent
33619b6403fSFabien Parent&cpu0 {
33719b6403fSFabien Parent	proc-supply = <&mt6358_vproc12_reg>;
33819b6403fSFabien Parent};
33919b6403fSFabien Parent
34019b6403fSFabien Parent&cpu1 {
34119b6403fSFabien Parent	proc-supply = <&mt6358_vproc12_reg>;
34219b6403fSFabien Parent};
34319b6403fSFabien Parent
34419b6403fSFabien Parent&cpu2 {
34519b6403fSFabien Parent	proc-supply = <&mt6358_vproc12_reg>;
34619b6403fSFabien Parent};
34719b6403fSFabien Parent
34819b6403fSFabien Parent&cpu3 {
34919b6403fSFabien Parent	proc-supply = <&mt6358_vproc12_reg>;
35019b6403fSFabien Parent};
35119b6403fSFabien Parent
35219b6403fSFabien Parent&cpu4 {
35319b6403fSFabien Parent	proc-supply = <&mt6358_vproc11_reg>;
35419b6403fSFabien Parent};
35519b6403fSFabien Parent
35619b6403fSFabien Parent&cpu5 {
35719b6403fSFabien Parent	proc-supply = <&mt6358_vproc11_reg>;
35819b6403fSFabien Parent};
35919b6403fSFabien Parent
36019b6403fSFabien Parent&cpu6 {
36119b6403fSFabien Parent	proc-supply = <&mt6358_vproc11_reg>;
36219b6403fSFabien Parent};
36319b6403fSFabien Parent
36419b6403fSFabien Parent&cpu7 {
36519b6403fSFabien Parent	proc-supply = <&mt6358_vproc11_reg>;
36619b6403fSFabien Parent};
36719b6403fSFabien Parent
36819b6403fSFabien Parent&uart0 {
36919b6403fSFabien Parent	status = "okay";
37019b6403fSFabien Parent};
37119b6403fSFabien Parent
37219b6403fSFabien Parent&scp {
37319b6403fSFabien Parent	status = "okay";
37419b6403fSFabien Parent};
37519b6403fSFabien Parent
37619b6403fSFabien Parent&dsi0 {
37719b6403fSFabien Parent	status = "disabled";
37819b6403fSFabien Parent};
379