diff --git a/arch/arm64/boot/dts/seco/seco-genio-common.dtsi b/arch/arm64/boot/dts/seco/seco-genio-common.dtsi new file mode 100644 index 0000000000000000000000000000000000000000..533e9f88a9d8fe8638ff0f56f5d4bf5a683e637c --- /dev/null +++ b/arch/arm64/boot/dts/seco/seco-genio-common.dtsi @@ -0,0 +1,1691 @@ +/* +* Copyright 2024 SECO Northern Europe GmbH +*/ + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> +#include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/pinctrl/mediatek,mt8188-pinfunc.h> +#include <dt-bindings/usb/pd.h> +#include "seco-genio-irq.h" + + +/ { + aliases { + serial0 = &uart0; + serial1 = &uart1; + dsi0 = &dsi0; + ethernet0 = ð + }; + + backlight_lcd0: backlight-lcd0 { + compatible = "pwm-backlight"; + pwms = <&disp_pwm0 0 500000>; + enable-gpios = <&pio 25 GPIO_ACTIVE_HIGH>;// DSI0_LCM_RST, Y9 + brightness-levels = <0 1023>; + num-interpolated-steps = <1023>; + default-brightness-level = <576>; + status = "disabled"; + }; + + chosen { + stdout-path = "serial1:115200n8"; + }; + /* + edp_panel_fixed_3v3: regulator@0 { + compatible = "regulator-fixed"; + regulator-name = "edp_panel_3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + enable-active-high; + gpio = <&pio 15 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&edp_panel_3v3_en_pins>; + }; + */ + memory@40000000 { + device_type = "memory"; + reg = <0 0x40000000 1 0x00000000>; + }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + apu_reserve_memory: apu-reserve-memory{ + compatible = "shared-dma-pool"; + size = <0 0x1400000>;//20 MB + alignment = <0 0x10000>; + reg = <0 0x55000000 0 0x1400000>; + }; + + vpu_reserve_memory: vpu-reserve-memory { + compatible = "shared-dma-pool"; + size = <0 0x1400000>;//20 MB + alignment = <0 0x10000>; + reg = <0 0x57000000 0 0x1400000>; + }; + + /* 12 MiB reserved for OP-TEE (BL32) + * +-----------------------+ 0x43e0_0000 + * | SHMEM 2MiB | + * +-----------------------+ 0x43c0_0000 + * | | TA_RAM 8MiB | + * + TZDRAM +--------------+ 0x4340_0000 + * | | TEE_RAM 2MiB | + * +-----------------------+ 0x4320_0000 + */ + optee_reserved: optee@43200000 { + no-map; + reg = <0 0x43200000 0 0x00c00000>; + }; + + scp_mem_reserved: scp-mem-region { + compatible = "shared-dma-pool"; + reg = <0 0x50000000 0 0x2900000>; + no-map; + }; + + /* 2 MiB reserved for ARM Trusted Firmware (BL31) */ + bl31_secmon_reserved: secmon@54600000 { + no-map; + reg = <0 0x54600000 0x0 0x200000>; + }; + }; + + firmware { + optee { + compatible = "linaro,optee-tz"; + method = "smc"; + }; + }; + + // regulators from evk +#if 0 + usb_p0_vbus: usb0-otg-vbus { + compatible = "regulator-fixed"; + regulator-name = "p0_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&pio 84 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + usb_p1_vbus: usb-p1-vbus { + compatible = "regulator-fixed"; + regulator-name = "p1_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&pio 87 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + usb_p2_vbus: usb-p2-vbus { + compatible = "regulator-fixed"; + regulator-name = "p2_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + enable-active-high; + }; + + hub3v3: regulator@4 { + compatible = "regulator-fixed"; + regulator-name = "vhub3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&pio 112 0>; /* HUB_3V3_EN */ + startup-delay-us = <10000>; + enable-active-high; + }; + + onboard_hub: regulator@5 { + compatible = "regulator-fixed"; + regulator-name = "hub_reset"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + gpio = <&pio 7 0>; /* HUB_RESET */ + vin-supply = <&hub3v3>; + enable-active-low; + }; + + lcm1_tp_avdd: lcm1-tp-avdd { + compatible = "regulator-fixed"; + regulator-name = "lcm1-tp-avdd"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&pio 119 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + VDD_5V: VDD-5V { + compatible = "regulator-fixed"; + regulator-name = "VDD-5V"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&pio 10 GPIO_ACTIVE_HIGH>; + enable-active-high; + regulator-always-on; + }; + + VDD_3V3: VDD-3V3 { + compatible = "regulator-fixed"; + regulator-name = "VDD-3V3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&pio 9 GPIO_ACTIVE_HIGH>; + enable-active-high; + regulator-always-on; + }; + + sdio_fixed_3v3: regulator@2 { + compatible = "regulator-fixed"; + regulator-name = "sdio_card"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&pio 74 0>; + enable-active-high; + regulator-always-on; + }; + + sdio_fixed_1v8: regulator@3 { + compatible = "regulator-fixed"; + regulator-name = "sdio_io"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + enable-active-high; + regulator-always-on; + }; +#endif + + // ******************* + // regulators for wilk + // from baseboard + reg_5v_sleep: 5v_sleep { + compatible = "regulator-fixed"; + regulator-name = "5V_SLEEP"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; + + // voltage regulator u2300 + reg_3v3_sleep: 3v3_sleep { + compatible = "regulator-fixed"; + regulator-name = "3V3_SLEEP"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <®_5v_sleep>; + regulator-always-on; + }; + + // voltage regulator u2301 + reg_1v8_sleep: 1v8_sleep { + compatible = "regulator-fixed"; + regulator-name = "1V8_SLEEP"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <®_3v3_sleep>; + regulator-always-on; + }; + + // voltage switch u2302 + reg_5v_run: 5v_run { + compatible = "regulator-fixed"; + regulator-name = "5V_RUN"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <®_5v_sleep>; + regulator-always-on; + }; + + // MT6365 BUCK + reg_dvdd_mm: dvdd_mm { + compatible = "regulator-fixed"; + regulator-name = "DVDD_MM"; + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <750000>; + vin-supply = <&mt6359_vproc1_buck_reg>; + regulator-always-on; + }; + + reg_dvdd_gpu: dvdd_gpu { + compatible = "regulator-fixed"; + regulator-name = "DVDD_GPU"; + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <750000>; + vin-supply = <&mt6359_vproc2_buck_reg>; + regulator-always-on; + }; + + reg_dvdd_proc_l: dvdd_proc_l { + compatible = "regulator-fixed"; + regulator-name = "DVDD_PROC_L"; + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <750000>; + vin-supply = <&mt6359_vcore_buck_reg>; + regulator-always-on; + }; + + reg_dvdd_adsp: dvdd_adsp { + compatible = "regulator-fixed"; + regulator-name = "DVDD_ADSP"; + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <750000>; + vin-supply = <&mt6359_vpu_buck_reg>; + regulator-always-on; + }; + + reg_dvdd_sram_core: dvdd_sram_core { + compatible = "regulator-fixed"; + regulator-name = "DVDD_SRAM_CORE"; + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <750000>; + vin-supply = <&mt6359_vpu_buck_reg>; + regulator-always-on; + }; + + reg_dvdd_sram_mm: dvdd_sram_mm { + compatible = "regulator-fixed"; + regulator-name = "DVDD_SRAM_MM"; + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <750000>; + vin-supply = <&mt6359_vpu_buck_reg>; + regulator-always-on; + }; + + reg_avdd075_drv_dsi: avdd075_drv_dsi { + compatible = "regulator-fixed"; + regulator-name = "AVDD075_DRV_DSI"; + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <750000>; + vin-supply = <&mt6359_vpu_buck_reg>; + regulator-always-on; + }; + + reg_3v3_wifi: 3v3_wifi { + compatible = "regulator-fixed"; + regulator-name = "3V3_WIFI"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <&mt6359_vpa_buck_reg>; + regulator-always-on; + }; + + reg_vs1_pmu: vs1_pmu { + compatible = "regulator-fixed"; + regulator-name = "VS1_PMU"; + regulator-min-microvolt = <2000000>; + regulator-max-microvolt = <2000000>; + vin-supply = <&mt6359_vs1_buck_reg>; + regulator-always-on; + }; + + reg_vs2_pmu: vs2_pmu { + compatible = "regulator-fixed"; + regulator-name = "VS2_PMU"; + regulator-min-microvolt = <1350000>; + regulator-max-microvolt = <1350000>; + vin-supply = <&mt6359_vs2_buck_reg>; + regulator-always-on; + }; + + reg_dvdd_apu: dvdd_apu { + compatible = "regulator-fixed"; + regulator-name = "DVDD_APU"; + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <750000>; + vin-supply = <&mt6359_vmodem_buck_reg>; + regulator-always-on; + }; + + reg_dvdd_core: dvdd_core { + compatible = "regulator-fixed"; + regulator-name = "DVDD_CORE"; + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <750000>; + vin-supply = <&mt6359_vgpu11_buck_reg>; + regulator-always-on; + }; + + // MT6365 LDO + reg_vaux18_pmu: vaux18_pmu { + compatible = "regulator-fixed"; + regulator-name = "VAUX18_PMU"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&mt6359_vaux18_ldo_reg>; + regulator-always-on; + }; + + reg_vusb_pmu: vusb_pmu { + compatible = "regulator-fixed"; + regulator-name = "VUSB_PMU"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + vin-supply = <&mt6359_vusb_ldo_reg>; + regulator-always-on; + }; + + reg_3v3_run: 3v3_run { + compatible = "regulator-fixed"; + regulator-name = "3V3_RUN"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <&mt6359_vcn33_1_bt_ldo_reg>; + regulator-always-on; + }; + + reg_vemc_pmu: vemc_pmu { + compatible = "regulator-fixed"; + regulator-name = "VEMC_PMU"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + vin-supply = <&mt6359_vemc_1_ldo_reg>; + regulator-always-on; + }; + + reg_vsim1_pmu: vsim1_pmu { + compatible = "regulator-fixed"; + regulator-name = "VSIM1_PMU"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + vin-supply = <&mt6359_vsim1_ldo_reg>; + regulator-always-on; + }; + + reg_vio28_pmu: vio28_pmu { + compatible = "regulator-fixed"; + regulator-name = "VIO28_PMU"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + vin-supply = <&mt6359_vio18_ldo_reg>; + regulator-always-on; + }; + + reg_vufs18_pmu: vufs18_pmu { + compatible = "regulator-fixed"; + regulator-name = "VUFS18_PMU"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&mt6359_vufs_ldo_reg>; + regulator-always-on; + }; + + reg_1v8_run: 1v8_run { + compatible = "regulator-fixed"; + regulator-name = "1V8_RUN"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&mt6359_vcn18_ldo_reg>; + regulator-always-on; + }; + + reg_vio18_pmu: vio18_pmu { + compatible = "regulator-fixed"; + regulator-name = "VIO18_PMU"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&mt6359_vio18_ldo_reg>; + regulator-always-on; + }; + + reg_vio18_pmu_avdd: vio18_pmu_avdd { + compatible = "regulator-fixed"; + regulator-name = "VIO18_PMU_AVDD"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&mt6359_vio18_ldo_reg>; + regulator-always-on; + }; + + reg_vefuse_pmu: vefuse_pmu { + compatible = "regulator-fixed"; + regulator-name = "VEFUSE_PMU"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&mt6359_vefuse_ldo_reg>; + regulator-always-on; + }; + + reg_vaud18_pmu: vaud18_pmu { + compatible = "regulator-fixed"; + regulator-name = "VAUD18_PMU"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&mt6359_vaud18_ldo_reg>; + regulator-always-on; + }; + + reg_va12_abb1_pmu: va12_abb1_pmu { + compatible = "regulator-fixed"; + regulator-name = "VA12_ABB1_PMU"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&mt6359_va12_ldo_reg>; + regulator-always-on; + }; + + reg_dvdd_sram_apu: dvdd_sram_apu { + compatible = "regulator-fixed"; + regulator-name = "DVDD_SRAM_APU"; + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <750000>; + vin-supply = <&mt6359_vsram_md_ldo_reg>; + regulator-always-on; + }; + + reg_dvdd_sram_proc_l: dvdd_sram_proc_l { + compatible = "regulator-fixed"; + regulator-name = "DVDD_SRAM_PROC_L"; + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <750000>; + vin-supply = <&mt6359_vsram_proc1_ldo_reg>; + regulator-always-on; + }; + + reg_dvdd_sram_proc_b: dvdd_sram_proc_b { + compatible = "regulator-fixed"; + regulator-name = "DVDD_SRAM_PROC_B"; + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <750000>; + vin-supply = <&mt6359_vsram_proc2_ldo_reg>; + regulator-always-on; + }; + + reg_dvdd_sram_gpu: dvdd_sram_gpu { + compatible = "regulator-fixed"; + regulator-name = "DVDD_SRAM_GPU"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <850000>; + vin-supply = <&mt6359_vsram_others_ldo_reg>; + regulator-always-on; + }; + + reg_va12_abb2_pmu: va12_abb2_pmu { + compatible = "regulator-fixed"; + regulator-name = "VA12_ABB2_PMU"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&mt6359_vrf12_ldo_reg>; + regulator-always-on; + }; + + amic_codec: amic-codec { + #sound-dai-cells = <0>; + compatible = "dmic-codec"; + num-channels = <2>; + wakeup-delay-ms = <200>; + }; + + dmic_codec: dmic-codec { + #sound-dai-cells = <0>; + compatible = "dmic-codec"; + num-channels = <2>; + wakeup-delay-ms = <30>; + }; + + can_clk: can-clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <20000000>; + clock-output-names = "can-clk"; + }; +}; + +&afe { + #sound-dai-cells = <0>; + mediatek,dmic-iir-on; + mediatek,dmic-clk-mono; + status = "okay"; +}; + +ð { + phy-mode ="rgmii-rxid"; + phy-handle = <ðernet_phy0>; + snps,reset-gpio = <&pio 147 GPIO_ACTIVE_HIGH>; + snps,reset-delay-us = <0 10000 10000>; + mediatek,tx-delay-ps = <2030>; + mediatek,mac-wol; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <ð_default_pins>; + pinctrl-1 = <ð_sleep_pins>; + status = "okay"; + + mdio { + compatible = "snps,dwmac-mdio"; + #address-cells = <1>; + #size-cells = <0>; + ethernet_phy0: ethernet-phy@0 { + compatible = "ethernet-phy-id001c.c916"; + reg = <0>; + }; + }; +}; + +&dpi1 { + status = "okay"; +}; + +&dp_intf1 { + status = "disabled"; + mediatek,oob-hpd; + ports { + port { + dp_intf1_out: endpoint { + remote-endpoint = <&dptx_in>; + }; + }; + }; +}; + +&dp_tx { + pinctrl-names = "default"; + pinctrl-0 = <&dptx_pin>; + status = "disabled"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + port { + dptx_in: endpoint { + remote-endpoint = <&dp_intf1_out>; + }; + }; + }; +}; + +&hdmi0 { + status = "okay"; +}; + +&pio { + aud_pins_default: audiodefault { + pins-cmd-dat { + pinmux = <PINMUX_GPIO101__FUNC_O_AUD_CLK_MOSI>, + <PINMUX_GPIO102__FUNC_O_AUD_SYNC_MOSI>, + <PINMUX_GPIO103__FUNC_O_AUD_DAT_MOSI0>, + <PINMUX_GPIO104__FUNC_O_AUD_DAT_MOSI1>, + <PINMUX_GPIO105__FUNC_I0_AUD_DAT_MISO0>, + <PINMUX_GPIO106__FUNC_I0_AUD_DAT_MISO1>, + <PINMUX_GPIO107__FUNC_B0_I2SIN_MCK>, + <PINMUX_GPIO108__FUNC_B0_I2SIN_BCK>, + <PINMUX_GPIO109__FUNC_B0_I2SIN_WS>, + <PINMUX_GPIO110__FUNC_I0_I2SIN_D0>, + <PINMUX_GPIO114__FUNC_O_I2SO2_MCK>, + <PINMUX_GPIO115__FUNC_B0_I2SO2_BCK>, + <PINMUX_GPIO116__FUNC_B0_I2SO2_WS>, + <PINMUX_GPIO117__FUNC_O_I2SO2_D0>, + <PINMUX_GPIO118__FUNC_O_I2SO2_D1>, + <PINMUX_GPIO125__FUNC_O_DMIC1_CLK>, + <PINMUX_GPIO126__FUNC_I0_DMIC1_DAT>, + <PINMUX_GPIO128__FUNC_O_DMIC2_CLK>, + <PINMUX_GPIO129__FUNC_I0_DMIC2_DAT>, + <PINMUX_GPIO121__FUNC_B0_PCM_CLK>, + <PINMUX_GPIO122__FUNC_B0_PCM_SYNC>, + <PINMUX_GPIO124__FUNC_I0_PCM_DI>; + }; + }; + + edp_panel_3v3_en_pins: edp-panel-3v3-en-pins { + pins1 { + pinmux = <PINMUX_GPIO15__FUNC_B_GPIO15>; + output-high; + }; + }; + + dptx_pin: dptx-pin { + pins-cmd-dat { + pinmux = <PINMUX_GPIO46__FUNC_I0_DP_TX_HPD>; + bias-pull-up; + }; + }; + + eth_default_pins: eth-default-pins { + pins-txd { + pinmux = <PINMUX_GPIO131__FUNC_O_GBE_TXD3>, + <PINMUX_GPIO132__FUNC_O_GBE_TXD2>, + <PINMUX_GPIO133__FUNC_O_GBE_TXD1>, + <PINMUX_GPIO134__FUNC_O_GBE_TXD0>; + drive-strength = <MTK_DRIVE_8mA>; + }; + pins-cc { + pinmux = <PINMUX_GPIO139__FUNC_B0_GBE_TXC>, + <PINMUX_GPIO142__FUNC_O_GBE_TXEN>, + <PINMUX_GPIO141__FUNC_I0_GBE_RXDV>, + <PINMUX_GPIO140__FUNC_I0_GBE_RXC>; + drive-strength = <MTK_DRIVE_8mA>; + }; + pins-rxd { + pinmux = <PINMUX_GPIO135__FUNC_I0_GBE_RXD3>, + <PINMUX_GPIO136__FUNC_I0_GBE_RXD2>, + <PINMUX_GPIO137__FUNC_I0_GBE_RXD1>, + <PINMUX_GPIO138__FUNC_I0_GBE_RXD0>; + drive-strength = <MTK_DRIVE_8mA>; + }; + pins-mdio { + pinmux = <PINMUX_GPIO143__FUNC_O_GBE_MDC>, + <PINMUX_GPIO144__FUNC_B1_GBE_MDIO>; + drive-strength = <MTK_DRIVE_8mA>; + input-enable; + }; + pins-power { + pinmux = <PINMUX_GPIO145__FUNC_B_GPIO145>, + <PINMUX_GPIO146__FUNC_B_GPIO146>; + output-high; + }; + pins-reset { + pinmux = <PINMUX_GPIO147__FUNC_B_GPIO147>; + output-high; + }; + }; + + eth_sleep_pins: eth-sleep-pins { + pins-txd { + pinmux = <PINMUX_GPIO131__FUNC_B_GPIO131>, + <PINMUX_GPIO132__FUNC_B_GPIO132>, + <PINMUX_GPIO133__FUNC_B_GPIO133>, + <PINMUX_GPIO134__FUNC_B_GPIO134>; + }; + pins-cc { + pinmux = <PINMUX_GPIO139__FUNC_B_GPIO139>, + <PINMUX_GPIO142__FUNC_B_GPIO142>, + <PINMUX_GPIO141__FUNC_B_GPIO141>, + <PINMUX_GPIO140__FUNC_B_GPIO140>; + }; + pins-rxd { + pinmux = <PINMUX_GPIO135__FUNC_B_GPIO135>, + <PINMUX_GPIO136__FUNC_B_GPIO136>, + <PINMUX_GPIO137__FUNC_B_GPIO137>, + <PINMUX_GPIO138__FUNC_B_GPIO138>; + }; + pins-mdio { + pinmux = <PINMUX_GPIO143__FUNC_B_GPIO143>, + <PINMUX_GPIO144__FUNC_B_GPIO144>; + input-disable; + bias-disable; + }; + }; + + uart0_pins: uart0-pins { + pins { + pinmux = <PINMUX_GPIO31__FUNC_O_UTXD0>, + <PINMUX_GPIO32__FUNC_I1_URXD0>; + bias-pull-up; + }; + }; + + uart1_pins: uart1-pins { + pins { + pinmux = <PINMUX_GPIO33__FUNC_O_UTXD1>, + <PINMUX_GPIO34__FUNC_I1_URXD1>, + <PINMUX_GPIO35__FUNC_O_URTS1>, + <PINMUX_GPIO36__FUNC_I1_UCTS1>; + bias-pull-up; + }; + }; + + uart2_pins: uart2-pins { + pins { + pinmux = <PINMUX_GPIO79__FUNC_O_UTXD2>, + <PINMUX_GPIO80__FUNC_I1_URXD2>, + <PINMUX_GPIO81__FUNC_O_URTS2>, + <PINMUX_GPIO82__FUNC_I1_UCTS2>; + bias-pull-up; + }; + }; + + uart3_pins: uart3-pins { + pins { + pinmux = <PINMUX_GPIO149__FUNC_O_UTXD3>, + <PINMUX_GPIO150__FUNC_I1_URXD3>; + bias-pull-up = <MTK_PUPD_SET_R1R0_01>; + }; + }; + + i2c0_pin: i2c0-pin { + pins-bus { + pinmux = <PINMUX_GPIO56__FUNC_B1_SDA0>, + <PINMUX_GPIO55__FUNC_B1_SCL0>; + bias-pull-up = <MTK_PULL_SET_RSEL_101>; + mediatek,drive-strength-adv = <0>; + drive-strength = <MTK_DRIVE_8mA>; + }; + }; + + i2c1_pin: i2c1-pin { + pins-bus { + pinmux = <PINMUX_GPIO58__FUNC_B1_SDA1>, + <PINMUX_GPIO57__FUNC_B1_SCL1>; + bias-pull-up = <MTK_PULL_SET_RSEL_101>; + mediatek,drive-strength-adv = <0>; + drive-strength = <MTK_DRIVE_8mA>; + }; + }; + + i2c2_pin: i2c2-pin { + pins-bus { + pinmux = <PINMUX_GPIO60__FUNC_B1_SDA2>, + <PINMUX_GPIO59__FUNC_B1_SCL2>; + bias-pull-up = <MTK_PULL_SET_RSEL_101>; + mediatek,drive-strength-adv = <0>; + drive-strength = <MTK_DRIVE_8mA>; + }; + }; + + i2c3_pin: i2c3-pin { + pins-bus { + pinmux = <PINMUX_GPIO62__FUNC_B1_SDA3>, + <PINMUX_GPIO61__FUNC_B1_SCL3>; + bias-pull-up = <MTK_PULL_SET_RSEL_101>; + mediatek,drive-strength-adv = <0>; + drive-strength = <MTK_DRIVE_8mA>; + }; + }; + + i2c4_pin: i2c4-pin { + pins-bus { + pinmux = <PINMUX_GPIO64__FUNC_B1_SDA4>, + <PINMUX_GPIO63__FUNC_B1_SCL4>; + bias-pull-up = <MTK_PULL_SET_RSEL_111>; + mediatek,drive-strength-adv = <0>; + drive-strength = <MTK_DRIVE_8mA>; + }; + }; + + i2c5_pin: i2c5-pin { + pins-bus { + pinmux = <PINMUX_GPIO66__FUNC_B1_SDA5>, + <PINMUX_GPIO65__FUNC_B1_SCL5>; + bias-pull-up = <MTK_PULL_SET_RSEL_101>; + mediatek,drive-strength-adv = <0>; + drive-strength = <MTK_DRIVE_8mA>; + }; + }; + + i2c6_pin: i2c6-pin { + pins-bus { + pinmux = <PINMUX_GPIO68__FUNC_B1_SDA6>, + <PINMUX_GPIO67__FUNC_B1_SCL6>; + bias-pull-up = <MTK_PULL_SET_RSEL_101>; + mediatek,drive-strength-adv = <0>; + drive-strength = <MTK_DRIVE_8mA>; + }; + }; + /* + rt1715_int: rt1715_int_pin { + pins_cmd0_dat { + pinmux = <PINMUX_GPIO12__FUNC_B_GPIO12>; + bias-pull-up; + input-enable; + }; + }; + */ + kpd_gpios_def_cfg: keypad-pins-default { + pins_kp { + pinmux = <PINMUX_GPIO44__FUNC_B1_KPROW0>, + <PINMUX_GPIO43__FUNC_B1_KPCOL1>, + <PINMUX_GPIO42__FUNC_B1_KPCOL0>; + }; + }; + + mmc0_pins_default: mmc0default { + pins-cmd-dat { + pinmux = <PINMUX_GPIO161__FUNC_B1_MSDC0_DAT0>, + <PINMUX_GPIO160__FUNC_B1_MSDC0_DAT1>, + <PINMUX_GPIO159__FUNC_B1_MSDC0_DAT2>, + <PINMUX_GPIO158__FUNC_B1_MSDC0_DAT3>, + <PINMUX_GPIO154__FUNC_B1_MSDC0_DAT4>, + <PINMUX_GPIO153__FUNC_B1_MSDC0_DAT5>, + <PINMUX_GPIO152__FUNC_B1_MSDC0_DAT6>, + <PINMUX_GPIO151__FUNC_B1_MSDC0_DAT7>, + <PINMUX_GPIO156__FUNC_B1_MSDC0_CMD>; + input-enable; + drive-strength = <MTK_DRIVE_6mA>; + bias-pull-up = <MTK_PUPD_SET_R1R0_01>; + }; + + pins-clk { + pinmux = <PINMUX_GPIO157__FUNC_B1_MSDC0_CLK>; + drive-strength = <MTK_DRIVE_6mA>; + bias-pull-down = <MTK_PUPD_SET_R1R0_10>; + }; + + pins-rst { + pinmux = <PINMUX_GPIO155__FUNC_O_MSDC0_RSTB>; + drive-strength = <MTK_DRIVE_6mA>; + bias-pull-up = <MTK_PUPD_SET_R1R0_01>; + }; + }; + + mmc0_pins_uhs: mmc0uhs{ + pins-cmd-dat { + pinmux = <PINMUX_GPIO161__FUNC_B1_MSDC0_DAT0>, + <PINMUX_GPIO160__FUNC_B1_MSDC0_DAT1>, + <PINMUX_GPIO159__FUNC_B1_MSDC0_DAT2>, + <PINMUX_GPIO158__FUNC_B1_MSDC0_DAT3>, + <PINMUX_GPIO154__FUNC_B1_MSDC0_DAT4>, + <PINMUX_GPIO153__FUNC_B1_MSDC0_DAT5>, + <PINMUX_GPIO152__FUNC_B1_MSDC0_DAT6>, + <PINMUX_GPIO151__FUNC_B1_MSDC0_DAT7>, + <PINMUX_GPIO156__FUNC_B1_MSDC0_CMD>; + input-enable; + drive-strength = <MTK_DRIVE_8mA>; + bias-pull-up = <MTK_PUPD_SET_R1R0_01>; + }; + + pins-clk { + pinmux = <PINMUX_GPIO157__FUNC_B1_MSDC0_CLK>; + drive-strength = <MTK_DRIVE_8mA>; + bias-pull-down = <MTK_PUPD_SET_R1R0_10>; + }; + + pins-ds { + pinmux = <PINMUX_GPIO162__FUNC_B0_MSDC0_DSL>; + drive-strength = <MTK_DRIVE_8mA>; + bias-pull-down = <MTK_PUPD_SET_R1R0_10>; + }; + + pins-rst { + pinmux = <PINMUX_GPIO155__FUNC_O_MSDC0_RSTB>; + drive-strength = <MTK_DRIVE_8mA>; + bias-pull-up = <MTK_PUPD_SET_R1R0_01>; + }; + }; + + mmc1_pins_default: mmc1default { + pins-cmd-dat { + pinmux = <PINMUX_GPIO163__FUNC_B1_MSDC1_CMD>, + <PINMUX_GPIO165__FUNC_B1_MSDC1_DAT0>, + <PINMUX_GPIO166__FUNC_B1_MSDC1_DAT1>, + <PINMUX_GPIO167__FUNC_B1_MSDC1_DAT2>, + <PINMUX_GPIO168__FUNC_B1_MSDC1_DAT3>; + input-enable; + drive-strength = <MTK_DRIVE_6mA>; + bias-pull-up = <MTK_PUPD_SET_R1R0_01>; + }; + + pins-clk { + pinmux = <PINMUX_GPIO164__FUNC_B1_MSDC1_CLK>; + drive-strength = <MTK_DRIVE_6mA>; + bias-pull-down = <MTK_PUPD_SET_R1R0_10>; + }; + + pins-insert { + pinmux = <PINMUX_GPIO2__FUNC_B_GPIO2>; + bias-pull-up; + }; + + pins-enable { + pinmux = <PINMUX_GPIO4__FUNC_B_GPIO4>; + bias-pull-up; + }; + }; + + mmc1_pins_uhs: mmc1uhs { + pins-cmd-dat { + pinmux = <PINMUX_GPIO163__FUNC_B1_MSDC1_CMD>, + <PINMUX_GPIO165__FUNC_B1_MSDC1_DAT0>, + <PINMUX_GPIO166__FUNC_B1_MSDC1_DAT1>, + <PINMUX_GPIO167__FUNC_B1_MSDC1_DAT2>, + <PINMUX_GPIO168__FUNC_B1_MSDC1_DAT3>; + input-enable; + drive-strength = <MTK_DRIVE_6mA>; + bias-pull-up = <MTK_PUPD_SET_R1R0_01>; + }; + + pins-clk { + pinmux = <PINMUX_GPIO164__FUNC_B1_MSDC1_CLK>; + drive-strength = <MTK_DRIVE_6mA>; + bias-pull-down = <MTK_PUPD_SET_R1R0_10>; + }; + + pins-insert { + pinmux = <PINMUX_GPIO2__FUNC_B_GPIO2>; + bias-pull-up; + }; + + pins-enable { + pinmux = <PINMUX_GPIO4__FUNC_B_GPIO4>; + bias-pull-up; + }; + }; + + mmc2_pins_default: mmc2default { + pins-clk { + pinmux = <PINMUX_GPIO170__FUNC_B1_MSDC2_CLK>; + drive-strength = <MTK_DRIVE_4mA>; + bias-pull-down = <MTK_PUPD_SET_R1R0_10>; + }; + + pins-cmd-dat { + pinmux = <PINMUX_GPIO169__FUNC_B1_MSDC2_CMD>, + <PINMUX_GPIO171__FUNC_B1_MSDC2_DAT0>, + <PINMUX_GPIO172__FUNC_B1_MSDC2_DAT1>, + <PINMUX_GPIO173__FUNC_B1_MSDC2_DAT2>, + <PINMUX_GPIO174__FUNC_B1_MSDC2_DAT3>; + input-enable; + drive-strength = <MTK_DRIVE_6mA>; + bias-pull-up = <MTK_PUPD_SET_R1R0_01>; + }; + + pins-pcm { + pinmux = <PINMUX_GPIO123__FUNC_O_PCM_DO>; + }; + + wcn-3v3-en { + pinmux = <PINMUX_GPIO74__FUNC_B_GPIO74>; + output-high; + }; + }; + + mmc2_pins_uhs: mmc2uhs { + pins-clk { + pinmux = <PINMUX_GPIO170__FUNC_B1_MSDC2_CLK>; + drive-strength = <MTK_DRIVE_4mA>; + bias-pull-down = <MTK_PUPD_SET_R1R0_10>; + }; + + pins-cmd-dat { + pinmux = <PINMUX_GPIO169__FUNC_B1_MSDC2_CMD>, + <PINMUX_GPIO171__FUNC_B1_MSDC2_DAT0>, + <PINMUX_GPIO172__FUNC_B1_MSDC2_DAT1>, + <PINMUX_GPIO173__FUNC_B1_MSDC2_DAT2>, + <PINMUX_GPIO174__FUNC_B1_MSDC2_DAT3>; + input-enable; + drive-strength = <MTK_DRIVE_6mA>; + bias-pull-up = <MTK_PUPD_SET_R1R0_01>; + }; + }; + + mmc2_pins_eint: dat1-eint { + pins-dat1 { + pinmux = <PINMUX_GPIO172__FUNC_B_GPIO172>; + input-enable; + bias-pull-up = <MTK_PUPD_SET_R1R0_01>; + }; + }; + + mmc2_pins_dat1: sdio-dat1 { + pins-dat1 { + pinmux = <PINMUX_GPIO172__FUNC_B1_MSDC2_DAT1>; + input-enable; + drive-strength = <MTK_DRIVE_6mA>; + bias-pull-up = <MTK_PUPD_SET_R1R0_01>; + }; + }; + + spi0_pins: spi0-pins { + pins-spi { + pinmux = <PINMUX_GPIO69__FUNC_O_SPIM0_CSB>, + <PINMUX_GPIO70__FUNC_O_SPIM0_CLK>, + <PINMUX_GPIO71__FUNC_B0_SPIM0_MOSI>, + <PINMUX_GPIO72__FUNC_B0_SPIM0_MISO>; + bias-disable; + }; + }; + + spi1_pins: spi1-pins { + pins-spi { + pinmux = <PINMUX_GPIO75__FUNC_O_SPIM1_CSB>, + <PINMUX_GPIO76__FUNC_O_SPIM1_CLK>, + <PINMUX_GPIO77__FUNC_B0_SPIM1_MOSI>, + <PINMUX_GPIO78__FUNC_B0_SPIM1_MISO>; + bias-disable; + }; + }; + + pcie_pins_default: pcie-default { + mux { + pinmux = <PINMUX_GPIO47__FUNC_I1_WAKEN>, + <PINMUX_GPIO48__FUNC_O_PERSTN>, + <PINMUX_GPIO49__FUNC_B1_CLKREQN>; + bias-pull-up; + }; + }; + + usb_default: usbdefault { + iddig-pin { + pinmux = <PINMUX_GPIO83__FUNC_B_GPIO83>; + input-enable; + bias-pull-up; + }; + + vbus-pins { + pinmux = <PINMUX_GPIO84__FUNC_O_USB_DRVVBUS>; + output-high; + }; + + valid-pin { + pinmux = <PINMUX_GPIO85__FUNC_I0_VBUSVALID>; + input-enable; + }; + }; + + usb1_default: usbp1default { + valid_pin { + pinmux = <PINMUX_GPIO88__FUNC_I0_VBUSVALID_1P>; + input-enable; + }; + + usb-hub-3v3-en-pin { + pinmux = <PINMUX_GPIO112__FUNC_B_GPIO112>; + output-high; + }; + }; + + tpm_default: tpmdefault { + pins-enable { + pinmux = <PINMUX_GPIO6__FUNC_B_GPIO6>; + output-high; + }; + }; + /* + touch_pins: touchdefault { + touch_pin_irq: pin-irq { + pinmux = <PINMUX_GPIO6__FUNC_B_GPIO6>; + input-enable; + bias-disable; + }; + + touch_pin_reset: pin-reset { + pinmux = <PINMUX_GPIO5__FUNC_B_GPIO5>; + output-high; + }; + }; + */ +}; + + +&i2c0 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c0_pin>; + clock-frequency = <400000>; + status = "okay"; + /* + touchscreen@5d { + compatible = "goodix,gt9271"; + reg = <0x5d>; + interrupt-parent = <&pio>; + interrupts = <6 IRQ_TYPE_EDGE_RISING>; + irq-gpios = <&pio 6 GPIO_ACTIVE_HIGH>; + reset-gpios = <&pio 5 GPIO_ACTIVE_HIGH>; + AVDD28-supply = <&lcm1_tp_avdd>; + VDDIO-supply = <&mt6359_vio18_ldo_reg>; + pinctrl-names = "default"; + pinctrl-0 = <&touch_pins>; + }; + */ +}; + +&i2c1 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c1_pin>; + clock-frequency = <400000>; + status = "okay"; + /* + it5205fn: it5205fn@48 { + compatible = "mediatek,it5205fn"; + reg = <0x48>; + type3v3-supply = <&mt6359_vcn33_1_bt_ldo_reg>; + svid = /bits/ 16 <0xff01>; + status = "okay"; + }; + */ + + lvds_bridge: lvds-bridge@2c { + compatible = "seco,i2cdummy"; + reg = <0x2c>; + enable-gpios = <&pio 12 GPIO_ACTIVE_HIGH>; + status = "disabled"; + }; + + rtc1: rtc@51 { + compatible = "nxp,pcf85063tp"; + reg = <0x51>; + status = "okay"; + }; +}; + +&i2c2 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c2_pin>; + clock-frequency = <400000>; + status = "okay"; + + // SL B 9673 TPM2.0 @0x2E + tpm: slb9673@2e { + pinctrl-names = "default"; + pinctrl-0 = <&tpm_default>; + compatible = "infineon,tpm_i2c_infineon"; + reg = <0x2e>; + status = "okay"; + }; +}; + +&i2c3 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c3_pin>; + clock-frequency = <100000>; + status = "okay"; + + + stm32: stm32@40 { + compatible = "seco,stm32"; + reg = <0x40>; + #pwm-cells = <2>; + npwm = <0>; + gpio-controller; + #gpio-cells = <2>; + ngpios =/bits/ 16 <STM32_NGPIOS>; + interrupt-parent = <&pio>; + interrupts = <13 IRQ_TYPE_EDGE_FALLING>;// IRQ from STM32 to CPU + #interrupt-cells = <2>; + interrupt-controller; + status = "okay"; + + gpio-line-names = + "", "", "", "", "GPIO4", "GPIO5", "GPIO6", + "GPIO7", "GPIO8", "GPIO9", "GPIO10", "GPIO11", + "GPIO12", "GPIO13", "", "", "", "", "", "", + "USB0_EN_OC#", "USB1_EN_OC#", "", "USB3_EN_OC#", + "", "", "USB_HUB_RST#_1V8", "", "", "", "", "", + "", "", "", "", "", "WIFI_CLK_EN", "WIFI_PWRDWN#_1V8", + "BATLOW#", "CHARGING#", "CHARGER_PRSNT#", "RESET_OUT#"; + + gpios { + gpio26 {// USB_HUB_RST#_1V8 + dir = <0>; + config = <21>; + }; + }; + }; +}; + +&i2c4 { + pinctrl-names = "default";//, "default"; + pinctrl-0 = <&i2c4_pin>; + //pinctrl-1 = <&rt1715_int>; + clock-frequency = <400000>; + status = "okay"; + /* + rt1715@4e { + compatible = "richtek,rt1715"; + reg = <0x4e>; + interrupts-extended = <&pio 12 IRQ_TYPE_LEVEL_LOW>; + vbus-supply = <&usb_p1_vbus>; + status = "okay"; + + usb_con: connector { + compatible = "usb-c-connector"; + label = "USB-C"; + data-role = "dual"; + power-role = "dual"; + try-power-role = "sink"; + source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | + PDO_FIXED_DATA_SWAP)>; + sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | + PDO_FIXED_DATA_SWAP)>; + op-sink-microwatt = <10000000>; + orientation-switch = <&it5205fn>; + mode-switch = <&it5205fn>; + displayport = <&dp_intf1>; + + altmodes { + dp { + svid = <0x0ff01>; + vdo = <0x1c1c47>; + }; + }; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + tcpc_typec_usb: endpoint { + remote-endpoint = <&ssusb1_ep>; + }; + }; + }; + }; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 {}; + }; + }; + */ +}; + +&i2c5 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c5_pin>; + clock-frequency = <400000>; + status = "okay"; +}; + +&i2c6 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c6_pin>; + clock-frequency = <400000>; + status = "okay"; +}; + +&pmic { + interrupt-parent = <&pio>; + interrupts = <222 IRQ_TYPE_LEVEL_HIGH>; + + pmic_key: pmic-key { + compatible = "mediatek,mt6359-keys"; + mediatek,long-press-mode = <1>; + power-off-time-sec = <0>; + + power-key{ + linux,keycodes = <116>; + wakeup-source; + }; + + home-key{ + linux,keycodes = <114>; + }; + }; +}; + +&scp { + memory-region = <&scp_mem_reserved>; + status = "okay"; +}; + +&keypad { + mediatek,debounce-us = <32000>; + mediatek,double-keys; + keypad,num-rows = <1>; + keypad,num-columns = <2>; + linux,keymap = + <MATRIX_KEY(0x00, 0x00, KEY_VOLUMEDOWN) + MATRIX_KEY(0x00, 0x01, KEY_VOLUMEUP)>; + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&kpd_gpios_def_cfg>; +}; + +&mt6359codec { + mediatek,mic-type-0 = <1>; /* ACC */ + mediatek,mic-type-1 = <3>; /* DCC */ +}; + +/* +&mt6359_vbbck_ldo_reg { + regulator-always-on; +}; + +&mt6359_vcn33_2_bt_ldo_reg { + regulator-always-on; +}; + +&mt6359_vcore_buck_reg { + regulator-always-on; +}; + +&mt6359_vgpu11_buck_reg { + regulator-always-on; +}; + +&mt6359_vpu_buck_reg { + regulator-always-on; +}; + +&mt6359_vrf12_ldo_reg { + regulator-always-on; +}; + +&mt6359_vufs_ldo_reg { + regulator-always-on; +}; +*/ + +&uart0 { + pinctrl-0 = <&uart0_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&uart1 { + pinctrl-0 = <&uart1_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&uart2 { + pinctrl-0 = <&uart2_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&uart3 { + pinctrl-0 = <&uart3_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&mipi_tx0 { + status = "okay"; +}; + +&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; + supports-cqe; + cap-mmc-hw-reset; + no-sdio; + no-sd; + hs400-ds-delay = <0x1481b>; + //vmmc-supply = <&mt6359_vemc_1_ldo_reg>; + //vqmmc-supply = <&mt6359_vufs_ldo_reg>; + vmmc-supply = <®_vemc_pmu>; + vqmmc-supply = <®_vufs18_pmu>; + 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; + no-mmc; + no-sdio; + cd-gpios = <&pio 2 GPIO_ACTIVE_LOW>; + //vmmc-supply = <&mt6359_vpa_buck_reg>; + //vqmmc-supply = <&mt6359_vsim1_ldo_reg>; + //vmmc-supply = <®_3v3_run>; + vqmmc-supply = <®_vsim1_pmu>; +}; + +#if 0 +&mt6359_vpa_buck_reg { + regulator-max-microvolt = <3100000>; +}; + +&mt6359_vsim1_ldo_reg { + regulator-enable-ramp-delay = <480>; +}; +#endif + +/* +&wifi_pwrseq { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&wifi_pins_pwrseq>; + + reset-gpios = <&pio 127 1>; + post-power-on-delay-ms = <200>; +}; + +&mmc2 { + status = "okay"; + pinctrl-names = "default", "state_uhs", "state_eint", + "state_dat1"; + pinctrl-0 = <&mmc2_pins_default>; + pinctrl-1 = <&mmc2_pins_uhs>; + pinctrl-2 = <&mmc2_pins_eint>; + pinctrl-3 = <&mmc2_pins_dat1>; + eint-gpios = <&pio 172 0>; + bus-width = <4>; + max-frequency = <200000000>; + cap-sd-highspeed; + sd-uhs-sdr104; + keep-power-in-suspend; + enable-sdio-wakeup; + cap-sdio-async-int; + cap-sdio-irq; + no-mmc; + no-sd; + non-removable; + vmmc-supply = <&sdio_fixed_3v3>; + vqmmc-supply = <&sdio_fixed_1v8>; + mmc-pwrseq = <&wifi_pwrseq>; +}; + +&mt6359_vcn18_ldo_reg { + regulator-always-on; +}; +*/ + +&spi0 { + pinctrl-0 = <&spi0_pins>; + pinctrl-names = "default"; + mediatek,pad-select = <0>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + cs-gpios = <&pio 69 GPIO_ACTIVE_LOW>; + + can0: can@0 { + compatible = "microchip,mcp2518fd"; + reg = <0>; + clocks = <&can_clk>; + spi-max-frequency = <5000000>; + interrupts-extended = <&pio 73 IRQ_TYPE_LEVEL_LOW>; + vdd-supply = <®_3v3_run>; + xceiver-supply = <®_3v3_run>; + }; +}; + +&spi1 { + pinctrl-0 = <&spi1_pins>; + pinctrl-names = "default"; + mediatek,pad-select = <0>; + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + spidev@0 { + compatible = "mediatek,aiot-board"; + spi-max-frequency = <5000000>; + reg = <0>; + }; +}; + +&spmi { + mt6315_6: mt6315@6 { + compatible = "mediatek,mt6315-regulator"; + reg = <0x6 0 0xb 1>; + + regulators { + mt6315_6_vbuck1: vbuck1 { + regulator-compatible = "vbuck1"; + regulator-name = "Vbcpu"; + regulator-min-microvolt = <300000>; + regulator-max-microvolt = <1193750>; + regulator-enable-ramp-delay = <256>; + regulator-allowed-modes = <0 1 2>; + regulator-always-on; + mtk,combined-regulator = <2>; + }; + mt6315_6_vbuck3: vbuck3 { + regulator-compatible = "vbuck3"; + regulator-name = "Vdd2"; + regulator-min-microvolt = <300000>; + regulator-max-microvolt = <1193750>; + regulator-enable-ramp-delay = <256>; + regulator-allowed-modes = <0 1 2>; + regulator-always-on; + }; + mt6315_6_vbuck4: vbuck4 { + regulator-compatible = "vbuck4"; + regulator-name = "Vddq"; + regulator-min-microvolt = <300000>; + regulator-max-microvolt = <1193750>; + regulator-enable-ramp-delay = <256>; + regulator-allowed-modes = <0 1 2>; + regulator-always-on; + }; + }; + }; +}; + +&pcie { + pinctrl-names = "default"; + pinctrl-0 = <&pcie_pins_default>; + status = "okay"; +}; + +&pciephy { + status = "okay"; +}; + + +// USB 2.0 P0 (USB0) +// CN30 on BB (OTG) +&ssusb { + pinctrl-0 = <&usb_default>; + pinctrl-names = "default"; + maximum-speed = "high-speed"; + usb-role-switch; + dr_mode = "otg"; + //vusb33-supply = <&mt6359_vusb_ldo_reg>; + vusb33-supply = <®_vusb_pmu>; + //status = "okay"; + wakeup-source; +}; + +&u2port0 { + status = "okay"; +}; + +&u3phy0 { + status = "okay"; +}; + +// USB 3.0 P1 (USB2) +// CN72 on BB +&ssusb1 { + pinctrl-0 = <&usb1_default>; + pinctrl-names = "default"; + //vusb33-supply = <&mt6359_vusb_ldo_reg>; + vusb33-supply = <®_vusb_pmu>; + dr_mode = "host"; + mediatek,usb3-drd; + usb-role-switch; + //status = "okay"; + wakeup-source; +}; + +&u2port1 { + status = "okay"; +}; + +&u3port1 { + status = "okay"; +}; + +&u3phy1 { + status = "okay"; +}; + +// USB 2.0 P2 (USB Hub) +&ssusb2 { + maximum-speed = "high-speed"; + //usb-role-switch; + dr_mode = "host"; + //vusb33-supply = <&mt6359_vusb_ldo_reg>; + vusb33-supply = <®_3v3_run>; + //status = "okay"; + //wakeup-source; +}; + +&u2port2 { + status = "okay"; +}; + +&u3phy2 { + status = "okay"; +}; + +&mfg0 { + domain-supply = <&mt6359_vproc2_buck_reg>; +}; + +&sound { + compatible = "mediatek,mt8390-evk"; + model = "mt8390-evk"; + pinctrl-names = "default"; + pinctrl-0 = <&aud_pins_default>; + audio-routing = + "Headphone", "Headphone L", + "Headphone", "Headphone R", + "AIN1", "Headset Mic", + "DMIC_INPUT", "AP DMIC", + "AP DMIC", "AUDGLB", + "AP DMIC", "MIC_BIAS_0", + "AP DMIC", "MIC_BIAS_2"; + status = "okay"; + + dai-link-0 { + sound-dai = <&afe>; + dai-link-name = "ADDA_BE"; + status = "okay"; + + codec-0 { + sound-dai = <&pmic 0>; + }; + + codec-1 { + sound-dai = <&amic_codec>; + }; + }; + + dai-link-1 { + sound-dai = <&afe>; + dai-link-name = "ETDM3_OUT_BE"; + status = "okay"; + + codec-0 { + sound-dai = <&hdmi0>; + }; + }; + + dai-link-2 { + sound-dai = <&afe>; + dai-link-name = "DPTX_BE"; + status = "disabled"; + + codec-0 { + sound-dai = <&dp_tx>; + }; + }; + + dai-link-3 { + sound-dai = <&afe>; + dai-link-name = "DMIC_BE"; + status = "okay"; + + codec-0 { + sound-dai = <&dmic_codec>; + }; + }; +}; + +&cam_vcore { + domain-supply = <&mt6359_vproc1_buck_reg>; +}; + +&img_vcore { + domain-supply = <&mt6359_vproc1_buck_reg>; +}; diff --git a/arch/arm64/boot/dts/seco/seco-genio510-wilk.dts b/arch/arm64/boot/dts/seco/seco-genio510-wilk.dts index 980c393225968de11edfa73c5a202f70028b9e37..f79b2eed24500c03f3f2918829a6b45a6056f5f5 100644 --- a/arch/arm64/boot/dts/seco/seco-genio510-wilk.dts +++ b/arch/arm64/boot/dts/seco/seco-genio510-wilk.dts @@ -6,1550 +6,24 @@ #include "../mediatek/mt8370.dtsi" #include "../mediatek/mt6359.dtsi" -#include <dt-bindings/gpio/gpio.h> -#include <dt-bindings/input/input.h> -#include <dt-bindings/interrupt-controller/irq.h> -#include <dt-bindings/pinctrl/mediatek,mt8188-pinfunc.h> -#include <dt-bindings/usb/pd.h> -#include "seco-genio-irq.h" +#include "seco-genio-common.dtsi" + / { model = "SECO SOM-SMARC-Genio510 Module"; compatible = "mediatek,mt8370-evk", "mediatek,mt8188"; - - aliases { - serial0 = &uart0; - serial1 = &uart1; - dsi0 = &dsi0; - ethernet0 = ð - }; - - backlight_lcd0: backlight-lcd0 { - compatible = "pwm-backlight"; - pwms = <&disp_pwm0 0 500000>; - enable-gpios = <&pio 25 GPIO_ACTIVE_HIGH>; // DSI0_LCM_RST, Y9 - brightness-levels = <0 1023>; - num-interpolated-steps = <1023>; - default-brightness-level = <576>; - status = "disabled"; - }; - - chosen { - stdout-path = "serial1:115200n8"; - }; -/* - edp_panel_fixed_3v3: regulator@0 { - compatible = "regulator-fixed"; - regulator-name = "edp_panel_3v3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - enable-active-high; - gpio = <&pio 15 GPIO_ACTIVE_HIGH>; - pinctrl-names = "default"; - pinctrl-0 = <&edp_panel_3v3_en_pins>; - }; -*/ - memory@40000000 { - device_type = "memory"; - reg = <0 0x40000000 1 0x00000000>; - }; - - reserved-memory { - #address-cells = <2>; - #size-cells = <2>; - ranges; - - apu_reserve_memory: apu-reserve-memory{ - compatible = "shared-dma-pool"; - size = <0 0x1400000>; //20 MB - alignment = <0 0x10000>; - reg = <0 0x55000000 0 0x1400000>; - }; - - vpu_reserve_memory: vpu-reserve-memory { - compatible = "shared-dma-pool"; - size = <0 0x1400000>; //20 MB - alignment = <0 0x10000>; - reg = <0 0x57000000 0 0x1400000>; - }; - - /* 12 MiB reserved for OP-TEE (BL32) - * +-----------------------+ 0x43e0_0000 - * | SHMEM 2MiB | - * +-----------------------+ 0x43c0_0000 - * | | TA_RAM 8MiB | - * + TZDRAM +--------------+ 0x4340_0000 - * | | TEE_RAM 2MiB | - * +-----------------------+ 0x4320_0000 - */ - optee_reserved: optee@43200000 { - no-map; - reg = <0 0x43200000 0 0x00c00000>; - }; - - scp_mem_reserved: scp-mem-region { - compatible = "shared-dma-pool"; - reg = <0 0x50000000 0 0x2900000>; - no-map; - }; - - /* 2 MiB reserved for ARM Trusted Firmware (BL31) */ - bl31_secmon_reserved: secmon@54600000 { - no-map; - reg = <0 0x54600000 0x0 0x200000>; - }; - }; - - firmware { - optee { - compatible = "linaro,optee-tz"; - method = "smc"; - }; - }; - - // regulators from evk -#if 0 - usb_p0_vbus: usb0-otg-vbus { - compatible = "regulator-fixed"; - regulator-name = "p0_vbus"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - gpio = <&pio 84 GPIO_ACTIVE_HIGH>; - enable-active-high; - }; - - usb_p1_vbus: usb-p1-vbus { - compatible = "regulator-fixed"; - regulator-name = "p1_vbus"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - gpio = <&pio 87 GPIO_ACTIVE_HIGH>; - enable-active-high; - }; - - usb_p2_vbus: usb-p2-vbus { - compatible = "regulator-fixed"; - regulator-name = "p2_vbus"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - enable-active-high; - }; - - hub3v3: regulator@4 { - compatible = "regulator-fixed"; - regulator-name = "vhub3v3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - gpio = <&pio 112 0>; /* HUB_3V3_EN */ - startup-delay-us = <10000>; - enable-active-high; - }; - - onboard_hub: regulator@5 { - compatible = "regulator-fixed"; - regulator-name = "hub_reset"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - gpio = <&pio 7 0>; /* HUB_RESET */ - vin-supply = <&hub3v3>; - enable-active-low; - }; - - lcm1_tp_avdd: lcm1-tp-avdd { - compatible = "regulator-fixed"; - regulator-name = "lcm1-tp-avdd"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - gpio = <&pio 119 GPIO_ACTIVE_HIGH>; - enable-active-high; - }; - - VDD_5V: VDD-5V { - compatible = "regulator-fixed"; - regulator-name = "VDD-5V"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - gpio = <&pio 10 GPIO_ACTIVE_HIGH>; - enable-active-high; - regulator-always-on; - }; - - VDD_3V3: VDD-3V3 { - compatible = "regulator-fixed"; - regulator-name = "VDD-3V3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - gpio = <&pio 9 GPIO_ACTIVE_HIGH>; - enable-active-high; - regulator-always-on; - }; - - sdio_fixed_3v3: regulator@2 { - compatible = "regulator-fixed"; - regulator-name = "sdio_card"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - gpio = <&pio 74 0>; - enable-active-high; - regulator-always-on; - }; - - sdio_fixed_1v8: regulator@3 { - compatible = "regulator-fixed"; - regulator-name = "sdio_io"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - enable-active-high; - regulator-always-on; - }; -#endif - - // ******************* - // regulators for wilk - // from baseboard - reg_5v_sleep: 5v_sleep { - compatible = "regulator-fixed"; - regulator-name = "5V_SLEEP"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - regulator-always-on; - }; - - // voltage regulator u2300 - reg_3v3_sleep: 3v3_sleep { - compatible = "regulator-fixed"; - regulator-name = "3V3_SLEEP"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - vin-supply = <®_5v_sleep>; - regulator-always-on; - }; - - // voltage regulator u2301 - reg_1v8_sleep: 1v8_sleep { - compatible = "regulator-fixed"; - regulator-name = "1V8_SLEEP"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <®_3v3_sleep>; - regulator-always-on; - }; - - // voltage switch u2302 - reg_5v_run: 5v_run { - compatible = "regulator-fixed"; - regulator-name = "5V_RUN"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - vin-supply = <®_5v_sleep>; - regulator-always-on; - }; - - // MT6365 BUCK - reg_dvdd_mm: dvdd_mm { - compatible = "regulator-fixed"; - regulator-name = "DVDD_MM"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vproc1_buck_reg>; - regulator-always-on; - }; - - reg_dvdd_gpu: dvdd_gpu { - compatible = "regulator-fixed"; - regulator-name = "DVDD_GPU"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vproc2_buck_reg>; - regulator-always-on; - }; - - reg_dvdd_proc_l: dvdd_proc_l { - compatible = "regulator-fixed"; - regulator-name = "DVDD_PROC_L"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vcore_buck_reg>; - regulator-always-on; - }; - - reg_dvdd_adsp: dvdd_adsp { - compatible = "regulator-fixed"; - regulator-name = "DVDD_ADSP"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vpu_buck_reg>; - regulator-always-on; - }; - - reg_dvdd_sram_core: dvdd_sram_core { - compatible = "regulator-fixed"; - regulator-name = "DVDD_SRAM_CORE"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vpu_buck_reg>; - regulator-always-on; - }; - - reg_dvdd_sram_mm: dvdd_sram_mm { - compatible = "regulator-fixed"; - regulator-name = "DVDD_SRAM_MM"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vpu_buck_reg>; - regulator-always-on; - }; - - reg_avdd075_drv_dsi: avdd075_drv_dsi { - compatible = "regulator-fixed"; - regulator-name = "AVDD075_DRV_DSI"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vpu_buck_reg>; - regulator-always-on; - }; - - reg_3v3_wifi: 3v3_wifi { - compatible = "regulator-fixed"; - regulator-name = "3V3_WIFI"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - vin-supply = <&mt6359_vpa_buck_reg>; - regulator-always-on; - }; - - reg_vs1_pmu: vs1_pmu { - compatible = "regulator-fixed"; - regulator-name = "VS1_PMU"; - regulator-min-microvolt = <2000000>; - regulator-max-microvolt = <2000000>; - vin-supply = <&mt6359_vs1_buck_reg>; - regulator-always-on; - }; - - reg_vs2_pmu: vs2_pmu { - compatible = "regulator-fixed"; - regulator-name = "VS2_PMU"; - regulator-min-microvolt = <1350000>; - regulator-max-microvolt = <1350000>; - vin-supply = <&mt6359_vs2_buck_reg>; - regulator-always-on; - }; - - reg_dvdd_apu: dvdd_apu { - compatible = "regulator-fixed"; - regulator-name = "DVDD_APU"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vmodem_buck_reg>; - regulator-always-on; - }; - - reg_dvdd_core: dvdd_core { - compatible = "regulator-fixed"; - regulator-name = "DVDD_CORE"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vgpu11_buck_reg>; - regulator-always-on; - }; - - // MT6365 LDO - reg_vaux18_pmu: vaux18_pmu { - compatible = "regulator-fixed"; - regulator-name = "VAUX18_PMU"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <&mt6359_vaux18_ldo_reg>; - regulator-always-on; - }; - - reg_vusb_pmu: vusb_pmu { - compatible = "regulator-fixed"; - regulator-name = "VUSB_PMU"; - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3000000>; - vin-supply = <&mt6359_vusb_ldo_reg>; - regulator-always-on; - }; - - reg_3v3_run: 3v3_run { - compatible = "regulator-fixed"; - regulator-name = "3V3_RUN"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - vin-supply = <&mt6359_vcn33_1_bt_ldo_reg>; - regulator-always-on; - }; - - reg_vemc_pmu: vemc_pmu { - compatible = "regulator-fixed"; - regulator-name = "VEMC_PMU"; - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3000000>; - vin-supply = <&mt6359_vemc_1_ldo_reg>; - regulator-always-on; - }; - - reg_vsim1_pmu: vsim1_pmu { - compatible = "regulator-fixed"; - regulator-name = "VSIM1_PMU"; - regulator-min-microvolt = <2800000>; - regulator-max-microvolt = <2800000>; - vin-supply = <&mt6359_vsim1_ldo_reg>; - regulator-always-on; - }; - - reg_vio28_pmu: vio28_pmu { - compatible = "regulator-fixed"; - regulator-name = "VIO28_PMU"; - regulator-min-microvolt = <2800000>; - regulator-max-microvolt = <2800000>; - vin-supply = <&mt6359_vio18_ldo_reg>; - regulator-always-on; - }; - - reg_vufs18_pmu: vufs18_pmu { - compatible = "regulator-fixed"; - regulator-name = "VUFS18_PMU"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <&mt6359_vufs_ldo_reg>; - regulator-always-on; - }; - - reg_1v8_run: 1v8_run { - compatible = "regulator-fixed"; - regulator-name = "1V8_RUN"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <&mt6359_vcn18_ldo_reg>; - regulator-always-on; - }; - - reg_vio18_pmu: vio18_pmu { - compatible = "regulator-fixed"; - regulator-name = "VIO18_PMU"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <&mt6359_vio18_ldo_reg>; - regulator-always-on; - }; - - reg_vio18_pmu_avdd: vio18_pmu_avdd { - compatible = "regulator-fixed"; - regulator-name = "VIO18_PMU_AVDD"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <&mt6359_vio18_ldo_reg>; - regulator-always-on; - }; - - reg_vefuse_pmu: vefuse_pmu { - compatible = "regulator-fixed"; - regulator-name = "VEFUSE_PMU"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <&mt6359_vefuse_ldo_reg>; - regulator-always-on; - }; - - reg_vaud18_pmu: vaud18_pmu { - compatible = "regulator-fixed"; - regulator-name = "VAUD18_PMU"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <&mt6359_vaud18_ldo_reg>; - regulator-always-on; - }; - - reg_va12_abb1_pmu: va12_abb1_pmu { - compatible = "regulator-fixed"; - regulator-name = "VA12_ABB1_PMU"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <&mt6359_va12_ldo_reg>; - regulator-always-on; - }; - - reg_dvdd_sram_apu: dvdd_sram_apu { - compatible = "regulator-fixed"; - regulator-name = "DVDD_SRAM_APU"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vsram_md_ldo_reg>; - regulator-always-on; - }; - - reg_dvdd_sram_proc_l: dvdd_sram_proc_l { - compatible = "regulator-fixed"; - regulator-name = "DVDD_SRAM_PROC_L"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vsram_proc1_ldo_reg>; - regulator-always-on; - }; - - reg_dvdd_sram_proc_b: dvdd_sram_proc_b { - compatible = "regulator-fixed"; - regulator-name = "DVDD_SRAM_PROC_B"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vsram_proc2_ldo_reg>; - regulator-always-on; - }; - - reg_dvdd_sram_gpu: dvdd_sram_gpu { - compatible = "regulator-fixed"; - regulator-name = "DVDD_SRAM_GPU"; - regulator-min-microvolt = <850000>; - regulator-max-microvolt = <850000>; - vin-supply = <&mt6359_vsram_others_ldo_reg>; - regulator-always-on; - }; - - reg_va12_abb2_pmu: va12_abb2_pmu { - compatible = "regulator-fixed"; - regulator-name = "VA12_ABB2_PMU"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <&mt6359_vrf12_ldo_reg>; - regulator-always-on; - }; - - amic_codec: amic-codec { - #sound-dai-cells = <0>; - compatible = "dmic-codec"; - num-channels = <2>; - wakeup-delay-ms = <200>; - }; - - dmic_codec: dmic-codec { - #sound-dai-cells = <0>; - compatible = "dmic-codec"; - num-channels = <2>; - wakeup-delay-ms = <30>; - }; - - can_clk: can-clk { - compatible = "fixed-clock"; - #clock-cells = <0>; - clock-frequency = <20000000>; - clock-output-names = "can-clk"; - }; -}; - -&afe { - #sound-dai-cells = <0>; - mediatek,dmic-iir-on; - mediatek,dmic-clk-mono; - status = "okay"; -}; - -ð { - phy-mode ="rgmii-rxid"; - phy-handle = <ðernet_phy0>; - snps,reset-gpio = <&pio 147 GPIO_ACTIVE_HIGH>; - snps,reset-delay-us = <0 10000 10000>; - mediatek,tx-delay-ps = <2030>; - mediatek,mac-wol; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <ð_default_pins>; - pinctrl-1 = <ð_sleep_pins>; - status = "okay"; - - mdio { - compatible = "snps,dwmac-mdio"; - #address-cells = <1>; - #size-cells = <0>; - ethernet_phy0: ethernet-phy@0 { - compatible = "ethernet-phy-id001c.c916"; - reg = <0>; - }; - }; -}; - -&dpi1 { - status = "okay"; }; -&dp_intf1 { - status = "disabled"; - mediatek,oob-hpd; - ports { - port { - dp_intf1_out: endpoint { - remote-endpoint = <&dptx_in>; - }; - }; - }; -}; - -&dp_tx { - pinctrl-names = "default"; - pinctrl-0 = <&dptx_pin>; - status = "disabled"; - - ports { - #address-cells = <1>; - #size-cells = <0>; - port { - dptx_in: endpoint { - remote-endpoint = <&dp_intf1_out>; - }; - }; - }; -}; - -&hdmi0 { - status = "okay"; -}; &pio { - aud_pins_default: audiodefault { - pins-cmd-dat { - pinmux = <PINMUX_GPIO101__FUNC_O_AUD_CLK_MOSI>, - <PINMUX_GPIO102__FUNC_O_AUD_SYNC_MOSI>, - <PINMUX_GPIO103__FUNC_O_AUD_DAT_MOSI0>, - <PINMUX_GPIO104__FUNC_O_AUD_DAT_MOSI1>, - <PINMUX_GPIO105__FUNC_I0_AUD_DAT_MISO0>, - <PINMUX_GPIO106__FUNC_I0_AUD_DAT_MISO1>, - <PINMUX_GPIO107__FUNC_B0_I2SIN_MCK>, - <PINMUX_GPIO108__FUNC_B0_I2SIN_BCK>, - <PINMUX_GPIO109__FUNC_B0_I2SIN_WS>, - <PINMUX_GPIO110__FUNC_I0_I2SIN_D0>, - <PINMUX_GPIO114__FUNC_O_I2SO2_MCK>, - <PINMUX_GPIO115__FUNC_B0_I2SO2_BCK>, - <PINMUX_GPIO116__FUNC_B0_I2SO2_WS>, - <PINMUX_GPIO117__FUNC_O_I2SO2_D0>, - <PINMUX_GPIO118__FUNC_O_I2SO2_D1>, - <PINMUX_GPIO125__FUNC_O_DMIC1_CLK>, - <PINMUX_GPIO126__FUNC_I0_DMIC1_DAT>, - <PINMUX_GPIO128__FUNC_O_DMIC2_CLK>, - <PINMUX_GPIO129__FUNC_I0_DMIC2_DAT>, - <PINMUX_GPIO121__FUNC_B0_PCM_CLK>, - <PINMUX_GPIO122__FUNC_B0_PCM_SYNC>, - <PINMUX_GPIO124__FUNC_I0_PCM_DI>; - }; - }; - - edp_panel_3v3_en_pins: edp-panel-3v3-en-pins { - pins1 { - pinmux = <PINMUX_GPIO15__FUNC_B_GPIO15>; - output-high; - }; - }; - - dptx_pin: dptx-pin { - pins-cmd-dat { - pinmux = <PINMUX_GPIO46__FUNC_I0_DP_TX_HPD>; - bias-pull-up; - }; - }; - - eth_default_pins: eth-default-pins { - pins-txd { - pinmux = <PINMUX_GPIO131__FUNC_O_GBE_TXD3>, - <PINMUX_GPIO132__FUNC_O_GBE_TXD2>, - <PINMUX_GPIO133__FUNC_O_GBE_TXD1>, - <PINMUX_GPIO134__FUNC_O_GBE_TXD0>; - drive-strength = <MTK_DRIVE_8mA>; - }; - pins-cc { - pinmux = <PINMUX_GPIO139__FUNC_B0_GBE_TXC>, - <PINMUX_GPIO142__FUNC_O_GBE_TXEN>, - <PINMUX_GPIO141__FUNC_I0_GBE_RXDV>, - <PINMUX_GPIO140__FUNC_I0_GBE_RXC>; - drive-strength = <MTK_DRIVE_8mA>; - }; - pins-rxd { - pinmux = <PINMUX_GPIO135__FUNC_I0_GBE_RXD3>, - <PINMUX_GPIO136__FUNC_I0_GBE_RXD2>, - <PINMUX_GPIO137__FUNC_I0_GBE_RXD1>, - <PINMUX_GPIO138__FUNC_I0_GBE_RXD0>; - drive-strength = <MTK_DRIVE_8mA>; - }; - pins-mdio { - pinmux = <PINMUX_GPIO143__FUNC_O_GBE_MDC>, - <PINMUX_GPIO144__FUNC_B1_GBE_MDIO>; - drive-strength = <MTK_DRIVE_8mA>; - input-enable; - }; - pins-power { - pinmux = <PINMUX_GPIO145__FUNC_B_GPIO145>, - <PINMUX_GPIO146__FUNC_B_GPIO146>; - output-high; - }; - pins-reset { - pinmux = <PINMUX_GPIO147__FUNC_B_GPIO147>; - output-high; - }; - }; - - eth_sleep_pins: eth-sleep-pins { - pins-txd { - pinmux = <PINMUX_GPIO131__FUNC_B_GPIO131>, - <PINMUX_GPIO132__FUNC_B_GPIO132>, - <PINMUX_GPIO133__FUNC_B_GPIO133>, - <PINMUX_GPIO134__FUNC_B_GPIO134>; - }; - pins-cc { - pinmux = <PINMUX_GPIO139__FUNC_B_GPIO139>, - <PINMUX_GPIO142__FUNC_B_GPIO142>, - <PINMUX_GPIO141__FUNC_B_GPIO141>, - <PINMUX_GPIO140__FUNC_B_GPIO140>; - }; - pins-rxd { - pinmux = <PINMUX_GPIO135__FUNC_B_GPIO135>, - <PINMUX_GPIO136__FUNC_B_GPIO136>, - <PINMUX_GPIO137__FUNC_B_GPIO137>, - <PINMUX_GPIO138__FUNC_B_GPIO138>; - }; - pins-mdio { - pinmux = <PINMUX_GPIO143__FUNC_B_GPIO143>, - <PINMUX_GPIO144__FUNC_B_GPIO144>; - input-disable; - bias-disable; - }; - }; - - uart0_pins: uart0-pins { - pins { - pinmux = <PINMUX_GPIO31__FUNC_O_UTXD0>, - <PINMUX_GPIO32__FUNC_I1_URXD0>; - bias-pull-up; - }; - }; - - uart1_pins: uart1-pins { - pins { - pinmux = <PINMUX_GPIO33__FUNC_O_UTXD1>, - <PINMUX_GPIO34__FUNC_I1_URXD1>, - <PINMUX_GPIO35__FUNC_O_URTS1>, - <PINMUX_GPIO36__FUNC_I1_UCTS1>; - bias-pull-up; - }; - }; - - uart2_pins: uart2-pins { - pins { - pinmux = <PINMUX_GPIO79__FUNC_O_UTXD2>, - <PINMUX_GPIO80__FUNC_I1_URXD2>, - <PINMUX_GPIO81__FUNC_O_URTS2>, - <PINMUX_GPIO82__FUNC_I1_UCTS2>; - bias-pull-up; - }; - }; - - i2c0_pin: i2c0-pin { - pins-bus { - pinmux = <PINMUX_GPIO56__FUNC_B1_SDA0>, - <PINMUX_GPIO55__FUNC_B1_SCL0>; - bias-pull-up = <MTK_PULL_SET_RSEL_101>; - mediatek,drive-strength-adv = <0>; - drive-strength = <MTK_DRIVE_8mA>; - }; - }; - - i2c1_pin: i2c1-pin { - pins-bus { - pinmux = <PINMUX_GPIO58__FUNC_B1_SDA1>, - <PINMUX_GPIO57__FUNC_B1_SCL1>; - bias-pull-up = <MTK_PULL_SET_RSEL_101>; - mediatek,drive-strength-adv = <0>; - drive-strength = <MTK_DRIVE_8mA>; - }; - }; - - i2c2_pin: i2c2-pin { - pins-bus { - pinmux = <PINMUX_GPIO60__FUNC_B1_SDA2>, - <PINMUX_GPIO59__FUNC_B1_SCL2>; - bias-pull-up = <MTK_PULL_SET_RSEL_101>; - mediatek,drive-strength-adv = <0>; - drive-strength = <MTK_DRIVE_8mA>; - }; - }; - - i2c3_pin: i2c3-pin { - pins-bus { - pinmux = <PINMUX_GPIO62__FUNC_B1_SDA3>, - <PINMUX_GPIO61__FUNC_B1_SCL3>; - bias-pull-up = <MTK_PULL_SET_RSEL_101>; - mediatek,drive-strength-adv = <0>; - drive-strength = <MTK_DRIVE_8mA>; - }; - }; - - i2c4_pin: i2c4-pin { - pins-bus { - pinmux = <PINMUX_GPIO64__FUNC_B1_SDA4>, - <PINMUX_GPIO63__FUNC_B1_SCL4>; - bias-pull-up = <MTK_PULL_SET_RSEL_111>; - mediatek,drive-strength-adv = <0>; - drive-strength = <MTK_DRIVE_8mA>; - }; - }; - - i2c5_pin: i2c5-pin { - pins-bus { - pinmux = <PINMUX_GPIO66__FUNC_B1_SDA5>, - <PINMUX_GPIO65__FUNC_B1_SCL5>; - bias-pull-up = <MTK_PULL_SET_RSEL_101>; - mediatek,drive-strength-adv = <0>; - drive-strength = <MTK_DRIVE_8mA>; - }; - }; - - i2c6_pin: i2c6-pin { - pins-bus { - pinmux = <PINMUX_GPIO68__FUNC_B1_SDA6>, - <PINMUX_GPIO67__FUNC_B1_SCL6>; - bias-pull-up = <MTK_PULL_SET_RSEL_101>; - mediatek,drive-strength-adv = <0>; - drive-strength = <MTK_DRIVE_8mA>; - }; - }; - - kpd_gpios_def_cfg: keypad-pins-default { - pins_kp { - pinmux = <PINMUX_GPIO44__FUNC_B1_KPROW0>, - <PINMUX_GPIO43__FUNC_B1_KPCOL1>, - <PINMUX_GPIO42__FUNC_B1_KPCOL0>; - }; - }; - - mmc0_pins_default: mmc0default { - pins-cmd-dat { - pinmux = <PINMUX_GPIO161__FUNC_B1_MSDC0_DAT0>, - <PINMUX_GPIO160__FUNC_B1_MSDC0_DAT1>, - <PINMUX_GPIO159__FUNC_B1_MSDC0_DAT2>, - <PINMUX_GPIO158__FUNC_B1_MSDC0_DAT3>, - <PINMUX_GPIO154__FUNC_B1_MSDC0_DAT4>, - <PINMUX_GPIO153__FUNC_B1_MSDC0_DAT5>, - <PINMUX_GPIO152__FUNC_B1_MSDC0_DAT6>, - <PINMUX_GPIO151__FUNC_B1_MSDC0_DAT7>, - <PINMUX_GPIO156__FUNC_B1_MSDC0_CMD>; - input-enable; - drive-strength = <MTK_DRIVE_6mA>; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - - pins-clk { - pinmux = <PINMUX_GPIO157__FUNC_B1_MSDC0_CLK>; - drive-strength = <MTK_DRIVE_6mA>; - bias-pull-down = <MTK_PUPD_SET_R1R0_10>; - }; - - pins-rst { - pinmux = <PINMUX_GPIO155__FUNC_O_MSDC0_RSTB>; - drive-strength = <MTK_DRIVE_6mA>; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - }; - - mmc0_pins_uhs: mmc0uhs{ - pins-cmd-dat { - pinmux = <PINMUX_GPIO161__FUNC_B1_MSDC0_DAT0>, - <PINMUX_GPIO160__FUNC_B1_MSDC0_DAT1>, - <PINMUX_GPIO159__FUNC_B1_MSDC0_DAT2>, - <PINMUX_GPIO158__FUNC_B1_MSDC0_DAT3>, - <PINMUX_GPIO154__FUNC_B1_MSDC0_DAT4>, - <PINMUX_GPIO153__FUNC_B1_MSDC0_DAT5>, - <PINMUX_GPIO152__FUNC_B1_MSDC0_DAT6>, - <PINMUX_GPIO151__FUNC_B1_MSDC0_DAT7>, - <PINMUX_GPIO156__FUNC_B1_MSDC0_CMD>; - input-enable; - drive-strength = <MTK_DRIVE_8mA>; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - - pins-clk { - pinmux = <PINMUX_GPIO157__FUNC_B1_MSDC0_CLK>; - drive-strength = <MTK_DRIVE_8mA>; - bias-pull-down = <MTK_PUPD_SET_R1R0_10>; - }; - - pins-ds { - pinmux = <PINMUX_GPIO162__FUNC_B0_MSDC0_DSL>; - drive-strength = <MTK_DRIVE_8mA>; - bias-pull-down = <MTK_PUPD_SET_R1R0_10>; - }; - - pins-rst { - pinmux = <PINMUX_GPIO155__FUNC_O_MSDC0_RSTB>; - drive-strength = <MTK_DRIVE_8mA>; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - }; - - mmc1_pins_default: mmc1default { - pins-cmd-dat { - pinmux = <PINMUX_GPIO163__FUNC_B1_MSDC1_CMD>, - <PINMUX_GPIO165__FUNC_B1_MSDC1_DAT0>, - <PINMUX_GPIO166__FUNC_B1_MSDC1_DAT1>, - <PINMUX_GPIO167__FUNC_B1_MSDC1_DAT2>, - <PINMUX_GPIO168__FUNC_B1_MSDC1_DAT3>; - input-enable; - drive-strength = <MTK_DRIVE_6mA>; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - - pins-clk { - pinmux = <PINMUX_GPIO164__FUNC_B1_MSDC1_CLK>; - drive-strength = <MTK_DRIVE_6mA>; - bias-pull-down = <MTK_PUPD_SET_R1R0_10>; - }; - - pins-insert { - pinmux = <PINMUX_GPIO2__FUNC_B_GPIO2>; - bias-pull-up; - }; - - pins-enable { - pinmux = <PINMUX_GPIO4__FUNC_B_GPIO4>; - bias-pull-up; - }; - }; - - mmc1_pins_uhs: mmc1uhs { - pins-cmd-dat { - pinmux = <PINMUX_GPIO163__FUNC_B1_MSDC1_CMD>, - <PINMUX_GPIO165__FUNC_B1_MSDC1_DAT0>, - <PINMUX_GPIO166__FUNC_B1_MSDC1_DAT1>, - <PINMUX_GPIO167__FUNC_B1_MSDC1_DAT2>, - <PINMUX_GPIO168__FUNC_B1_MSDC1_DAT3>; - input-enable; - drive-strength = <MTK_DRIVE_6mA>; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - - pins-clk { - pinmux = <PINMUX_GPIO164__FUNC_B1_MSDC1_CLK>; - drive-strength = <MTK_DRIVE_6mA>; - bias-pull-down = <MTK_PUPD_SET_R1R0_10>; - }; - - pins-insert { - pinmux = <PINMUX_GPIO2__FUNC_B_GPIO2>; - bias-pull-up; - }; - - pins-enable { - pinmux = <PINMUX_GPIO4__FUNC_B_GPIO4>; - bias-pull-up; - }; - }; - - mmc2_pins_default: mmc2default { - pins-clk { - pinmux = <PINMUX_GPIO170__FUNC_B1_MSDC2_CLK>; - drive-strength = <MTK_DRIVE_4mA>; - bias-pull-down = <MTK_PUPD_SET_R1R0_10>; - }; - - pins-cmd-dat { - pinmux = <PINMUX_GPIO169__FUNC_B1_MSDC2_CMD>, - <PINMUX_GPIO171__FUNC_B1_MSDC2_DAT0>, - <PINMUX_GPIO172__FUNC_B1_MSDC2_DAT1>, - <PINMUX_GPIO173__FUNC_B1_MSDC2_DAT2>, - <PINMUX_GPIO174__FUNC_B1_MSDC2_DAT3>; - input-enable; - drive-strength = <MTK_DRIVE_6mA>; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - - pins-pcm { - pinmux = <PINMUX_GPIO123__FUNC_O_PCM_DO>; - }; - - wcn-3v3-en { - pinmux = <PINMUX_GPIO74__FUNC_B_GPIO74>; - output-high; - }; - }; - - mmc2_pins_uhs: mmc2uhs { - pins-clk { - pinmux = <PINMUX_GPIO170__FUNC_B1_MSDC2_CLK>; - drive-strength = <MTK_DRIVE_4mA>; - bias-pull-down = <MTK_PUPD_SET_R1R0_10>; - }; - - pins-cmd-dat { - pinmux = <PINMUX_GPIO169__FUNC_B1_MSDC2_CMD>, - <PINMUX_GPIO171__FUNC_B1_MSDC2_DAT0>, - <PINMUX_GPIO172__FUNC_B1_MSDC2_DAT1>, - <PINMUX_GPIO173__FUNC_B1_MSDC2_DAT2>, - <PINMUX_GPIO174__FUNC_B1_MSDC2_DAT3>; - input-enable; - drive-strength = <MTK_DRIVE_6mA>; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - }; - - mmc2_pins_eint: dat1-eint { - pins-dat1 { - pinmux = <PINMUX_GPIO172__FUNC_B_GPIO172>; - input-enable; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - }; - - mmc2_pins_dat1: sdio-dat1 { - pins-dat1 { - pinmux = <PINMUX_GPIO172__FUNC_B1_MSDC2_DAT1>; - input-enable; - drive-strength = <MTK_DRIVE_6mA>; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - }; - wifi_pins_pwrseq: wifipwrseq { pins-wifi-enable { pinmux = <PINMUX_GPIO72__FUNC_B_GPIO72>; output-low; }; }; - - spi0_pins: spi0-pins { - pins-spi { - pinmux = <PINMUX_GPIO69__FUNC_O_SPIM0_CSB>, - <PINMUX_GPIO70__FUNC_O_SPIM0_CLK>, - <PINMUX_GPIO71__FUNC_B0_SPIM0_MOSI>, - <PINMUX_GPIO72__FUNC_B0_SPIM0_MISO>; - bias-disable; - }; - }; - - spi1_pins: spi1-pins { - pins-spi { - pinmux = <PINMUX_GPIO75__FUNC_O_SPIM1_CSB>, - <PINMUX_GPIO76__FUNC_O_SPIM1_CLK>, - <PINMUX_GPIO77__FUNC_B0_SPIM1_MOSI>, - <PINMUX_GPIO78__FUNC_B0_SPIM1_MISO>; - bias-disable; - }; - }; - - pcie_pins_default: pcie-default { - mux { - pinmux = <PINMUX_GPIO47__FUNC_I1_WAKEN>, - <PINMUX_GPIO48__FUNC_O_PERSTN>, - <PINMUX_GPIO49__FUNC_B1_CLKREQN>; - bias-pull-up; - }; - }; - - usb_default: usbdefault { - iddig-pin { - pinmux = <PINMUX_GPIO83__FUNC_B_GPIO83>; - input-enable; - bias-pull-up; - }; - - vbus-pins { - pinmux = <PINMUX_GPIO84__FUNC_O_USB_DRVVBUS>; - output-high; - }; - - valid-pin { - pinmux = <PINMUX_GPIO85__FUNC_I0_VBUSVALID>; - input-enable; - }; - }; - - usb1_default: usbp1default { - valid_pin { - pinmux = <PINMUX_GPIO88__FUNC_I0_VBUSVALID_1P>; - input-enable; - }; - - usb-hub-3v3-en-pin { - pinmux = <PINMUX_GPIO112__FUNC_B_GPIO112>; - output-high; - }; - }; - - tpm_default: tpmdefault { - pins-enable { - pinmux = <PINMUX_GPIO6__FUNC_B_GPIO6>; - output-high; - }; - }; -/* - touch_pins: touchdefault { - touch_pin_irq: pin-irq { - pinmux = <PINMUX_GPIO6__FUNC_B_GPIO6>; - input-enable; - bias-disable; - }; - - touch_pin_reset: pin-reset { - pinmux = <PINMUX_GPIO5__FUNC_B_GPIO5>; - output-high; - }; - }; -*/ -}; - -&i2c0 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c0_pin>; - clock-frequency = <400000>; - status = "okay"; - /* - touchscreen@5d { - compatible = "goodix,gt9271"; - reg = <0x5d>; - interrupt-parent = <&pio>; - interrupts = <6 IRQ_TYPE_EDGE_RISING>; - irq-gpios = <&pio 6 GPIO_ACTIVE_HIGH>; - reset-gpios = <&pio 5 GPIO_ACTIVE_HIGH>; - AVDD28-supply = <&lcm1_tp_avdd>; - VDDIO-supply = <&mt6359_vio18_ldo_reg>; - pinctrl-names = "default"; - pinctrl-0 = <&touch_pins>; - }; - */ -}; - -&i2c1 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c1_pin>; - clock-frequency = <400000>; - status = "okay"; -/* - it5205fn: it5205fn@48 { - compatible = "mediatek,it5205fn"; - reg = <0x48>; - type3v3-supply = <&mt6359_vcn33_1_bt_ldo_reg>; - svid = /bits/ 16 <0xff01>; - status = "okay"; - }; -*/ - - lvds_bridge: lvds-bridge@2c { - compatible = "seco,i2cdummy"; - reg = <0x2c>; - enable-gpios = <&pio 12 GPIO_ACTIVE_HIGH>; - status = "disabled"; - }; - - rtc1: rtc@51 { - compatible = "nxp,pcf85063tp"; - reg = <0x51>; - status = "okay"; - }; -}; - -&i2c2 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c2_pin>; - clock-frequency = <400000>; - status = "okay"; - - // SL B 9673 TPM2.0 @0x2E - tpm: slb9673@2e { - pinctrl-names = "default"; - pinctrl-0 = <&tpm_default>; - compatible = "infineon,tpm_i2c_infineon"; - reg = <0x2e>; - status = "okay"; - }; -}; - -&i2c3 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c3_pin>; - clock-frequency = <100000>; - status = "okay"; - - - stm32: stm32@40 { - compatible = "seco,stm32"; - reg = <0x40>; - #pwm-cells = <2>; - npwm = <0>; - gpio-controller; - #gpio-cells = <2>; - ngpios =/bits/ 16 <STM32_NGPIOS>; - status = "okay"; - - gpio-line-names = - "", "", "", "", "GPIO4", "GPIO5", "GPIO6", - "GPIO7", "GPIO8", "GPIO9", "GPIO10", "GPIO11", - "GPIO12", "GPIO13", "", "", "", "", "", "", - "USB0_EN_OC#", "USB1_EN_OC#", "", "USB3_EN_OC#", - "", "", "USB_HUB_RST#_1V8", "", "", "", "", "", - "", "", "", "", "", "WIFI_CLK_EN", "WIFI_PWRDWN#_1V8", - "BATLOW#", "CHARGING#", "CHARGER_PRSNT#", "RESET_OUT#"; - - gpios { - gpio26 { // USB_HUB_RST#_1V8 - dir = <0>; - config = <21>; - }; - }; - }; -}; - -&i2c4 { - pinctrl-names = "default";//, "default"; - pinctrl-0 = <&i2c4_pin>; - //pinctrl-1 = <&rt1715_int>; - clock-frequency = <400000>; - status = "okay"; -}; - -&i2c5 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c5_pin>; - clock-frequency = <400000>; - status = "okay"; -}; - -&i2c6 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c6_pin>; - clock-frequency = <400000>; - status = "okay"; -}; - -&pmic { - interrupt-parent = <&pio>; - interrupts = <222 IRQ_TYPE_LEVEL_HIGH>; - - pmic_key: pmic-key { - compatible = "mediatek,mt6359-keys"; - mediatek,long-press-mode = <1>; - power-off-time-sec = <0>; - - power-key{ - linux,keycodes = <116>; - wakeup-source; - }; - - home-key{ - linux,keycodes = <114>; - }; - }; -}; - -&scp { - memory-region = <&scp_mem_reserved>; - status = "okay"; -}; - -&keypad { - mediatek,debounce-us = <32000>; - mediatek,double-keys; - keypad,num-rows = <1>; - keypad,num-columns = <2>; - linux,keymap = - <MATRIX_KEY(0x00, 0x00, KEY_VOLUMEDOWN) - MATRIX_KEY(0x00, 0x01, KEY_VOLUMEUP)>; - status = "okay"; - pinctrl-names = "default"; - pinctrl-0 = <&kpd_gpios_def_cfg>; -}; - -&mt6359codec { - mediatek,mic-type-0 = <1>; /* ACC */ - mediatek,mic-type-1 = <3>; /* DCC */ -}; - -&uart0 { - pinctrl-0 = <&uart0_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&uart1 { - pinctrl-0 = <&uart1_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&uart2 { - pinctrl-0 = <&uart2_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&mipi_tx0 { - status = "okay"; -}; - -&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; - supports-cqe; - cap-mmc-hw-reset; - no-sdio; - no-sd; - hs400-ds-delay = <0x1481b>; - //vmmc-supply = <&mt6359_vemc_1_ldo_reg>; - //vqmmc-supply = <&mt6359_vufs_ldo_reg>; - vmmc-supply = <®_vemc_pmu>; - vqmmc-supply = <®_vufs18_pmu>; - 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; - no-mmc; - no-sdio; - cd-gpios = <&pio 2 GPIO_ACTIVE_LOW>; - //vmmc-supply = <&mt6359_vpa_buck_reg>; - //vqmmc-supply = <&mt6359_vsim1_ldo_reg>; - //vmmc-supply = <®_3v3_run>; - vqmmc-supply = <®_vsim1_pmu>; -}; - -#if 0 -&mt6359_vpa_buck_reg { - regulator-max-microvolt = <3100000>; -}; - -&mt6359_vsim1_ldo_reg { - regulator-enable-ramp-delay = <480>; -}; -#endif - -&spi0 { - pinctrl-0 = <&spi0_pins>; - pinctrl-names = "default"; - mediatek,pad-select = <0>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - cs-gpios = <&pio 69 GPIO_ACTIVE_LOW>; - - can0: can@0 { - compatible = "microchip,mcp2518fd"; - reg = <0>; - clocks = <&can_clk>; - spi-max-frequency = <5000000>; - interrupts-extended = <&pio 73 IRQ_TYPE_LEVEL_LOW>; - vdd-supply = <®_3v3_run>; - xceiver-supply = <®_3v3_run>; - }; -}; - -&spi1 { - pinctrl-0 = <&spi1_pins>; - pinctrl-names = "default"; - mediatek,pad-select = <0>; - #address-cells = <1>; - #size-cells = <0>; - status = "okay"; - - spidev@0 { - compatible = "mediatek,aiot-board"; - spi-max-frequency = <5000000>; - reg = <0>; - }; -}; - -&spmi { - mt6315_6: mt6315@6 { - compatible = "mediatek,mt6315-regulator"; - reg = <0x6 0 0xb 1>; - - regulators { - mt6315_6_vbuck1: vbuck1 { - regulator-compatible = "vbuck1"; - regulator-name = "Vbcpu"; - regulator-min-microvolt = <300000>; - regulator-max-microvolt = <1193750>; - regulator-enable-ramp-delay = <256>; - regulator-allowed-modes = <0 1 2>; - regulator-always-on; - mtk,combined-regulator = <2>; - }; - mt6315_6_vbuck3: vbuck3 { - regulator-compatible = "vbuck3"; - regulator-name = "Vdd2"; - regulator-min-microvolt = <300000>; - regulator-max-microvolt = <1193750>; - regulator-enable-ramp-delay = <256>; - regulator-allowed-modes = <0 1 2>; - regulator-always-on; - }; - mt6315_6_vbuck4: vbuck4 { - regulator-compatible = "vbuck4"; - regulator-name = "Vddq"; - regulator-min-microvolt = <300000>; - regulator-max-microvolt = <1193750>; - regulator-enable-ramp-delay = <256>; - regulator-allowed-modes = <0 1 2>; - regulator-always-on; - }; - }; - }; -}; - -&pcie { - pinctrl-names = "default"; - pinctrl-0 = <&pcie_pins_default>; - status = "okay"; -}; - -&pciephy { - status = "okay"; -}; - -// USB 2.0 P0 (USB0) -// CN30 on BB (OTG) -&ssusb { - pinctrl-0 = <&usb_default>; - pinctrl-names = "default"; - maximum-speed = "high-speed"; - usb-role-switch; - dr_mode = "otg"; - //vusb33-supply = <&mt6359_vusb_ldo_reg>; - vusb33-supply = <®_vusb_pmu>; - //status = "okay"; - wakeup-source; -}; - -&u2port0 { - status = "okay"; -}; - -&u3phy0 { - status = "okay"; -}; - -// USB 3.0 P1 (USB2) -// CN72 on BB -&ssusb1 { - pinctrl-0 = <&usb1_default>; - pinctrl-names = "default"; - //vusb33-supply = <&mt6359_vusb_ldo_reg>; - vusb33-supply = <®_vusb_pmu>; - dr_mode = "host"; - mediatek,usb3-drd; - usb-role-switch; - //status = "okay"; - wakeup-source; -}; - -&u2port1 { - status = "okay"; -}; - -&u3port1 { - status = "okay"; -}; - -&u3phy1 { - status = "okay"; -}; - -// USB 2.0 P2 (USB Hub) -&ssusb2 { - maximum-speed = "high-speed"; - //usb-role-switch; - dr_mode = "host"; - //vusb33-supply = <&mt6359_vusb_ldo_reg>; - vusb33-supply = <®_3v3_run>; - //status = "okay"; - //wakeup-source; -}; - -&u2port2 { - status = "okay"; -}; - -&u3phy2 { - status = "okay"; -}; - -&mfg0 { - domain-supply = <&mt6359_vproc2_buck_reg>; }; &sound { - compatible = "mediatek,mt8390-evk"; model = "mt8370-evk"; - pinctrl-names = "default"; - pinctrl-0 = <&aud_pins_default>; - audio-routing = - "Headphone", "Headphone L", - "Headphone", "Headphone R", - "AIN1", "Headset Mic", - "DMIC_INPUT", "AP DMIC", - "AP DMIC", "AUDGLB", - "AP DMIC", "MIC_BIAS_0", - "AP DMIC", "MIC_BIAS_2"; - status = "okay"; - - dai-link-0 { - sound-dai = <&afe>; - dai-link-name = "ADDA_BE"; - status = "okay"; - - codec-0 { - sound-dai = <&pmic 0>; - }; - - codec-1 { - sound-dai = <&amic_codec>; - }; - }; - - dai-link-1 { - sound-dai = <&afe>; - dai-link-name = "ETDM3_OUT_BE"; - status = "okay"; - - codec-0 { - sound-dai = <&hdmi0>; - }; - }; - - dai-link-2 { - sound-dai = <&afe>; - dai-link-name = "DPTX_BE"; - status = "disabled"; - - codec-0 { - sound-dai = <&dp_tx>; - }; - }; - - dai-link-3 { - sound-dai = <&afe>; - dai-link-name = "DMIC_BE"; - status = "okay"; - - codec-0 { - sound-dai = <&dmic_codec>; - }; - }; -}; - -&cam_vcore { - domain-supply = <&mt6359_vproc1_buck_reg>; -}; - -&img_vcore { - domain-supply = <&mt6359_vproc1_buck_reg>; }; diff --git a/arch/arm64/boot/dts/seco/seco-genio700-wilk.dts b/arch/arm64/boot/dts/seco/seco-genio700-wilk.dts index 74de2f91848cc190920b81efd90a95f41a526352..7b8a89a653eb44b5312e0075eb9a839c9513c3d5 100644 --- a/arch/arm64/boot/dts/seco/seco-genio700-wilk.dts +++ b/arch/arm64/boot/dts/seco/seco-genio700-wilk.dts @@ -6,1689 +6,24 @@ #include "../mediatek/mt8188.dtsi" #include "../mediatek/mt6359.dtsi" -#include <dt-bindings/gpio/gpio.h> -#include <dt-bindings/input/input.h> -#include <dt-bindings/interrupt-controller/irq.h> -#include <dt-bindings/pinctrl/mediatek,mt8188-pinfunc.h> -#include <dt-bindings/usb/pd.h> -#include "seco-genio-irq.h" +#include "seco-genio-common.dtsi" + / { model = "SECO SOM-SMARC-Genio700 Module"; compatible = "mediatek,mt8390-evk", "mediatek,mt8188"; - - aliases { - serial0 = &uart0; - serial1 = &uart1; - dsi0 = &dsi0; - ethernet0 = ð - }; - - backlight_lcd0: backlight-lcd0 { - compatible = "pwm-backlight"; - pwms = <&disp_pwm0 0 500000>; - enable-gpios = <&pio 25 GPIO_ACTIVE_HIGH>; // DSI0_LCM_RST, Y9 - brightness-levels = <0 1023>; - num-interpolated-steps = <1023>; - default-brightness-level = <576>; - status = "disabled"; - }; - - chosen { - stdout-path = "serial1:115200n8"; - }; -/* - edp_panel_fixed_3v3: regulator@0 { - compatible = "regulator-fixed"; - regulator-name = "edp_panel_3v3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - enable-active-high; - gpio = <&pio 15 GPIO_ACTIVE_HIGH>; - pinctrl-names = "default"; - pinctrl-0 = <&edp_panel_3v3_en_pins>; - }; -*/ - memory@40000000 { - device_type = "memory"; - reg = <0 0x40000000 1 0x00000000>; - }; - - reserved-memory { - #address-cells = <2>; - #size-cells = <2>; - ranges; - - apu_reserve_memory: apu-reserve-memory{ - compatible = "shared-dma-pool"; - size = <0 0x1400000>; //20 MB - alignment = <0 0x10000>; - reg = <0 0x55000000 0 0x1400000>; - }; - - vpu_reserve_memory: vpu-reserve-memory { - compatible = "shared-dma-pool"; - size = <0 0x1400000>; //20 MB - alignment = <0 0x10000>; - reg = <0 0x57000000 0 0x1400000>; - }; - - /* 12 MiB reserved for OP-TEE (BL32) - * +-----------------------+ 0x43e0_0000 - * | SHMEM 2MiB | - * +-----------------------+ 0x43c0_0000 - * | | TA_RAM 8MiB | - * + TZDRAM +--------------+ 0x4340_0000 - * | | TEE_RAM 2MiB | - * +-----------------------+ 0x4320_0000 - */ - optee_reserved: optee@43200000 { - no-map; - reg = <0 0x43200000 0 0x00c00000>; - }; - - scp_mem_reserved: scp-mem-region { - compatible = "shared-dma-pool"; - reg = <0 0x50000000 0 0x2900000>; - no-map; - }; - - /* 2 MiB reserved for ARM Trusted Firmware (BL31) */ - bl31_secmon_reserved: secmon@54600000 { - no-map; - reg = <0 0x54600000 0x0 0x200000>; - }; - }; - - firmware { - optee { - compatible = "linaro,optee-tz"; - method = "smc"; - }; - }; - - // regulators from evk -#if 0 - usb_p0_vbus: usb0-otg-vbus { - compatible = "regulator-fixed"; - regulator-name = "p0_vbus"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - gpio = <&pio 84 GPIO_ACTIVE_HIGH>; - enable-active-high; - }; - - usb_p1_vbus: usb-p1-vbus { - compatible = "regulator-fixed"; - regulator-name = "p1_vbus"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - gpio = <&pio 87 GPIO_ACTIVE_HIGH>; - enable-active-high; - }; - - usb_p2_vbus: usb-p2-vbus { - compatible = "regulator-fixed"; - regulator-name = "p2_vbus"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - enable-active-high; - }; - - hub3v3: regulator@4 { - compatible = "regulator-fixed"; - regulator-name = "vhub3v3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - gpio = <&pio 112 0>; /* HUB_3V3_EN */ - startup-delay-us = <10000>; - enable-active-high; - }; - - onboard_hub: regulator@5 { - compatible = "regulator-fixed"; - regulator-name = "hub_reset"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - gpio = <&pio 7 0>; /* HUB_RESET */ - vin-supply = <&hub3v3>; - enable-active-low; - }; - - lcm1_tp_avdd: lcm1-tp-avdd { - compatible = "regulator-fixed"; - regulator-name = "lcm1-tp-avdd"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - gpio = <&pio 119 GPIO_ACTIVE_HIGH>; - enable-active-high; - }; - - VDD_5V: VDD-5V { - compatible = "regulator-fixed"; - regulator-name = "VDD-5V"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - gpio = <&pio 10 GPIO_ACTIVE_HIGH>; - enable-active-high; - regulator-always-on; - }; - - VDD_3V3: VDD-3V3 { - compatible = "regulator-fixed"; - regulator-name = "VDD-3V3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - gpio = <&pio 9 GPIO_ACTIVE_HIGH>; - enable-active-high; - regulator-always-on; - }; - - sdio_fixed_3v3: regulator@2 { - compatible = "regulator-fixed"; - regulator-name = "sdio_card"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - gpio = <&pio 74 0>; - enable-active-high; - regulator-always-on; - }; - - sdio_fixed_1v8: regulator@3 { - compatible = "regulator-fixed"; - regulator-name = "sdio_io"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - enable-active-high; - regulator-always-on; - }; -#endif - - // ******************* - // regulators for wilk - // from baseboard - reg_5v_sleep: 5v_sleep { - compatible = "regulator-fixed"; - regulator-name = "5V_SLEEP"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - regulator-always-on; - }; - - // voltage regulator u2300 - reg_3v3_sleep: 3v3_sleep { - compatible = "regulator-fixed"; - regulator-name = "3V3_SLEEP"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - vin-supply = <®_5v_sleep>; - regulator-always-on; - }; - - // voltage regulator u2301 - reg_1v8_sleep: 1v8_sleep { - compatible = "regulator-fixed"; - regulator-name = "1V8_SLEEP"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <®_3v3_sleep>; - regulator-always-on; - }; - - // voltage switch u2302 - reg_5v_run: 5v_run { - compatible = "regulator-fixed"; - regulator-name = "5V_RUN"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - vin-supply = <®_5v_sleep>; - regulator-always-on; - }; - - // MT6365 BUCK - reg_dvdd_mm: dvdd_mm { - compatible = "regulator-fixed"; - regulator-name = "DVDD_MM"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vproc1_buck_reg>; - regulator-always-on; - }; - - reg_dvdd_gpu: dvdd_gpu { - compatible = "regulator-fixed"; - regulator-name = "DVDD_GPU"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vproc2_buck_reg>; - regulator-always-on; - }; - - reg_dvdd_proc_l: dvdd_proc_l { - compatible = "regulator-fixed"; - regulator-name = "DVDD_PROC_L"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vcore_buck_reg>; - regulator-always-on; - }; - - reg_dvdd_adsp: dvdd_adsp { - compatible = "regulator-fixed"; - regulator-name = "DVDD_ADSP"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vpu_buck_reg>; - regulator-always-on; - }; - - reg_dvdd_sram_core: dvdd_sram_core { - compatible = "regulator-fixed"; - regulator-name = "DVDD_SRAM_CORE"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vpu_buck_reg>; - regulator-always-on; - }; - - reg_dvdd_sram_mm: dvdd_sram_mm { - compatible = "regulator-fixed"; - regulator-name = "DVDD_SRAM_MM"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vpu_buck_reg>; - regulator-always-on; - }; - - reg_avdd075_drv_dsi: avdd075_drv_dsi { - compatible = "regulator-fixed"; - regulator-name = "AVDD075_DRV_DSI"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vpu_buck_reg>; - regulator-always-on; - }; - - reg_3v3_wifi: 3v3_wifi { - compatible = "regulator-fixed"; - regulator-name = "3V3_WIFI"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - vin-supply = <&mt6359_vpa_buck_reg>; - regulator-always-on; - }; - - reg_vs1_pmu: vs1_pmu { - compatible = "regulator-fixed"; - regulator-name = "VS1_PMU"; - regulator-min-microvolt = <2000000>; - regulator-max-microvolt = <2000000>; - vin-supply = <&mt6359_vs1_buck_reg>; - regulator-always-on; - }; - - reg_vs2_pmu: vs2_pmu { - compatible = "regulator-fixed"; - regulator-name = "VS2_PMU"; - regulator-min-microvolt = <1350000>; - regulator-max-microvolt = <1350000>; - vin-supply = <&mt6359_vs2_buck_reg>; - regulator-always-on; - }; - - reg_dvdd_apu: dvdd_apu { - compatible = "regulator-fixed"; - regulator-name = "DVDD_APU"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vmodem_buck_reg>; - regulator-always-on; - }; - - reg_dvdd_core: dvdd_core { - compatible = "regulator-fixed"; - regulator-name = "DVDD_CORE"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vgpu11_buck_reg>; - regulator-always-on; - }; - - // MT6365 LDO - reg_vaux18_pmu: vaux18_pmu { - compatible = "regulator-fixed"; - regulator-name = "VAUX18_PMU"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <&mt6359_vaux18_ldo_reg>; - regulator-always-on; - }; - - reg_vusb_pmu: vusb_pmu { - compatible = "regulator-fixed"; - regulator-name = "VUSB_PMU"; - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3000000>; - vin-supply = <&mt6359_vusb_ldo_reg>; - regulator-always-on; - }; - - reg_3v3_run: 3v3_run { - compatible = "regulator-fixed"; - regulator-name = "3V3_RUN"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - vin-supply = <&mt6359_vcn33_1_bt_ldo_reg>; - regulator-always-on; - }; - - reg_vemc_pmu: vemc_pmu { - compatible = "regulator-fixed"; - regulator-name = "VEMC_PMU"; - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3000000>; - vin-supply = <&mt6359_vemc_1_ldo_reg>; - regulator-always-on; - }; - - reg_vsim1_pmu: vsim1_pmu { - compatible = "regulator-fixed"; - regulator-name = "VSIM1_PMU"; - regulator-min-microvolt = <2800000>; - regulator-max-microvolt = <2800000>; - vin-supply = <&mt6359_vsim1_ldo_reg>; - regulator-always-on; - }; - - reg_vio28_pmu: vio28_pmu { - compatible = "regulator-fixed"; - regulator-name = "VIO28_PMU"; - regulator-min-microvolt = <2800000>; - regulator-max-microvolt = <2800000>; - vin-supply = <&mt6359_vio18_ldo_reg>; - regulator-always-on; - }; - - reg_vufs18_pmu: vufs18_pmu { - compatible = "regulator-fixed"; - regulator-name = "VUFS18_PMU"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <&mt6359_vufs_ldo_reg>; - regulator-always-on; - }; - - reg_1v8_run: 1v8_run { - compatible = "regulator-fixed"; - regulator-name = "1V8_RUN"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <&mt6359_vcn18_ldo_reg>; - regulator-always-on; - }; - - reg_vio18_pmu: vio18_pmu { - compatible = "regulator-fixed"; - regulator-name = "VIO18_PMU"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <&mt6359_vio18_ldo_reg>; - regulator-always-on; - }; - - reg_vio18_pmu_avdd: vio18_pmu_avdd { - compatible = "regulator-fixed"; - regulator-name = "VIO18_PMU_AVDD"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <&mt6359_vio18_ldo_reg>; - regulator-always-on; - }; - - reg_vefuse_pmu: vefuse_pmu { - compatible = "regulator-fixed"; - regulator-name = "VEFUSE_PMU"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <&mt6359_vefuse_ldo_reg>; - regulator-always-on; - }; - - reg_vaud18_pmu: vaud18_pmu { - compatible = "regulator-fixed"; - regulator-name = "VAUD18_PMU"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <&mt6359_vaud18_ldo_reg>; - regulator-always-on; - }; - - reg_va12_abb1_pmu: va12_abb1_pmu { - compatible = "regulator-fixed"; - regulator-name = "VA12_ABB1_PMU"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <&mt6359_va12_ldo_reg>; - regulator-always-on; - }; - - reg_dvdd_sram_apu: dvdd_sram_apu { - compatible = "regulator-fixed"; - regulator-name = "DVDD_SRAM_APU"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vsram_md_ldo_reg>; - regulator-always-on; - }; - - reg_dvdd_sram_proc_l: dvdd_sram_proc_l { - compatible = "regulator-fixed"; - regulator-name = "DVDD_SRAM_PROC_L"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vsram_proc1_ldo_reg>; - regulator-always-on; - }; - - reg_dvdd_sram_proc_b: dvdd_sram_proc_b { - compatible = "regulator-fixed"; - regulator-name = "DVDD_SRAM_PROC_B"; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <750000>; - vin-supply = <&mt6359_vsram_proc2_ldo_reg>; - regulator-always-on; - }; - - reg_dvdd_sram_gpu: dvdd_sram_gpu { - compatible = "regulator-fixed"; - regulator-name = "DVDD_SRAM_GPU"; - regulator-min-microvolt = <850000>; - regulator-max-microvolt = <850000>; - vin-supply = <&mt6359_vsram_others_ldo_reg>; - regulator-always-on; - }; - - reg_va12_abb2_pmu: va12_abb2_pmu { - compatible = "regulator-fixed"; - regulator-name = "VA12_ABB2_PMU"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - vin-supply = <&mt6359_vrf12_ldo_reg>; - regulator-always-on; - }; - - amic_codec: amic-codec { - #sound-dai-cells = <0>; - compatible = "dmic-codec"; - num-channels = <2>; - wakeup-delay-ms = <200>; - }; - - dmic_codec: dmic-codec { - #sound-dai-cells = <0>; - compatible = "dmic-codec"; - num-channels = <2>; - wakeup-delay-ms = <30>; - }; - - can_clk: can-clk { - compatible = "fixed-clock"; - #clock-cells = <0>; - clock-frequency = <20000000>; - clock-output-names = "can-clk"; - }; }; -&afe { - #sound-dai-cells = <0>; - mediatek,dmic-iir-on; - mediatek,dmic-clk-mono; - status = "okay"; -}; - -ð { - phy-mode ="rgmii-rxid"; - phy-handle = <ðernet_phy0>; - snps,reset-gpio = <&pio 147 GPIO_ACTIVE_HIGH>; - snps,reset-delay-us = <0 10000 10000>; - mediatek,tx-delay-ps = <2030>; - mediatek,mac-wol; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <ð_default_pins>; - pinctrl-1 = <ð_sleep_pins>; - status = "okay"; - - mdio { - compatible = "snps,dwmac-mdio"; - #address-cells = <1>; - #size-cells = <0>; - ethernet_phy0: ethernet-phy@0 { - compatible = "ethernet-phy-id001c.c916"; - reg = <0>; - }; - }; -}; - -&dpi1 { - status = "okay"; -}; - -&dp_intf1 { - status = "disabled"; - mediatek,oob-hpd; - ports { - port { - dp_intf1_out: endpoint { - remote-endpoint = <&dptx_in>; - }; - }; - }; -}; - -&dp_tx { - pinctrl-names = "default"; - pinctrl-0 = <&dptx_pin>; - status = "disabled"; - - ports { - #address-cells = <1>; - #size-cells = <0>; - port { - dptx_in: endpoint { - remote-endpoint = <&dp_intf1_out>; - }; - }; - }; -}; &pio { - aud_pins_default: audiodefault { - pins-cmd-dat { - pinmux = <PINMUX_GPIO101__FUNC_O_AUD_CLK_MOSI>, - <PINMUX_GPIO102__FUNC_O_AUD_SYNC_MOSI>, - <PINMUX_GPIO103__FUNC_O_AUD_DAT_MOSI0>, - <PINMUX_GPIO104__FUNC_O_AUD_DAT_MOSI1>, - <PINMUX_GPIO105__FUNC_I0_AUD_DAT_MISO0>, - <PINMUX_GPIO106__FUNC_I0_AUD_DAT_MISO1>, - <PINMUX_GPIO107__FUNC_B0_I2SIN_MCK>, - <PINMUX_GPIO108__FUNC_B0_I2SIN_BCK>, - <PINMUX_GPIO109__FUNC_B0_I2SIN_WS>, - <PINMUX_GPIO110__FUNC_I0_I2SIN_D0>, - <PINMUX_GPIO114__FUNC_O_I2SO2_MCK>, - <PINMUX_GPIO115__FUNC_B0_I2SO2_BCK>, - <PINMUX_GPIO116__FUNC_B0_I2SO2_WS>, - <PINMUX_GPIO117__FUNC_O_I2SO2_D0>, - <PINMUX_GPIO118__FUNC_O_I2SO2_D1>, - <PINMUX_GPIO125__FUNC_O_DMIC1_CLK>, - <PINMUX_GPIO126__FUNC_I0_DMIC1_DAT>, - <PINMUX_GPIO128__FUNC_O_DMIC2_CLK>, - <PINMUX_GPIO129__FUNC_I0_DMIC2_DAT>, - <PINMUX_GPIO121__FUNC_B0_PCM_CLK>, - <PINMUX_GPIO122__FUNC_B0_PCM_SYNC>, - <PINMUX_GPIO124__FUNC_I0_PCM_DI>; - }; - }; - - edp_panel_3v3_en_pins: edp-panel-3v3-en-pins { - pins1 { - pinmux = <PINMUX_GPIO15__FUNC_B_GPIO15>; - output-high; - }; - }; - - dptx_pin: dptx-pin { - pins-cmd-dat { - pinmux = <PINMUX_GPIO46__FUNC_I0_DP_TX_HPD>; - bias-pull-up; - }; - }; - - eth_default_pins: eth-default-pins { - pins-txd { - pinmux = <PINMUX_GPIO131__FUNC_O_GBE_TXD3>, - <PINMUX_GPIO132__FUNC_O_GBE_TXD2>, - <PINMUX_GPIO133__FUNC_O_GBE_TXD1>, - <PINMUX_GPIO134__FUNC_O_GBE_TXD0>; - drive-strength = <MTK_DRIVE_8mA>; - }; - pins-cc { - pinmux = <PINMUX_GPIO139__FUNC_B0_GBE_TXC>, - <PINMUX_GPIO142__FUNC_O_GBE_TXEN>, - <PINMUX_GPIO141__FUNC_I0_GBE_RXDV>, - <PINMUX_GPIO140__FUNC_I0_GBE_RXC>; - drive-strength = <MTK_DRIVE_8mA>; - }; - pins-rxd { - pinmux = <PINMUX_GPIO135__FUNC_I0_GBE_RXD3>, - <PINMUX_GPIO136__FUNC_I0_GBE_RXD2>, - <PINMUX_GPIO137__FUNC_I0_GBE_RXD1>, - <PINMUX_GPIO138__FUNC_I0_GBE_RXD0>; - drive-strength = <MTK_DRIVE_8mA>; - }; - pins-mdio { - pinmux = <PINMUX_GPIO143__FUNC_O_GBE_MDC>, - <PINMUX_GPIO144__FUNC_B1_GBE_MDIO>; - drive-strength = <MTK_DRIVE_8mA>; - input-enable; - }; - pins-power { - pinmux = <PINMUX_GPIO145__FUNC_B_GPIO145>, - <PINMUX_GPIO146__FUNC_B_GPIO146>; - output-high; - }; - pins-reset { - pinmux = <PINMUX_GPIO147__FUNC_B_GPIO147>; - output-high; - }; - }; - - eth_sleep_pins: eth-sleep-pins { - pins-txd { - pinmux = <PINMUX_GPIO131__FUNC_B_GPIO131>, - <PINMUX_GPIO132__FUNC_B_GPIO132>, - <PINMUX_GPIO133__FUNC_B_GPIO133>, - <PINMUX_GPIO134__FUNC_B_GPIO134>; - }; - pins-cc { - pinmux = <PINMUX_GPIO139__FUNC_B_GPIO139>, - <PINMUX_GPIO142__FUNC_B_GPIO142>, - <PINMUX_GPIO141__FUNC_B_GPIO141>, - <PINMUX_GPIO140__FUNC_B_GPIO140>; - }; - pins-rxd { - pinmux = <PINMUX_GPIO135__FUNC_B_GPIO135>, - <PINMUX_GPIO136__FUNC_B_GPIO136>, - <PINMUX_GPIO137__FUNC_B_GPIO137>, - <PINMUX_GPIO138__FUNC_B_GPIO138>; - }; - pins-mdio { - pinmux = <PINMUX_GPIO143__FUNC_B_GPIO143>, - <PINMUX_GPIO144__FUNC_B_GPIO144>; - input-disable; - bias-disable; - }; - }; - - uart0_pins: uart0-pins { - pins { - pinmux = <PINMUX_GPIO31__FUNC_O_UTXD0>, - <PINMUX_GPIO32__FUNC_I1_URXD0>; - bias-pull-up; - }; - }; - - uart1_pins: uart1-pins { - pins { - pinmux = <PINMUX_GPIO33__FUNC_O_UTXD1>, - <PINMUX_GPIO34__FUNC_I1_URXD1>, - <PINMUX_GPIO35__FUNC_O_URTS1>, - <PINMUX_GPIO36__FUNC_I1_UCTS1>; - bias-pull-up; - }; - }; - - uart2_pins: uart2-pins { - pins { - pinmux = <PINMUX_GPIO79__FUNC_O_UTXD2>, - <PINMUX_GPIO80__FUNC_I1_URXD2>, - <PINMUX_GPIO81__FUNC_O_URTS2>, - <PINMUX_GPIO82__FUNC_I1_UCTS2>; - bias-pull-up; - }; - }; - - uart3_pins: uart3-pins { - pins { - pinmux = <PINMUX_GPIO149__FUNC_O_UTXD3>, - <PINMUX_GPIO150__FUNC_I1_URXD3>; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - }; - - i2c0_pin: i2c0-pin { - pins-bus { - pinmux = <PINMUX_GPIO56__FUNC_B1_SDA0>, - <PINMUX_GPIO55__FUNC_B1_SCL0>; - bias-pull-up = <MTK_PULL_SET_RSEL_101>; - mediatek,drive-strength-adv = <0>; - drive-strength = <MTK_DRIVE_8mA>; - }; - }; - - i2c1_pin: i2c1-pin { - pins-bus { - pinmux = <PINMUX_GPIO58__FUNC_B1_SDA1>, - <PINMUX_GPIO57__FUNC_B1_SCL1>; - bias-pull-up = <MTK_PULL_SET_RSEL_101>; - mediatek,drive-strength-adv = <0>; - drive-strength = <MTK_DRIVE_8mA>; - }; - }; - - i2c2_pin: i2c2-pin { - pins-bus { - pinmux = <PINMUX_GPIO60__FUNC_B1_SDA2>, - <PINMUX_GPIO59__FUNC_B1_SCL2>; - bias-pull-up = <MTK_PULL_SET_RSEL_101>; - mediatek,drive-strength-adv = <0>; - drive-strength = <MTK_DRIVE_8mA>; - }; - }; - - i2c3_pin: i2c3-pin { - pins-bus { - pinmux = <PINMUX_GPIO62__FUNC_B1_SDA3>, - <PINMUX_GPIO61__FUNC_B1_SCL3>; - bias-pull-up = <MTK_PULL_SET_RSEL_101>; - mediatek,drive-strength-adv = <0>; - drive-strength = <MTK_DRIVE_8mA>; - }; - }; - - i2c4_pin: i2c4-pin { - pins-bus { - pinmux = <PINMUX_GPIO64__FUNC_B1_SDA4>, - <PINMUX_GPIO63__FUNC_B1_SCL4>; - bias-pull-up = <MTK_PULL_SET_RSEL_111>; - mediatek,drive-strength-adv = <0>; - drive-strength = <MTK_DRIVE_8mA>; - }; - }; - - i2c5_pin: i2c5-pin { - pins-bus { - pinmux = <PINMUX_GPIO66__FUNC_B1_SDA5>, - <PINMUX_GPIO65__FUNC_B1_SCL5>; - bias-pull-up = <MTK_PULL_SET_RSEL_101>; - mediatek,drive-strength-adv = <0>; - drive-strength = <MTK_DRIVE_8mA>; - }; - }; - - i2c6_pin: i2c6-pin { - pins-bus { - pinmux = <PINMUX_GPIO68__FUNC_B1_SDA6>, - <PINMUX_GPIO67__FUNC_B1_SCL6>; - bias-pull-up = <MTK_PULL_SET_RSEL_101>; - mediatek,drive-strength-adv = <0>; - drive-strength = <MTK_DRIVE_8mA>; - }; - }; -/* - rt1715_int: rt1715_int_pin { - pins_cmd0_dat { - pinmux = <PINMUX_GPIO12__FUNC_B_GPIO12>; - bias-pull-up; - input-enable; - }; - }; -*/ - kpd_gpios_def_cfg: keypad-pins-default { - pins_kp { - pinmux = <PINMUX_GPIO44__FUNC_B1_KPROW0>, - <PINMUX_GPIO43__FUNC_B1_KPCOL1>, - <PINMUX_GPIO42__FUNC_B1_KPCOL0>; - }; - }; - - mmc0_pins_default: mmc0default { - pins-cmd-dat { - pinmux = <PINMUX_GPIO161__FUNC_B1_MSDC0_DAT0>, - <PINMUX_GPIO160__FUNC_B1_MSDC0_DAT1>, - <PINMUX_GPIO159__FUNC_B1_MSDC0_DAT2>, - <PINMUX_GPIO158__FUNC_B1_MSDC0_DAT3>, - <PINMUX_GPIO154__FUNC_B1_MSDC0_DAT4>, - <PINMUX_GPIO153__FUNC_B1_MSDC0_DAT5>, - <PINMUX_GPIO152__FUNC_B1_MSDC0_DAT6>, - <PINMUX_GPIO151__FUNC_B1_MSDC0_DAT7>, - <PINMUX_GPIO156__FUNC_B1_MSDC0_CMD>; - input-enable; - drive-strength = <MTK_DRIVE_6mA>; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - - pins-clk { - pinmux = <PINMUX_GPIO157__FUNC_B1_MSDC0_CLK>; - drive-strength = <MTK_DRIVE_6mA>; - bias-pull-down = <MTK_PUPD_SET_R1R0_10>; - }; - - pins-rst { - pinmux = <PINMUX_GPIO155__FUNC_O_MSDC0_RSTB>; - drive-strength = <MTK_DRIVE_6mA>; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - }; - - mmc0_pins_uhs: mmc0uhs{ - pins-cmd-dat { - pinmux = <PINMUX_GPIO161__FUNC_B1_MSDC0_DAT0>, - <PINMUX_GPIO160__FUNC_B1_MSDC0_DAT1>, - <PINMUX_GPIO159__FUNC_B1_MSDC0_DAT2>, - <PINMUX_GPIO158__FUNC_B1_MSDC0_DAT3>, - <PINMUX_GPIO154__FUNC_B1_MSDC0_DAT4>, - <PINMUX_GPIO153__FUNC_B1_MSDC0_DAT5>, - <PINMUX_GPIO152__FUNC_B1_MSDC0_DAT6>, - <PINMUX_GPIO151__FUNC_B1_MSDC0_DAT7>, - <PINMUX_GPIO156__FUNC_B1_MSDC0_CMD>; - input-enable; - drive-strength = <MTK_DRIVE_8mA>; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - - pins-clk { - pinmux = <PINMUX_GPIO157__FUNC_B1_MSDC0_CLK>; - drive-strength = <MTK_DRIVE_8mA>; - bias-pull-down = <MTK_PUPD_SET_R1R0_10>; - }; - - pins-ds { - pinmux = <PINMUX_GPIO162__FUNC_B0_MSDC0_DSL>; - drive-strength = <MTK_DRIVE_8mA>; - bias-pull-down = <MTK_PUPD_SET_R1R0_10>; - }; - - pins-rst { - pinmux = <PINMUX_GPIO155__FUNC_O_MSDC0_RSTB>; - drive-strength = <MTK_DRIVE_8mA>; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - }; - - mmc1_pins_default: mmc1default { - pins-cmd-dat { - pinmux = <PINMUX_GPIO163__FUNC_B1_MSDC1_CMD>, - <PINMUX_GPIO165__FUNC_B1_MSDC1_DAT0>, - <PINMUX_GPIO166__FUNC_B1_MSDC1_DAT1>, - <PINMUX_GPIO167__FUNC_B1_MSDC1_DAT2>, - <PINMUX_GPIO168__FUNC_B1_MSDC1_DAT3>; - input-enable; - drive-strength = <MTK_DRIVE_6mA>; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - - pins-clk { - pinmux = <PINMUX_GPIO164__FUNC_B1_MSDC1_CLK>; - drive-strength = <MTK_DRIVE_6mA>; - bias-pull-down = <MTK_PUPD_SET_R1R0_10>; - }; - - pins-insert { - pinmux = <PINMUX_GPIO2__FUNC_B_GPIO2>; - bias-pull-up; - }; - - pins-enable { - pinmux = <PINMUX_GPIO4__FUNC_B_GPIO4>; - bias-pull-up; - }; - }; - - mmc1_pins_uhs: mmc1uhs { - pins-cmd-dat { - pinmux = <PINMUX_GPIO163__FUNC_B1_MSDC1_CMD>, - <PINMUX_GPIO165__FUNC_B1_MSDC1_DAT0>, - <PINMUX_GPIO166__FUNC_B1_MSDC1_DAT1>, - <PINMUX_GPIO167__FUNC_B1_MSDC1_DAT2>, - <PINMUX_GPIO168__FUNC_B1_MSDC1_DAT3>; - input-enable; - drive-strength = <MTK_DRIVE_6mA>; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - - pins-clk { - pinmux = <PINMUX_GPIO164__FUNC_B1_MSDC1_CLK>; - drive-strength = <MTK_DRIVE_6mA>; - bias-pull-down = <MTK_PUPD_SET_R1R0_10>; - }; - - pins-insert { - pinmux = <PINMUX_GPIO2__FUNC_B_GPIO2>; - bias-pull-up; - }; - - pins-enable { - pinmux = <PINMUX_GPIO4__FUNC_B_GPIO4>; - bias-pull-up; - }; - }; - - mmc2_pins_default: mmc2default { - pins-clk { - pinmux = <PINMUX_GPIO170__FUNC_B1_MSDC2_CLK>; - drive-strength = <MTK_DRIVE_4mA>; - bias-pull-down = <MTK_PUPD_SET_R1R0_10>; - }; - - pins-cmd-dat { - pinmux = <PINMUX_GPIO169__FUNC_B1_MSDC2_CMD>, - <PINMUX_GPIO171__FUNC_B1_MSDC2_DAT0>, - <PINMUX_GPIO172__FUNC_B1_MSDC2_DAT1>, - <PINMUX_GPIO173__FUNC_B1_MSDC2_DAT2>, - <PINMUX_GPIO174__FUNC_B1_MSDC2_DAT3>; - input-enable; - drive-strength = <MTK_DRIVE_6mA>; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - - pins-pcm { - pinmux = <PINMUX_GPIO123__FUNC_O_PCM_DO>; - }; - }; - - mmc2_pins_uhs: mmc2uhs { - pins-clk { - pinmux = <PINMUX_GPIO170__FUNC_B1_MSDC2_CLK>; - drive-strength = <MTK_DRIVE_4mA>; - bias-pull-down = <MTK_PUPD_SET_R1R0_10>; - }; - - pins-cmd-dat { - pinmux = <PINMUX_GPIO169__FUNC_B1_MSDC2_CMD>, - <PINMUX_GPIO171__FUNC_B1_MSDC2_DAT0>, - <PINMUX_GPIO172__FUNC_B1_MSDC2_DAT1>, - <PINMUX_GPIO173__FUNC_B1_MSDC2_DAT2>, - <PINMUX_GPIO174__FUNC_B1_MSDC2_DAT3>; - input-enable; - drive-strength = <MTK_DRIVE_6mA>; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - }; - - mmc2_pins_eint: dat1-eint { - pins-dat1 { - pinmux = <PINMUX_GPIO172__FUNC_B_GPIO172>; - input-enable; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - }; - - mmc2_pins_dat1: sdio-dat1 { - pins-dat1 { - pinmux = <PINMUX_GPIO172__FUNC_B1_MSDC2_DAT1>; - input-enable; - drive-strength = <MTK_DRIVE_6mA>; - bias-pull-up = <MTK_PUPD_SET_R1R0_01>; - }; - }; - wifi_pins_pwrseq: wifipwrseq { pins-wifi-enable { pinmux = <PINMUX_GPIO127__FUNC_B_GPIO127>; output-low; }; }; - - spi0_pins: spi0-pins { - pins-spi { - pinmux = <PINMUX_GPIO69__FUNC_O_SPIM0_CSB>, - <PINMUX_GPIO70__FUNC_O_SPIM0_CLK>, - <PINMUX_GPIO71__FUNC_B0_SPIM0_MOSI>, - <PINMUX_GPIO72__FUNC_B0_SPIM0_MISO>; - bias-disable; - }; - }; - - spi1_pins: spi1-pins { - pins-spi { - pinmux = <PINMUX_GPIO75__FUNC_O_SPIM1_CSB>, - <PINMUX_GPIO76__FUNC_O_SPIM1_CLK>, - <PINMUX_GPIO77__FUNC_B0_SPIM1_MOSI>, - <PINMUX_GPIO78__FUNC_B0_SPIM1_MISO>; - bias-disable; - }; - }; - - pcie_pins_default: pcie-default { - mux { - pinmux = <PINMUX_GPIO47__FUNC_I1_WAKEN>, - <PINMUX_GPIO48__FUNC_O_PERSTN>, - <PINMUX_GPIO49__FUNC_B1_CLKREQN>; - bias-pull-up; - }; - }; - - usb_default: usbdefault { - iddig-pin { - pinmux = <PINMUX_GPIO83__FUNC_B_GPIO83>; - input-enable; - bias-pull-up; - }; - - vbus-pins { - pinmux = <PINMUX_GPIO84__FUNC_O_USB_DRVVBUS>; - output-high; - }; - - valid-pin { - pinmux = <PINMUX_GPIO85__FUNC_I0_VBUSVALID>; - input-enable; - }; - }; - - usb1_default: usbp1default { - valid_pin { - pinmux = <PINMUX_GPIO88__FUNC_I0_VBUSVALID_1P>; - input-enable; - }; - - usb-hub-3v3-en-pin { - pinmux = <PINMUX_GPIO112__FUNC_B_GPIO112>; - output-high; - }; - }; - - tpm_default: tpmdefault { - pins-enable { - pinmux = <PINMUX_GPIO6__FUNC_B_GPIO6>; - output-high; - }; - }; -/* - touch_pins: touchdefault { - touch_pin_irq: pin-irq { - pinmux = <PINMUX_GPIO6__FUNC_B_GPIO6>; - input-enable; - bias-disable; - }; - - touch_pin_reset: pin-reset { - pinmux = <PINMUX_GPIO5__FUNC_B_GPIO5>; - output-high; - }; - }; -*/ -}; - -&i2c0 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c0_pin>; - clock-frequency = <400000>; - status = "okay"; - /* - touchscreen@5d { - compatible = "goodix,gt9271"; - reg = <0x5d>; - interrupt-parent = <&pio>; - interrupts = <6 IRQ_TYPE_EDGE_RISING>; - irq-gpios = <&pio 6 GPIO_ACTIVE_HIGH>; - reset-gpios = <&pio 5 GPIO_ACTIVE_HIGH>; - AVDD28-supply = <&lcm1_tp_avdd>; - VDDIO-supply = <&mt6359_vio18_ldo_reg>; - pinctrl-names = "default"; - pinctrl-0 = <&touch_pins>; - }; - */ -}; - -&i2c1 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c1_pin>; - clock-frequency = <400000>; - status = "okay"; -/* - it5205fn: it5205fn@48 { - compatible = "mediatek,it5205fn"; - reg = <0x48>; - type3v3-supply = <&mt6359_vcn33_1_bt_ldo_reg>; - svid = /bits/ 16 <0xff01>; - status = "okay"; - }; -*/ - - lvds_bridge: lvds-bridge@2c { - compatible = "seco,i2cdummy"; - reg = <0x2c>; - enable-gpios = <&pio 12 GPIO_ACTIVE_HIGH>; - status = "disabled"; - }; - - rtc1: rtc@51 { - compatible = "nxp,pcf85063tp"; - reg = <0x51>; - status = "okay"; - }; -}; - -&i2c2 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c2_pin>; - clock-frequency = <400000>; - status = "okay"; - - // SL B 9673 TPM2.0 @0x2E - tpm: slb9673@2e { - pinctrl-names = "default"; - pinctrl-0 = <&tpm_default>; - compatible = "infineon,tpm_i2c_infineon"; - reg = <0x2e>; - status = "okay"; - }; -}; - -&i2c3 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c3_pin>; - clock-frequency = <100000>; - status = "okay"; - - - stm32: stm32@40 { - compatible = "seco,stm32"; - reg = <0x40>; - #pwm-cells = <2>; - npwm = <0>; - gpio-controller; - #gpio-cells = <2>; - ngpios =/bits/ 16 <STM32_NGPIOS>; - interrupt-parent = <&pio>; - interrupts = <13 IRQ_TYPE_EDGE_FALLING>; // IRQ from STM32 to CPU - #interrupt-cells = <2>; - interrupt-controller; - status = "okay"; - - gpio-line-names = - "", "", "", "", "GPIO4", "GPIO5", "GPIO6", - "GPIO7", "GPIO8", "GPIO9", "GPIO10", "GPIO11", - "GPIO12", "GPIO13", "", "", "", "", "", "", - "USB0_EN_OC#", "USB1_EN_OC#", "", "USB3_EN_OC#", - "", "", "USB_HUB_RST#_1V8", "", "", "", "", "", - "", "", "", "", "", "WIFI_CLK_EN", "WIFI_PWRDWN#_1V8", - "BATLOW#", "CHARGING#", "CHARGER_PRSNT#", "RESET_OUT#"; - - gpios { - gpio26 { // USB_HUB_RST#_1V8 - dir = <0>; - config = <21>; - }; - }; - }; -}; - -&i2c4 { - pinctrl-names = "default";//, "default"; - pinctrl-0 = <&i2c4_pin>; - //pinctrl-1 = <&rt1715_int>; - clock-frequency = <400000>; - status = "okay"; -/* - rt1715@4e { - compatible = "richtek,rt1715"; - reg = <0x4e>; - interrupts-extended = <&pio 12 IRQ_TYPE_LEVEL_LOW>; - vbus-supply = <&usb_p1_vbus>; - status = "okay"; - - usb_con: connector { - compatible = "usb-c-connector"; - label = "USB-C"; - data-role = "dual"; - power-role = "dual"; - try-power-role = "sink"; - source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | - PDO_FIXED_DATA_SWAP)>; - sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | - PDO_FIXED_DATA_SWAP)>; - op-sink-microwatt = <10000000>; - orientation-switch = <&it5205fn>; - mode-switch = <&it5205fn>; - displayport = <&dp_intf1>; - - altmodes { - dp { - svid = <0x0ff01>; - vdo = <0x1c1c47>; - }; - }; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - tcpc_typec_usb: endpoint { - remote-endpoint = <&ssusb1_ep>; - }; - }; - }; - }; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 {}; - }; - }; -*/ -}; - -&i2c5 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c5_pin>; - clock-frequency = <400000>; - status = "okay"; -}; - -&i2c6 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c6_pin>; - clock-frequency = <400000>; - status = "okay"; -}; - -&pmic { - interrupt-parent = <&pio>; - interrupts = <222 IRQ_TYPE_LEVEL_HIGH>; - - pmic_key: pmic-key { - compatible = "mediatek,mt6359-keys"; - mediatek,long-press-mode = <1>; - power-off-time-sec = <0>; - - power-key{ - linux,keycodes = <116>; - wakeup-source; - }; - - home-key{ - linux,keycodes = <114>; - }; - }; -}; - -&scp { - memory-region = <&scp_mem_reserved>; - status = "okay"; -}; - -&keypad { - mediatek,debounce-us = <32000>; - mediatek,double-keys; - keypad,num-rows = <1>; - keypad,num-columns = <2>; - linux,keymap = - <MATRIX_KEY(0x00, 0x00, KEY_VOLUMEDOWN) - MATRIX_KEY(0x00, 0x01, KEY_VOLUMEUP)>; - status = "okay"; - pinctrl-names = "default"; - pinctrl-0 = <&kpd_gpios_def_cfg>; -}; - -&mt6359codec { - mediatek,mic-type-0 = <1>; /* ACC */ - mediatek,mic-type-1 = <3>; /* DCC */ -}; - -/* -&mt6359_vbbck_ldo_reg { - regulator-always-on; -}; - -&mt6359_vcn33_2_bt_ldo_reg { - regulator-always-on; -}; - -&mt6359_vcore_buck_reg { - regulator-always-on; -}; - -&mt6359_vgpu11_buck_reg { - regulator-always-on; -}; - -&mt6359_vpu_buck_reg { - regulator-always-on; -}; - -&mt6359_vrf12_ldo_reg { - regulator-always-on; -}; - -&mt6359_vufs_ldo_reg { - regulator-always-on; -}; -*/ - -&uart0 { - pinctrl-0 = <&uart0_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&uart1 { - pinctrl-0 = <&uart1_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&uart2 { - pinctrl-0 = <&uart2_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&uart3 { - pinctrl-0 = <&uart3_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - -&mipi_tx0 { - status = "okay"; -}; - -&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; - supports-cqe; - cap-mmc-hw-reset; - no-sdio; - no-sd; - hs400-ds-delay = <0x1481b>; - //vmmc-supply = <&mt6359_vemc_1_ldo_reg>; - //vqmmc-supply = <&mt6359_vufs_ldo_reg>; - vmmc-supply = <®_vemc_pmu>; - vqmmc-supply = <®_vufs18_pmu>; - 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; - no-mmc; - no-sdio; - cd-gpios = <&pio 2 GPIO_ACTIVE_LOW>; - //vmmc-supply = <&mt6359_vpa_buck_reg>; - //vqmmc-supply = <&mt6359_vsim1_ldo_reg>; - //vmmc-supply = <®_3v3_run>; - vqmmc-supply = <®_vsim1_pmu>; -}; - -#if 0 -&mt6359_vpa_buck_reg { - regulator-max-microvolt = <3100000>; -}; - -&mt6359_vsim1_ldo_reg { - regulator-enable-ramp-delay = <480>; -}; -#endif - -/* -&wifi_pwrseq { - status = "okay"; - pinctrl-names = "default"; - pinctrl-0 = <&wifi_pins_pwrseq>; - - reset-gpios = <&pio 127 1>; - post-power-on-delay-ms = <200>; -}; - -&mmc2 { - status = "okay"; - pinctrl-names = "default", "state_uhs", "state_eint", - "state_dat1"; - pinctrl-0 = <&mmc2_pins_default>; - pinctrl-1 = <&mmc2_pins_uhs>; - pinctrl-2 = <&mmc2_pins_eint>; - pinctrl-3 = <&mmc2_pins_dat1>; - eint-gpios = <&pio 172 0>; - bus-width = <4>; - max-frequency = <200000000>; - cap-sd-highspeed; - sd-uhs-sdr104; - keep-power-in-suspend; - enable-sdio-wakeup; - cap-sdio-async-int; - cap-sdio-irq; - no-mmc; - no-sd; - non-removable; - vmmc-supply = <&sdio_fixed_3v3>; - vqmmc-supply = <&sdio_fixed_1v8>; - mmc-pwrseq = <&wifi_pwrseq>; -}; - -&mt6359_vcn18_ldo_reg { - regulator-always-on; -}; -*/ - -&spi0 { - pinctrl-0 = <&spi0_pins>; - pinctrl-names = "default"; - mediatek,pad-select = <0>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - cs-gpios = <&pio 69 GPIO_ACTIVE_LOW>; - - can0: can@0 { - compatible = "microchip,mcp2518fd"; - reg = <0>; - clocks = <&can_clk>; - spi-max-frequency = <5000000>; - interrupts-extended = <&pio 73 IRQ_TYPE_LEVEL_LOW>; - vdd-supply = <®_3v3_run>; - xceiver-supply = <®_3v3_run>; - }; -}; - -&spi1 { - pinctrl-0 = <&spi1_pins>; - pinctrl-names = "default"; - mediatek,pad-select = <0>; - #address-cells = <1>; - #size-cells = <0>; - status = "okay"; - - spidev@0 { - compatible = "mediatek,aiot-board"; - spi-max-frequency = <5000000>; - reg = <0>; - }; -}; - -&spmi { - mt6315_6: mt6315@6 { - compatible = "mediatek,mt6315-regulator"; - reg = <0x6 0 0xb 1>; - - regulators { - mt6315_6_vbuck1: vbuck1 { - regulator-compatible = "vbuck1"; - regulator-name = "Vbcpu"; - regulator-min-microvolt = <300000>; - regulator-max-microvolt = <1193750>; - regulator-enable-ramp-delay = <256>; - regulator-allowed-modes = <0 1 2>; - regulator-always-on; - mtk,combined-regulator = <2>; - }; - mt6315_6_vbuck3: vbuck3 { - regulator-compatible = "vbuck3"; - regulator-name = "Vdd2"; - regulator-min-microvolt = <300000>; - regulator-max-microvolt = <1193750>; - regulator-enable-ramp-delay = <256>; - regulator-allowed-modes = <0 1 2>; - regulator-always-on; - }; - mt6315_6_vbuck4: vbuck4 { - regulator-compatible = "vbuck4"; - regulator-name = "Vddq"; - regulator-min-microvolt = <300000>; - regulator-max-microvolt = <1193750>; - regulator-enable-ramp-delay = <256>; - regulator-allowed-modes = <0 1 2>; - regulator-always-on; - }; - }; - }; -}; - -&pcie { - pinctrl-names = "default"; - pinctrl-0 = <&pcie_pins_default>; - status = "okay"; -}; - -&pciephy { - status = "okay"; -}; - - -// USB 2.0 P0 (USB0) -// CN30 on BB (OTG) -&ssusb { - pinctrl-0 = <&usb_default>; - pinctrl-names = "default"; - maximum-speed = "high-speed"; - usb-role-switch; - dr_mode = "otg"; - //vusb33-supply = <&mt6359_vusb_ldo_reg>; - vusb33-supply = <®_vusb_pmu>; - //status = "okay"; - wakeup-source; -}; - -&u2port0 { - status = "okay"; -}; - -&u3phy0 { - status = "okay"; -}; - -// USB 3.0 P1 (USB2) -// CN72 on BB -&ssusb1 { - pinctrl-0 = <&usb1_default>; - pinctrl-names = "default"; - //vusb33-supply = <&mt6359_vusb_ldo_reg>; - vusb33-supply = <®_vusb_pmu>; - dr_mode = "host"; - mediatek,usb3-drd; - usb-role-switch; - //status = "okay"; - wakeup-source; -}; - -&u2port1 { - status = "okay"; -}; - -&u3port1 { - status = "okay"; -}; - -&u3phy1 { - status = "okay"; -}; - -// USB 2.0 P2 (USB Hub) -&ssusb2 { - maximum-speed = "high-speed"; - //usb-role-switch; - dr_mode = "host"; - //vusb33-supply = <&mt6359_vusb_ldo_reg>; - vusb33-supply = <®_3v3_run>; - //status = "okay"; - //wakeup-source; -}; - -&u2port2 { - status = "okay"; -}; - -&u3phy2 { - status = "okay"; -}; - -&mfg0 { - domain-supply = <&mt6359_vproc2_buck_reg>; }; &sound { - compatible = "mediatek,mt8390-evk"; model = "mt8390-evk"; - pinctrl-names = "default"; - pinctrl-0 = <&aud_pins_default>; - audio-routing = - "Headphone", "Headphone L", - "Headphone", "Headphone R", - "AIN1", "Headset Mic", - "DMIC_INPUT", "AP DMIC", - "AP DMIC", "AUDGLB", - "AP DMIC", "MIC_BIAS_0", - "AP DMIC", "MIC_BIAS_2"; - status = "okay"; - - dai-link-0 { - sound-dai = <&afe>; - dai-link-name = "ADDA_BE"; - status = "okay"; - - codec-0 { - sound-dai = <&pmic 0>; - }; - - codec-1 { - sound-dai = <&amic_codec>; - }; - }; - - dai-link-1 { - sound-dai = <&afe>; - dai-link-name = "ETDM3_OUT_BE"; - status = "disabled"; - - codec-0 { - sound-dai = <&hdmi0>; - }; - }; - - dai-link-2 { - sound-dai = <&afe>; - dai-link-name = "DPTX_BE"; - status = "disabled"; - - codec-0 { - sound-dai = <&dp_tx>; - }; - }; - - dai-link-3 { - sound-dai = <&afe>; - dai-link-name = "DMIC_BE"; - status = "okay"; - - codec-0 { - sound-dai = <&dmic_codec>; - }; - }; -}; - -&cam_vcore { - domain-supply = <&mt6359_vproc1_buck_reg>; -}; - -&img_vcore { - domain-supply = <&mt6359_vproc1_buck_reg>; };