| // SPDX-License-Identifier: GPL-2.0 |
| /* |
| * Copyright (c) 2019 BayLibre, SAS. |
| * Author: Fabien Parent <fparent@baylibre.com> |
| */ |
| |
| /dts-v1/; |
| |
| #include <dt-bindings/gpio/gpio.h> |
| |
| #include "mt8167.dtsi" |
| #include "mt6392.dtsi" |
| |
| / { |
| model = "Google Coral MT8167"; |
| |
| aliases { |
| serial0 = &uart0; |
| }; |
| |
| chosen { |
| stdout-path = "serial0:115200n8"; |
| }; |
| |
| memory: memory@40000000 { |
| device_type = "memory"; |
| reg = <0 0x40000000 0 0x80000000>; |
| }; |
| |
| firmware { |
| optee: optee@4fd00000 { |
| compatible = "linaro,optee-tz"; |
| method = "smc"; |
| }; |
| }; |
| |
| usb0_vbus: regulator@0 { |
| compatible = "regulator-fixed"; |
| regulator-name = "usb0_vbus"; |
| regulator-min-microvolt = <5000000>; |
| regulator-max-microvolt = <5000000>; |
| gpio = <&pio 50 GPIO_ACTIVE_HIGH>; |
| enable-active-high; |
| }; |
| |
| usb0_vbus_old: regulator@1 { |
| compatible = "regulator-fixed"; |
| regulator-name = "usb0_vbus_old"; |
| regulator-min-microvolt = <5000000>; |
| regulator-max-microvolt = <5000000>; |
| gpio = <&pio 17 GPIO_ACTIVE_LOW>; |
| }; |
| |
| backlight_vbus: backlight_vbus { |
| compatible = "regulator-fixed"; |
| regulator-name = "backlight_vbus"; |
| regulator-min-microvolt = <5000000>; |
| regulator-max-microvolt = <5000000>; |
| }; |
| |
| apex_pmic: apex_pmic { |
| compatible = "regulator-fixed"; |
| regulator-name = "apex_pmic"; |
| regulator-min-microvolt = <1000000>; |
| regulator-max-microvolt = <1000000>; |
| gpio = <&pio 56 GPIO_ACTIVE_HIGH>; |
| startup-delay-us = <0>; |
| enable-active-high; |
| }; |
| apex_reset: apex_reset { |
| compatible = "regulator-fixed"; |
| regulator-name = "apex_reset"; |
| regulator-min-microvolt = <1000000>; |
| regulator-max-microvolt = <1000000>; |
| gpio = <&pio 57 GPIO_ACTIVE_HIGH>; |
| startup-delay-us = <150>; |
| enable-active-high; |
| regulator-always-on; |
| }; |
| |
| cam_dummy_clk: cam_dummy_clk { |
| compatible = "fixed-clock"; |
| #clock-cells = <0>; |
| clock-frequency = <24000000>; |
| }; |
| |
| mt8167_audio_codec: mt8167_audio_codec { |
| compatible = "mediatek,mt8167-codec"; |
| status = "okay"; |
| clocks = <&topckgen CLK_TOP_AUDIO>; |
| clock-names = "bus"; |
| mediatek,afe-regmap = <&afe>; |
| mediatek,apmixedsys-regmap = <&apmixedsys>; |
| mediatek,pwrap-regmap = <&pwrap>; |
| mediatek,dmic-wire-mode = <1>; // TWO_WIRE |
| mediatek,headphone-cap-sel = <1>; // 22uF |
| mediatek,speaker-mode = <0>; // Class D |
| }; |
| |
| sound: sound { |
| compatible = "mediatek,snd-soc-mt8167-excelsior"; |
| status = "okay"; |
| mediatek,platform = <&afe>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&aud_pins_default>; |
| mediatek,jack-detect-gpio = <&pio 40 0>; |
| }; |
| |
| auxadc: adc@11003000 { |
| compatible = "mediatek,mt2712-auxadc"; |
| reg = <0 0x11003000 0 0x1000>; |
| clocks = <&topckgen CLK_TOP_AUX_ADC>; |
| clock-names = "main"; |
| #io-channel-cells = <1>; |
| status = "okay"; |
| }; |
| |
| thermal: thermal@1100d000 { |
| #thermal-sensor-cells = <0>; |
| compatible = "mediatek,mt8167-thermal"; |
| reg = <0 0x1100d000 0 0x1000>; |
| interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_LOW>; |
| clocks = <&topckgen CLK_TOP_THEM>, <&topckgen CLK_TOP_AUX_ADC>; |
| clock-names = "therm", "auxadc"; |
| mediatek,auxadc = <&auxadc>; |
| mediatek,apmixedsys = <&apmixedsys>; |
| nvmem-cells = <&thermal_calibration>; |
| nvmem-cell-names = "calibration-data"; |
| }; |
| |
| efuse: efuse@10009000 { |
| compatible = "mediatek,mt8173-efuse"; |
| reg = <0 0x10009000 0 0x1000>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| thermal_calibration: calib@180 { |
| reg = <0x180 0xc>; |
| }; |
| }; |
| |
| backlight: backlight { |
| compatible = "pwm-backlight"; |
| status = "disabled"; |
| power-supply = <&backlight_vbus>; |
| }; |
| |
| thermal-zones { |
| cpu_thermal: cpu_thermal { |
| polling-delay-passive = <1000>; /* ms */ |
| polling-delay = <1000>; /* ms */ |
| |
| thermal-sensors = <&thermal>; |
| |
| trips { |
| cpu_alert0: trip0 { |
| temperature = <85000>; |
| hysteresis = <2000>; |
| type = "passive"; |
| }; |
| |
| cpu_alert1: trip1 { |
| temperature = <90000>; |
| hysteresis = <2000>; |
| type = "passive"; |
| }; |
| |
| cpu_alert2: trip2 { |
| temperature = <95000>; |
| hysteresis = <2000>; |
| type = "passive"; |
| }; |
| |
| cpu_alert3: trip3 { |
| temperature = <100000>; |
| hysteresis = <2000>; |
| type = "passive"; |
| }; |
| |
| cpu_crit0: trip4 { |
| temperature = <105000>; |
| hysteresis = <2000>; |
| type = "critical"; |
| }; |
| }; |
| |
| cooling-maps { |
| map0 { |
| trip = <&cpu_alert0>; |
| cooling-device = <&cpu0 0 4>; |
| }; |
| map1 { |
| trip = <&cpu_alert1>; |
| cooling-device = <&cpu0 0 3>; |
| }; |
| map2 { |
| trip = <&cpu_alert2>; |
| cooling-device = <&cpu0 0 2>; |
| }; |
| map3 { |
| trip = <&cpu_alert3>; |
| cooling-device = <&cpu0 0 1>; |
| }; |
| }; |
| }; |
| }; |
| }; |
| |
| &afe { |
| status = "okay"; |
| mediatek,tdm-out-mode = <0>; // HDMI |
| }; |
| |
| &cpu0 { |
| proc-supply = <&mt6392_vproc_reg>; |
| }; |
| |
| &cpu1 { |
| proc-supply = <&mt6392_vproc_reg>; |
| }; |
| |
| &cpu2 { |
| proc-supply = <&mt6392_vproc_reg>; |
| }; |
| |
| &cpu3 { |
| proc-supply = <&mt6392_vproc_reg>; |
| }; |
| |
| &mt6392_pmic { |
| interrupt-parent = <&pio>; |
| interrupts = <28 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| }; |
| |
| &mt6392_vcamaf_reg { |
| regulator-min-microvolt = <3300000>; |
| regulator-always-on; |
| }; |
| |
| &mt6392_vgp1_reg { |
| regulator-min-microvolt = <3300000>; |
| regulator-always-on; |
| }; |
| |
| &mt6392_vgp2_reg { |
| regulator-min-microvolt = <3300000>; |
| regulator-always-on; |
| }; |
| |
| &mt6392_vmch_reg { |
| regulator-min-microvolt = <3300000>; |
| }; |
| |
| &mt6392_vmc_reg { |
| regulator-min-microvolt = <3300000>; |
| }; |
| |
| &uart0 { |
| status = "okay"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart0_pins>; |
| }; |
| |
| &uart1 { |
| status = "okay"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart1_pins>; |
| }; |
| |
| &pio { |
| i2c0_pins_a: i2c0 { |
| pins1 { |
| pinmux = <MT8167_PIN_58_SDA0__FUNC_SDA0_0>, |
| <MT8167_PIN_59_SCL0__FUNC_SCL0_0>; |
| bias-disable; |
| }; |
| }; |
| |
| i2c1_pins_a: i2c1 { |
| pins1 { |
| pinmux = <MT8167_PIN_52_SDA1__FUNC_SDA1_0>, |
| <MT8167_PIN_53_SCL1__FUNC_SCL1_0>; |
| bias-disable; |
| }; |
| }; |
| |
| i2c2_pins_a: i2c2 { |
| pins1 { |
| pinmux = <MT8167_PIN_60_SDA2__FUNC_GPIO60>, |
| <MT8167_PIN_61_SCL2__FUNC_GPIO61>; |
| bias-disable; |
| }; |
| pins_a71ch_reset { |
| pinmux = <MT8516_PIN_23_EINT23__FUNC_GPIO23>; |
| output-high; |
| }; |
| }; |
| |
| spi_pins: spi { |
| pins1 { |
| pinmux = <MT8167_PIN_3_EINT3__FUNC_SPI_MI>, |
| <MT8167_PIN_4_EINT4__FUNC_SPI_MO>, |
| <MT8167_PIN_5_EINT5__FUNC_SPI_CSB>, |
| <MT8167_PIN_6_EINT6__FUNC_SPI_CLK>; |
| bias-disable; |
| }; |
| }; |
| |
| pwm_pins: pwm { |
| pins1 { |
| pinmux = <MT8167_PIN_11_EINT11__FUNC_PWM_C>, |
| <MT8167_PIN_12_EINT12__FUNC_PWM_A>, |
| <MT8167_PIN_25_EINT25__FUNC_PWM_B>; |
| }; |
| }; |
| |
| uart0_pins: uart0 { |
| pins1 { |
| pinmux = <MT8167_PIN_62_URXD0__FUNC_URXD0>, |
| <MT8167_PIN_63_UTXD0__FUNC_UTXD0>; |
| }; |
| }; |
| |
| uart1_pins: uart1 { |
| pins1 { |
| pinmux = <MT8167_PIN_64_URXD1__FUNC_URXD1>, |
| <MT8167_PIN_65_UTXD1__FUNC_UTXD1>; |
| }; |
| }; |
| |
| aud_pins_default: audiodefault { |
| pins1 { |
| pinmux = <MT8167_PIN_40_KPROW0__FUNC_GPIO40>; |
| input-enable; |
| bias-pull-up; |
| }; |
| }; |
| |
| mmc0_pins_default: mmc0default { |
| pins_cmd_dat { |
| pinmux = <MT8167_PIN_120_MSDC0_DAT0__FUNC_MSDC0_DAT0>, |
| <MT8167_PIN_119_MSDC0_DAT1__FUNC_MSDC0_DAT1>, |
| <MT8167_PIN_118_MSDC0_DAT2__FUNC_MSDC0_DAT2>, |
| <MT8167_PIN_117_MSDC0_DAT3__FUNC_MSDC0_DAT3>, |
| <MT8167_PIN_113_MSDC0_DAT4__FUNC_MSDC0_DAT4>, |
| <MT8167_PIN_112_MSDC0_DAT5__FUNC_MSDC0_DAT5>, |
| <MT8167_PIN_111_MSDC0_DAT6__FUNC_MSDC0_DAT6>, |
| <MT8167_PIN_110_MSDC0_DAT7__FUNC_MSDC0_DAT7>, |
| <MT8167_PIN_115_MSDC0_CMD__FUNC_MSDC0_CMD>; |
| input-enable; |
| bias-pull-up; |
| }; |
| |
| pins_clk { |
| pinmux = <MT8167_PIN_116_MSDC0_CLK__FUNC_MSDC0_CLK>; |
| bias-pull-down; |
| }; |
| |
| pins_rst { |
| pinmux = <MT8167_PIN_114_MSDC0_RSTB__FUNC_MSDC0_RSTB>; |
| bias-pull-up; |
| }; |
| |
| pins_user { |
| pinmux = <MT8167_PIN_2_EINT2__FUNC_GPIO2>; |
| bias-pull-up; |
| }; |
| }; |
| |
| mmc0_pins_uhs: mmc0@0{ |
| pins_cmd_dat { |
| pinmux = <MT8167_PIN_120_MSDC0_DAT0__FUNC_MSDC0_DAT0>, |
| <MT8167_PIN_119_MSDC0_DAT1__FUNC_MSDC0_DAT1>, |
| <MT8167_PIN_118_MSDC0_DAT2__FUNC_MSDC0_DAT2>, |
| <MT8167_PIN_117_MSDC0_DAT3__FUNC_MSDC0_DAT3>, |
| <MT8167_PIN_113_MSDC0_DAT4__FUNC_MSDC0_DAT4>, |
| <MT8167_PIN_112_MSDC0_DAT5__FUNC_MSDC0_DAT5>, |
| <MT8167_PIN_111_MSDC0_DAT6__FUNC_MSDC0_DAT6>, |
| <MT8167_PIN_110_MSDC0_DAT7__FUNC_MSDC0_DAT7>, |
| <MT8167_PIN_115_MSDC0_CMD__FUNC_MSDC0_CMD>; |
| input-enable; |
| drive-strength = <MTK_DRIVE_6mA>; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_01>; |
| }; |
| |
| pins_clk { |
| pinmux = <MT8167_PIN_116_MSDC0_CLK__FUNC_MSDC0_CLK>; |
| drive-strength = <MTK_DRIVE_8mA>; |
| bias-pull-down = <MTK_PUPD_SET_R1R0_10>; |
| }; |
| |
| pins_rst { |
| pinmux = <MT8167_PIN_114_MSDC0_RSTB__FUNC_MSDC0_RSTB>; |
| bias-pull-up; |
| }; |
| }; |
| |
| mmc1_pins_default: mmc1default { |
| pins_cmd_dat { |
| pinmux = <MT8167_PIN_106_MSDC1_DAT0__FUNC_MSDC1_DAT0>, |
| <MT8167_PIN_107_MSDC1_DAT1__FUNC_MSDC1_DAT1>, |
| <MT8167_PIN_108_MSDC1_DAT2__FUNC_MSDC1_DAT2>, |
| <MT8167_PIN_109_MSDC1_DAT3__FUNC_MSDC1_DAT3>, |
| <MT8167_PIN_104_MSDC1_CMD__FUNC_MSDC1_CMD>; |
| input-enable; |
| drive-strength = <MTK_DRIVE_6mA>; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_01>; |
| }; |
| |
| pins_clk { |
| pinmux = <MT8167_PIN_105_MSDC1_CLK__FUNC_MSDC1_CLK>; |
| drive-strength = <MTK_DRIVE_6mA>; |
| bias-pull-down = <MTK_PUPD_SET_R1R0_10>; |
| }; |
| |
| pins_pmu_en { |
| pinmux = <MT8167_PIN_48_SPI_CS__FUNC_GPIO48>; |
| output-low; |
| }; |
| |
| pins_test_en { |
| pinmux = <MT8167_PIN_38_MRG_DI__FUNC_GPIO38>, |
| <MT8167_PIN_44_JTMS__FUNC_GPIO44>; |
| output-low; |
| }; |
| |
| pins_sys_rst { |
| pinmux = <MT8167_PIN_47_JTDO__FUNC_GPIO47>; |
| output-high; |
| }; |
| }; |
| |
| mmc1_pins_uhs: mmc1@0 { |
| pins_cmd_dat { |
| pinmux = <MT8167_PIN_106_MSDC1_DAT0__FUNC_MSDC1_DAT0>, |
| <MT8167_PIN_107_MSDC1_DAT1__FUNC_MSDC1_DAT1>, |
| <MT8167_PIN_108_MSDC1_DAT2__FUNC_MSDC1_DAT2>, |
| <MT8167_PIN_109_MSDC1_DAT3__FUNC_MSDC1_DAT3>, |
| <MT8167_PIN_104_MSDC1_CMD__FUNC_MSDC1_CMD>; |
| input-enable; |
| drive-strength = <MTK_DRIVE_6mA>; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_01>; |
| }; |
| |
| pins_clk { |
| pinmux = <MT8167_PIN_105_MSDC1_CLK__FUNC_MSDC1_CLK>; |
| drive-strength = <MTK_DRIVE_8mA>; |
| bias-pull-down = <MTK_PUPD_SET_R1R0_10>; |
| }; |
| |
| pins_pmu_en { |
| pinmux = <MT8167_PIN_48_SPI_CS__FUNC_GPIO48>; |
| output-high; |
| }; |
| |
| pins_test_en { |
| pinmux = <MT8167_PIN_38_MRG_DI__FUNC_GPIO38>, |
| <MT8167_PIN_44_JTMS__FUNC_GPIO44>; |
| output-low; |
| }; |
| |
| pins_sys_rst { |
| pinmux = <MT8167_PIN_47_JTDO__FUNC_GPIO47>; |
| output-high; |
| }; |
| }; |
| |
| mmc2_pins_default: mmc2default { |
| pins_cmd_dat { |
| pinmux = <MT8167_PIN_70_MSDC2_DAT0__FUNC_MSDC2_DAT0>, |
| <MT8167_PIN_71_MSDC2_DAT1__FUNC_MSDC2_DAT1>, |
| <MT8167_PIN_72_MSDC2_DAT2__FUNC_MSDC2_DAT2>, |
| <MT8167_PIN_73_MSDC2_DAT3__FUNC_MSDC2_DAT3>, |
| <MT8167_PIN_68_MSDC2_CMD__FUNC_MSDC2_CMD>; |
| input-enable; |
| drive-strength = <MTK_DRIVE_6mA>; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_01>; |
| }; |
| |
| pins_clk { |
| pinmux = <MT8167_PIN_69_MSDC2_CLK__FUNC_MSDC2_CLK>; |
| drive-strength = <MTK_DRIVE_6mA>; |
| bias-pull-down = <MTK_PUPD_SET_R1R0_10>; |
| }; |
| }; |
| |
| mmc2_pins_uhs: mmc2@0 { |
| pins_cmd_dat { |
| pinmux = <MT8167_PIN_70_MSDC2_DAT0__FUNC_MSDC2_DAT0>, |
| <MT8167_PIN_71_MSDC2_DAT1__FUNC_MSDC2_DAT1>, |
| <MT8167_PIN_72_MSDC2_DAT2__FUNC_MSDC2_DAT2>, |
| <MT8167_PIN_73_MSDC2_DAT3__FUNC_MSDC2_DAT3>, |
| <MT8167_PIN_68_MSDC2_CMD__FUNC_MSDC2_CMD>; |
| input-enable; |
| drive-strength = <MTK_DRIVE_6mA>; |
| bias-pull-up = <MTK_PUPD_SET_R1R0_01>; |
| }; |
| |
| pins_clk { |
| pinmux = <MT8167_PIN_69_MSDC2_CLK__FUNC_MSDC2_CLK>; |
| drive-strength = <MTK_DRIVE_8mA>; |
| bias-pull-down = <MTK_PUPD_SET_R1R0_10>; |
| }; |
| }; |
| |
| hdmi_pins_default: hdmi_pins_default { |
| }; |
| |
| hdmi_pins_hpd: hdmi_pins_hpd { |
| pins_cmd_dat { |
| pinmux = <MT8167_PIN_122_HTPLG__FUNC_HTPLG>; |
| bias-pull-down; |
| }; |
| }; |
| |
| /* APEX GPIO start */ |
| apex_boot_fail: boot_fail { |
| pins_cmd_dat { |
| pinmux = <MT8167_PIN_55_I2S_DATA_IN__FUNC_GPIO55>; |
| slew-rate = <1>; |
| input-enable; |
| bias-pull-up; |
| }; |
| }; |
| |
| apex_pmic_en: pmic_en { |
| pins_cmd_dat { |
| pinmux = <MT8167_PIN_56_I2S_LRCK__FUNC_GPIO56>; |
| slew-rate = <1>; |
| output-high; |
| }; |
| }; |
| |
| apex_reset_n: reset_n { |
| pins_cmd_dat { |
| pinmux = <MT8167_PIN_57_I2S_BCK__FUNC_GPIO57>; |
| slew-rate = <1>; |
| output-high; |
| }; |
| }; |
| /* APEX GPIO end */ |
| |
| camera_pins_default: camdefault { |
| pins_cmd_dat { |
| pinmux = <MT8167_PIN_84_RDN0__FUNC_RDN0>, |
| <MT8167_PIN_85_RDP0__FUNC_RDP0>, |
| <MT8167_PIN_86_RDN1__FUNC_RDN1>, |
| <MT8167_PIN_87_RDP1__FUNC_RDP1>, |
| <MT8167_PIN_88_RCN__FUNC_RCN>, |
| <MT8167_PIN_89_RCP__FUNC_RCP>, |
| <MT8167_PIN_90_RDN2__FUNC_RDN2>, |
| <MT8167_PIN_91_RDP2__FUNC_RDP2>, |
| <MT8167_PIN_92_RDN3__FUNC_RDN3>, |
| <MT8167_PIN_93_RDP3__FUNC_RDP3>, |
| <MT8167_PIN_94_RCN_A__FUNC_RCN_A>, |
| <MT8167_PIN_95_RCP_A__FUNC_RCP_A>, |
| <MT8167_PIN_96_RDN1_A__FUNC_RDN1_A>, |
| <MT8167_PIN_97_RDP1_A__FUNC_RDP1_A>, |
| <MT8167_PIN_98_RDN0_A__FUNC_RDN0_A>, |
| <MT8167_PIN_99_RDP0_A__FUNC_RDP0_A>, |
| <MT8167_PIN_102_CMMCLK__FUNC_CMMCLK>; |
| }; |
| }; |
| |
| camera_pins_ov: cam_pin_ov { |
| pins_cmd_power_ctl { |
| pinmux = <MT8167_PIN_14_EINT14__FUNC_GPIO14>; |
| output-high; |
| bias-pull-down; |
| }; |
| |
| pins_cmd_power_rst { |
| pinmux = <MT8167_PIN_15_EINT15__FUNC_GPIO15>; |
| output-low; |
| }; |
| }; |
| }; |
| |
| &i2c0 { |
| status = "okay"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c0_pins_a>; |
| clock-div = <1>; |
| clock-frequency = <100000>; |
| |
| ov5645: ov5645@3c { |
| compatible = "ovti,ov5645_mipi"; |
| status = "okay"; |
| reg = <0x3c>; |
| power-domains = <&scpsys MT8167_POWER_DOMAIN_ISP>; |
| |
| pwn-gpios = <&pio 14 GPIO_ACTIVE_HIGH>; |
| rst-gpios = <&pio 15 GPIO_ACTIVE_LOW>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&camera_pins_ov>; |
| |
| DOVDD-supply = <&mt6392_vcamio_reg>; |
| DVDD-supply = <&mt6392_vcamd_reg>; |
| AVDD-supply = <&mt6392_vcama_reg>; |
| |
| clocks = <&cam_dummy_clk>; |
| clock-names = "csi_mclk"; |
| |
| mclk = <24000000>; |
| mclk_source = <0>; |
| ae_target = <52>; |
| csi_id = <0>; |
| |
| port { |
| ov5645_endpoint: endpoint { |
| remote-endpoint = <&mipicsi0_endpoint>; |
| clock-lanes = <0>; |
| data-lanes = <1 2>; |
| }; |
| }; |
| }; |
| }; |
| |
| &i2c1 { |
| status = "okay"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c1_pins_a>; |
| clock-div = <2>; |
| }; |
| |
| &i2c2 { |
| status = "okay"; |
| compatible = "i2c-gpio"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c2_pins_a>; |
| sda-gpios = <&pio 60 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; |
| scl-gpios = <&pio 61 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; |
| }; |
| |
| &mipicsi0 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&camera_pins_default>; |
| port { |
| mipicsi0_endpoint: endpoint { |
| remote-endpoint = <&ov5645_endpoint>; |
| }; |
| }; |
| }; |
| |
| &spi { |
| status = "okay"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi_pins>; |
| spidev@0 { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| compatible = "rohm,dh2228fv"; |
| spi-max-frequency = <2000000>; |
| reg = <0>; |
| }; |
| }; |
| |
| &pwm { |
| status = "okay"; |
| #pwm-cells = <2>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pwm_pins>; |
| }; |
| |
| &mmc0 { |
| pinctrl-names = "default", "state_uhs"; |
| pinctrl-0 = <&mmc0_pins_default>; |
| pinctrl-1 = <&mmc0_pins_uhs>; |
| status = "okay"; |
| bus-width = <8>; |
| max-frequency = <200000000>; |
| cap-mmc-highspeed; |
| mmc-hs200-1_8v; |
| cap-mmc-hw-reset; |
| vmmc-supply = <&mt6392_vemc3v3_reg>; |
| vqmmc-supply = <&mt6392_vio18_reg>; |
| non-removable; |
| }; |
| |
| &mmc1 { |
| status = "okay"; |
| pinctrl-names = "default", "state_uhs"; |
| pinctrl-0 = <&mmc1_pins_default>; |
| pinctrl-1 = <&mmc1_pins_uhs>; |
| vmmc-supply = <&mt6392_vemc3v3_reg>; |
| vqmmc-supply = <&mt6392_vio18_reg>; |
| bus-width = <4>; |
| max-frequency = <200000000>; |
| keep-power-in-suspend; |
| cap-sd-highspeed; |
| enable-sdio-wakeup; |
| sd-uhs-sdr50; |
| sd-uhs-sdr104; |
| cap-sdio-irq; |
| non-removable; |
| |
| mt7668 { |
| wifi: mt7668-wifi@0 { |
| compatible = "mediatek,mt8516-wifi", "mediatek,mt7668-wifi"; |
| mac-address = [00 00 00 00 00 00]; |
| }; |
| bluetooth: mt7668-bluetooth@0 { |
| compatible = "mediatek,mt8516-bluetooth", "mediatek,mt7668-bluetooth"; |
| mac-address = [00 00 00 00 00 00]; |
| }; |
| }; |
| }; |
| |
| &mmc2 { |
| pinctrl-names = "default", "state_uhs"; |
| pinctrl-0 = <&mmc2_pins_default>; |
| pinctrl-1 = <&mmc2_pins_uhs>; |
| status = "okay"; |
| bus-width = <4>; |
| max-frequency = <200000000>; |
| cap-sd-highspeed; |
| sd-uhs-sdr50; |
| sd-uhs-sdr104; |
| broken-cd; |
| vmmc-supply = <&mt6392_vmch_reg>; |
| vqmmc-supply = <&mt6392_vmc_reg>; |
| }; |
| |
| &dpi1 { |
| status = "okay"; |
| ddc-i2c-bus = <&hdmiddc>; |
| |
| port { |
| hdmi_connector_in: endpoint@0 { |
| remote-endpoint = <&hdmi_out>; |
| }; |
| }; |
| }; |
| |
| &hdmi_phy { |
| status = "okay"; |
| }; |
| |
| &cec { |
| status = "okay"; |
| }; |
| |
| &hdmi { |
| pinctrl-names = "default", "hdmi_hpd"; |
| pinctrl-0 = <&hdmi_pins_default>; |
| pinctrl-1 = <&hdmi_pins_hpd>; |
| status = "okay"; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@1 { |
| reg = <1>; |
| |
| hdmi_out: endpoint { |
| remote-endpoint = <&hdmi_connector_in>; |
| }; |
| }; |
| }; |
| }; |
| |
| &usb0 { |
| status = "okay"; |
| dr_mode = "otg"; |
| usb-role-switch; |
| vbus-supply = <&usb0_vbus>; |
| |
| port { |
| usb0_role_switch: endpoint { |
| remote-endpoint = <&mt6392_typec_ep>; |
| }; |
| }; |
| }; |
| |
| &usb0_phy { |
| status = "okay"; |
| }; |
| |
| &mt6392typec { |
| usb_con: connector { |
| compatible = "usb-c-connector"; |
| label = "USB-C"; |
| }; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@1 { |
| reg = <1>; |
| mt6392_typec_ep: endpoint { |
| remote-endpoint = <&usb0_role_switch>; |
| }; |
| }; |
| }; |
| }; |
| |
| &usb1 { |
| status = "okay"; |
| apex_pmic-supply = <&apex_pmic>; |
| }; |