541 lines
11 KiB
Plaintext
541 lines
11 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* Copyright (c) 2021 BayLibre, SAS.
|
|
* Author: Fabien Parent <fparent@baylibre.com>
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/input/input.h>
|
|
#include "mt8183.dtsi"
|
|
#include "mt6358.dtsi"
|
|
|
|
/ {
|
|
model = "Pumpkin MT8183";
|
|
compatible = "mediatek,mt8183-pumpkin", "mediatek,mt8183";
|
|
|
|
aliases {
|
|
serial0 = &uart0;
|
|
};
|
|
|
|
memory@40000000 {
|
|
device_type = "memory";
|
|
reg = <0 0x40000000 0 0x80000000>;
|
|
};
|
|
|
|
chosen {
|
|
stdout-path = "serial0:921600n8";
|
|
};
|
|
|
|
reserved-memory {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
ranges;
|
|
|
|
scp_mem_reserved: scp-mem@50000000 {
|
|
compatible = "shared-dma-pool";
|
|
reg = <0 0x50000000 0 0x2900000>;
|
|
no-map;
|
|
};
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
|
|
led-red {
|
|
label = "red";
|
|
gpios = <&pio 155 GPIO_ACTIVE_HIGH>;
|
|
default-state = "off";
|
|
};
|
|
|
|
led-green {
|
|
label = "green";
|
|
gpios = <&pio 156 GPIO_ACTIVE_HIGH>;
|
|
default-state = "off";
|
|
};
|
|
};
|
|
|
|
thermistor {
|
|
compatible = "murata,ncp03wf104";
|
|
pullup-uv = <1800000>;
|
|
pullup-ohm = <390000>;
|
|
pulldown-ohm = <0>;
|
|
io-channels = <&auxadc 0>;
|
|
};
|
|
|
|
connector {
|
|
compatible = "hdmi-connector";
|
|
label = "hdmi";
|
|
type = "d";
|
|
|
|
port {
|
|
hdmi_connector_in: endpoint {
|
|
remote-endpoint = <&hdmi_connector_out>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&auxadc {
|
|
status = "okay";
|
|
};
|
|
|
|
&gpu {
|
|
mali-supply = <&mt6358_vgpu_reg>;
|
|
};
|
|
|
|
&i2c0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c_pins_0>;
|
|
status = "okay";
|
|
clock-frequency = <100000>;
|
|
};
|
|
|
|
&i2c1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c_pins_1>;
|
|
status = "okay";
|
|
clock-frequency = <100000>;
|
|
};
|
|
|
|
&i2c2 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c_pins_2>;
|
|
status = "okay";
|
|
clock-frequency = <100000>;
|
|
};
|
|
|
|
&i2c3 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c_pins_3>;
|
|
status = "okay";
|
|
clock-frequency = <100000>;
|
|
};
|
|
|
|
&i2c4 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c_pins_4>;
|
|
status = "okay";
|
|
clock-frequency = <100000>;
|
|
};
|
|
|
|
&i2c5 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c_pins_5>;
|
|
status = "okay";
|
|
clock-frequency = <100000>;
|
|
};
|
|
|
|
&i2c6 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c6_pins>;
|
|
status = "okay";
|
|
clock-frequency = <100000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
it66121hdmitx: hdmitx@4c {
|
|
compatible = "ite,it66121";
|
|
reg = <0x4c>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&ite_pins>;
|
|
reset-gpios = <&pio 160 GPIO_ACTIVE_LOW>;
|
|
interrupt-parent = <&pio>;
|
|
interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
|
|
vcn33-supply = <&mt6358_vcn33_reg>;
|
|
vcn18-supply = <&mt6358_vcn18_reg>;
|
|
vrf12-supply = <&mt6358_vrf12_reg>;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
|
|
it66121_in: endpoint {
|
|
bus-width = <12>;
|
|
remote-endpoint = <&dpi_out>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
|
|
hdmi_connector_out: endpoint {
|
|
remote-endpoint = <&hdmi_connector_in>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&keyboard {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&keyboard_pins>;
|
|
status = "okay";
|
|
linux,keymap = <MATRIX_KEY(0x00, 0x00, KEY_VOLUMEDOWN)
|
|
MATRIX_KEY(0x01, 0x00, KEY_VOLUMEUP)>;
|
|
keypad,num-rows = <2>;
|
|
keypad,num-columns = <1>;
|
|
debounce-delay-ms = <32>;
|
|
mediatek,keys-per-group = <2>;
|
|
};
|
|
|
|
&mmc0 {
|
|
status = "okay";
|
|
pinctrl-names = "default", "state_uhs";
|
|
pinctrl-0 = <&mmc0_pins_default>;
|
|
pinctrl-1 = <&mmc0_pins_uhs>;
|
|
bus-width = <8>;
|
|
max-frequency = <200000000>;
|
|
cap-mmc-highspeed;
|
|
mmc-hs200-1_8v;
|
|
mmc-hs400-1_8v;
|
|
cap-mmc-hw-reset;
|
|
no-sdio;
|
|
no-sd;
|
|
hs400-ds-delay = <0x12814>;
|
|
vmmc-supply = <&mt6358_vemc_reg>;
|
|
vqmmc-supply = <&mt6358_vio18_reg>;
|
|
assigned-clocks = <&topckgen CLK_TOP_MUX_MSDC50_0>;
|
|
assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_CK>;
|
|
non-removable;
|
|
};
|
|
|
|
&mmc1 {
|
|
status = "okay";
|
|
pinctrl-names = "default", "state_uhs";
|
|
pinctrl-0 = <&mmc1_pins_default>;
|
|
pinctrl-1 = <&mmc1_pins_uhs>;
|
|
bus-width = <4>;
|
|
max-frequency = <200000000>;
|
|
cap-sd-highspeed;
|
|
sd-uhs-sdr50;
|
|
sd-uhs-sdr104;
|
|
cap-sdio-irq;
|
|
no-mmc;
|
|
no-sd;
|
|
vmmc-supply = <&mt6358_vmch_reg>;
|
|
vqmmc-supply = <&mt6358_vmc_reg>;
|
|
keep-power-in-suspend;
|
|
wakeup-source;
|
|
non-removable;
|
|
};
|
|
|
|
&mt6358_vgpu_reg {
|
|
regulator-min-microvolt = <625000>;
|
|
regulator-max-microvolt = <900000>;
|
|
|
|
regulator-coupled-with = <&mt6358_vsram_gpu_reg>;
|
|
regulator-coupled-max-spread = <100000>;
|
|
};
|
|
|
|
&mt6358_vsram_gpu_reg {
|
|
regulator-min-microvolt = <850000>;
|
|
regulator-max-microvolt = <1000000>;
|
|
|
|
regulator-coupled-with = <&mt6358_vgpu_reg>;
|
|
regulator-coupled-max-spread = <100000>;
|
|
};
|
|
|
|
&pio {
|
|
i2c_pins_0: i2c0 {
|
|
pins_i2c {
|
|
pinmux = <PINMUX_GPIO82__FUNC_SDA0>,
|
|
<PINMUX_GPIO83__FUNC_SCL0>;
|
|
mediatek,pull-up-adv = <3>;
|
|
};
|
|
};
|
|
|
|
i2c_pins_1: i2c1 {
|
|
pins_i2c {
|
|
pinmux = <PINMUX_GPIO81__FUNC_SDA1>,
|
|
<PINMUX_GPIO84__FUNC_SCL1>;
|
|
mediatek,pull-up-adv = <3>;
|
|
};
|
|
};
|
|
|
|
i2c_pins_2: i2c2 {
|
|
pins_i2c {
|
|
pinmux = <PINMUX_GPIO103__FUNC_SCL2>,
|
|
<PINMUX_GPIO104__FUNC_SDA2>;
|
|
mediatek,pull-up-adv = <3>;
|
|
};
|
|
};
|
|
|
|
i2c_pins_3: i2c3 {
|
|
pins_i2c {
|
|
pinmux = <PINMUX_GPIO50__FUNC_SCL3>,
|
|
<PINMUX_GPIO51__FUNC_SDA3>;
|
|
mediatek,pull-up-adv = <3>;
|
|
};
|
|
};
|
|
|
|
i2c_pins_4: i2c4 {
|
|
pins_i2c {
|
|
pinmux = <PINMUX_GPIO105__FUNC_SCL4>,
|
|
<PINMUX_GPIO106__FUNC_SDA4>;
|
|
mediatek,pull-up-adv = <3>;
|
|
};
|
|
};
|
|
|
|
i2c_pins_5: i2c5 {
|
|
pins_i2c {
|
|
pinmux = <PINMUX_GPIO48__FUNC_SCL5>,
|
|
<PINMUX_GPIO49__FUNC_SDA5>;
|
|
mediatek,pull-up-adv = <3>;
|
|
};
|
|
};
|
|
|
|
i2c6_pins: i2c6 {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO113__FUNC_SCL6>,
|
|
<PINMUX_GPIO114__FUNC_SDA6>;
|
|
mediatek,pull-up-adv = <3>;
|
|
};
|
|
};
|
|
|
|
keyboard_pins: keyboard {
|
|
pins_keyboard {
|
|
pinmux = <PINMUX_GPIO91__FUNC_KPROW1>,
|
|
<PINMUX_GPIO92__FUNC_KPROW0>,
|
|
<PINMUX_GPIO93__FUNC_KPCOL0>;
|
|
};
|
|
};
|
|
|
|
mmc0_pins_default: mmc0-pins-default {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO123__FUNC_MSDC0_DAT0>,
|
|
<PINMUX_GPIO128__FUNC_MSDC0_DAT1>,
|
|
<PINMUX_GPIO125__FUNC_MSDC0_DAT2>,
|
|
<PINMUX_GPIO132__FUNC_MSDC0_DAT3>,
|
|
<PINMUX_GPIO126__FUNC_MSDC0_DAT4>,
|
|
<PINMUX_GPIO129__FUNC_MSDC0_DAT5>,
|
|
<PINMUX_GPIO127__FUNC_MSDC0_DAT6>,
|
|
<PINMUX_GPIO130__FUNC_MSDC0_DAT7>,
|
|
<PINMUX_GPIO122__FUNC_MSDC0_CMD>;
|
|
input-enable;
|
|
drive-strength = <MTK_DRIVE_14mA>;
|
|
mediatek,pull-up-adv = <01>;
|
|
};
|
|
|
|
pins_clk {
|
|
pinmux = <PINMUX_GPIO124__FUNC_MSDC0_CLK>;
|
|
drive-strength = <MTK_DRIVE_14mA>;
|
|
mediatek,pull-down-adv = <10>;
|
|
};
|
|
|
|
pins_rst {
|
|
pinmux = <PINMUX_GPIO133__FUNC_MSDC0_RSTB>;
|
|
drive-strength = <MTK_DRIVE_14mA>;
|
|
mediatek,pull-down-adv = <01>;
|
|
};
|
|
};
|
|
|
|
mmc0_pins_uhs: mmc0-pins-uhs {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO123__FUNC_MSDC0_DAT0>,
|
|
<PINMUX_GPIO128__FUNC_MSDC0_DAT1>,
|
|
<PINMUX_GPIO125__FUNC_MSDC0_DAT2>,
|
|
<PINMUX_GPIO132__FUNC_MSDC0_DAT3>,
|
|
<PINMUX_GPIO126__FUNC_MSDC0_DAT4>,
|
|
<PINMUX_GPIO129__FUNC_MSDC0_DAT5>,
|
|
<PINMUX_GPIO127__FUNC_MSDC0_DAT6>,
|
|
<PINMUX_GPIO130__FUNC_MSDC0_DAT7>,
|
|
<PINMUX_GPIO122__FUNC_MSDC0_CMD>;
|
|
input-enable;
|
|
drive-strength = <MTK_DRIVE_14mA>;
|
|
mediatek,pull-up-adv = <01>;
|
|
};
|
|
|
|
pins_clk {
|
|
pinmux = <PINMUX_GPIO124__FUNC_MSDC0_CLK>;
|
|
drive-strength = <MTK_DRIVE_14mA>;
|
|
mediatek,pull-down-adv = <10>;
|
|
};
|
|
|
|
pins_ds {
|
|
pinmux = <PINMUX_GPIO131__FUNC_MSDC0_DSL>;
|
|
drive-strength = <MTK_DRIVE_14mA>;
|
|
mediatek,pull-down-adv = <10>;
|
|
};
|
|
|
|
pins_rst {
|
|
pinmux = <PINMUX_GPIO133__FUNC_MSDC0_RSTB>;
|
|
drive-strength = <MTK_DRIVE_14mA>;
|
|
mediatek,pull-up-adv = <01>;
|
|
};
|
|
};
|
|
|
|
mmc1_pins_default: mmc1-pins-default {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO31__FUNC_MSDC1_CMD>,
|
|
<PINMUX_GPIO32__FUNC_MSDC1_DAT0>,
|
|
<PINMUX_GPIO34__FUNC_MSDC1_DAT1>,
|
|
<PINMUX_GPIO33__FUNC_MSDC1_DAT2>,
|
|
<PINMUX_GPIO30__FUNC_MSDC1_DAT3>;
|
|
input-enable;
|
|
mediatek,pull-up-adv = <10>;
|
|
};
|
|
|
|
pins_clk {
|
|
pinmux = <PINMUX_GPIO29__FUNC_MSDC1_CLK>;
|
|
input-enable;
|
|
mediatek,pull-down-adv = <10>;
|
|
};
|
|
|
|
pins_pmu {
|
|
pinmux = <PINMUX_GPIO178__FUNC_GPIO178>;
|
|
output-high;
|
|
};
|
|
};
|
|
|
|
mmc1_pins_uhs: mmc1-pins-uhs {
|
|
pins_cmd_dat {
|
|
pinmux = <PINMUX_GPIO31__FUNC_MSDC1_CMD>,
|
|
<PINMUX_GPIO32__FUNC_MSDC1_DAT0>,
|
|
<PINMUX_GPIO34__FUNC_MSDC1_DAT1>,
|
|
<PINMUX_GPIO33__FUNC_MSDC1_DAT2>,
|
|
<PINMUX_GPIO30__FUNC_MSDC1_DAT3>;
|
|
drive-strength = <6>;
|
|
input-enable;
|
|
mediatek,pull-up-adv = <10>;
|
|
};
|
|
|
|
pins_clk {
|
|
pinmux = <PINMUX_GPIO29__FUNC_MSDC1_CLK>;
|
|
drive-strength = <8>;
|
|
mediatek,pull-down-adv = <10>;
|
|
input-enable;
|
|
};
|
|
};
|
|
|
|
ite_pins: ite-pins {
|
|
pins-irq {
|
|
pinmux = <PINMUX_GPIO4__FUNC_GPIO4>;
|
|
input-enable;
|
|
bias-pull-up;
|
|
};
|
|
|
|
pins-rst {
|
|
pinmux = <PINMUX_GPIO160__FUNC_GPIO160>;
|
|
output-high;
|
|
};
|
|
};
|
|
|
|
dpi_func_pins: dpi-func-pins {
|
|
pins-dpi {
|
|
pinmux = <PINMUX_GPIO12__FUNC_I2S5_BCK>,
|
|
<PINMUX_GPIO46__FUNC_I2S5_LRCK>,
|
|
<PINMUX_GPIO47__FUNC_I2S5_DO>,
|
|
<PINMUX_GPIO13__FUNC_DBPI_D0>,
|
|
<PINMUX_GPIO14__FUNC_DBPI_D1>,
|
|
<PINMUX_GPIO15__FUNC_DBPI_D2>,
|
|
<PINMUX_GPIO16__FUNC_DBPI_D3>,
|
|
<PINMUX_GPIO17__FUNC_DBPI_D4>,
|
|
<PINMUX_GPIO18__FUNC_DBPI_D5>,
|
|
<PINMUX_GPIO19__FUNC_DBPI_D6>,
|
|
<PINMUX_GPIO20__FUNC_DBPI_D7>,
|
|
<PINMUX_GPIO21__FUNC_DBPI_D8>,
|
|
<PINMUX_GPIO22__FUNC_DBPI_D9>,
|
|
<PINMUX_GPIO23__FUNC_DBPI_D10>,
|
|
<PINMUX_GPIO24__FUNC_DBPI_D11>,
|
|
<PINMUX_GPIO25__FUNC_DBPI_HSYNC>,
|
|
<PINMUX_GPIO26__FUNC_DBPI_VSYNC>,
|
|
<PINMUX_GPIO27__FUNC_DBPI_DE>,
|
|
<PINMUX_GPIO28__FUNC_DBPI_CK>;
|
|
};
|
|
};
|
|
|
|
dpi_idle_pins: dpi-idle-pins {
|
|
pins-idle {
|
|
pinmux = <PINMUX_GPIO12__FUNC_GPIO12>,
|
|
<PINMUX_GPIO46__FUNC_GPIO46>,
|
|
<PINMUX_GPIO47__FUNC_GPIO47>,
|
|
<PINMUX_GPIO13__FUNC_GPIO13>,
|
|
<PINMUX_GPIO14__FUNC_GPIO14>,
|
|
<PINMUX_GPIO15__FUNC_GPIO15>,
|
|
<PINMUX_GPIO16__FUNC_GPIO16>,
|
|
<PINMUX_GPIO17__FUNC_GPIO17>,
|
|
<PINMUX_GPIO18__FUNC_GPIO18>,
|
|
<PINMUX_GPIO19__FUNC_GPIO19>,
|
|
<PINMUX_GPIO20__FUNC_GPIO20>,
|
|
<PINMUX_GPIO21__FUNC_GPIO21>,
|
|
<PINMUX_GPIO22__FUNC_GPIO22>,
|
|
<PINMUX_GPIO23__FUNC_GPIO23>,
|
|
<PINMUX_GPIO24__FUNC_GPIO24>,
|
|
<PINMUX_GPIO25__FUNC_GPIO25>,
|
|
<PINMUX_GPIO26__FUNC_GPIO26>,
|
|
<PINMUX_GPIO27__FUNC_GPIO27>,
|
|
<PINMUX_GPIO28__FUNC_GPIO28>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&pmic {
|
|
interrupts-extended = <&pio 182 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&mfg {
|
|
domain-supply = <&mt6358_vgpu_reg>;
|
|
};
|
|
|
|
&cpu0 {
|
|
proc-supply = <&mt6358_vproc12_reg>;
|
|
};
|
|
|
|
&cpu1 {
|
|
proc-supply = <&mt6358_vproc12_reg>;
|
|
};
|
|
|
|
&cpu2 {
|
|
proc-supply = <&mt6358_vproc12_reg>;
|
|
};
|
|
|
|
&cpu3 {
|
|
proc-supply = <&mt6358_vproc12_reg>;
|
|
};
|
|
|
|
&cpu4 {
|
|
proc-supply = <&mt6358_vproc11_reg>;
|
|
};
|
|
|
|
&cpu5 {
|
|
proc-supply = <&mt6358_vproc11_reg>;
|
|
};
|
|
|
|
&cpu6 {
|
|
proc-supply = <&mt6358_vproc11_reg>;
|
|
};
|
|
|
|
&cpu7 {
|
|
proc-supply = <&mt6358_vproc11_reg>;
|
|
};
|
|
|
|
&uart0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&scp {
|
|
status = "okay";
|
|
};
|
|
|
|
&dsi0 {
|
|
status = "disabled";
|
|
};
|
|
|
|
&dpi0 {
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&dpi_func_pins>;
|
|
pinctrl-1 = <&dpi_idle_pins>;
|
|
status = "okay";
|
|
|
|
port {
|
|
dpi_out: endpoint {
|
|
remote-endpoint = <&it66121_in>;
|
|
};
|
|
};
|
|
};
|