MediaTek ARM64 DeviceTree updates for v6.17

This adds new machines and improves support for already supported
 MediaTek SoCs.
 
 In particular:
  - New machine: MT8186 Steelix Squirtle Chromebook
  - Steelix-Voltorb's two dts are merged in one
 
 ...and improvements for already supported SoCs and machines:
  - Added reserved memory for AFE DMA for MT8173/83/86/92,
    aligning audio related memory allocation between all of
    the Chromebook SoCs
  - Added second source components for Steelix, and marked the
    multiple trackpads for Asurada as such
  - MediaTek Genio 1200: Enabled support for the Audio DSP and sound
  - MediaTek Genio 510/700/1200: Added support for the PMIC Keys
  - MediaTek MT7988: Added Cache Coherent Interconnect for CPU DVFS
  - MT7988A-BananaPi-R4: Enabled CCI, added GPIO LEDs
  - Airoha EN7581: Added ethernet nodes to Evaluation Board
 -----BEGIN PGP SIGNATURE-----
 
 iJ4EABYKAEYWIQQn3Xxr56ypAcSHzXSaNgTPrZeEeAUCaHDJ4ygcYW5nZWxvZ2lv
 YWNjaGluby5kZWxyZWdub0Bjb2xsYWJvcmEuY29tAAoJEJo2BM+tl4R4AncBAIX2
 3XCx3N6aNbmfFzBpTn+m9Bfm3jo+b03SENMgEIjPAQCblwCKBscAMAZ21HtbfBsN
 sTGtpSFgrr11zbjltZ0gAA==
 =2+oV
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmh+V7IACgkQmmx57+YA
 GNlfOw/+N1uLjVqUaH9W7SlNLtelxivJuDznFxkM2mhn3a+mwXjKfr/taePuJtT9
 9Lo+wYwmRiCJDNW2BWH8kT9pgfQ13gXnmiqsJQtqdvrhoW/trtgqZjwyAE7bUzlK
 /ReblxDf3iLlqydoIutDUL8C9va6yTBqDr2J6HuYXqcliWZgxm6KPAK1vnqQZ9+j
 7kf911E1tTrYZ4cGRa7aIdtHF7OilhQxSYyrv8I0gFtBD7P+dZA8cyqf5Vtw59G6
 zt7tab22/WMZUHjJSrR1HRWVvrQ5IaYvirsm1RBcdfn3AlNzRXoPobhHo2oOCqyX
 gWtx3nKyI5cPW78PJL3LwpOcXyZduwDKI1y6yYbp53bo3kjKIEjGgbAXh8wJ9mXu
 wPYHwlAMn9xTsszjBxfNjM1xlOd9Dkwv1Fwdlsk9omDPKUZGfliSNVC4ldWPbGRz
 F2e+cXVAgQ5BpR8Vh9FaNpazMgB93xwxY5NZMniVcl99MhCbm5Q0sSw+FxkOXg03
 70tHKG501/gm7l4W3C9jUSdwsabpq7krLzYAypACgmYv/By9xXHsFJa5W+pVUDZq
 WKwjZVa8gUr0YLaMJrhEWo9DaxDe+jpYcySEgQGQSOctEhYKaj+zofkaXsUfZ//9
 ZPx8S/REHQbXyE0F9xQKXY7RJLIebtKzvK2sTuqhwS/VNKqZiO4=
 =xfLP
 -----END PGP SIGNATURE-----

Merge tag 'mtk-dts64-for-v6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/dt

MediaTek ARM64 DeviceTree updates for v6.17

This adds new machines and improves support for already supported
MediaTek SoCs.

In particular:
 - New machine: MT8186 Steelix Squirtle Chromebook
 - Steelix-Voltorb's two dts are merged in one

...and improvements for already supported SoCs and machines:
 - Added reserved memory for AFE DMA for MT8173/83/86/92,
   aligning audio related memory allocation between all of
   the Chromebook SoCs
 - Added second source components for Steelix, and marked the
   multiple trackpads for Asurada as such
 - MediaTek Genio 1200: Enabled support for the Audio DSP and sound
 - MediaTek Genio 510/700/1200: Added support for the PMIC Keys
 - MediaTek MT7988: Added Cache Coherent Interconnect for CPU DVFS
 - MT7988A-BananaPi-R4: Enabled CCI, added GPIO LEDs
 - Airoha EN7581: Added ethernet nodes to Evaluation Board

* tag 'mtk-dts64-for-v6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux:
  arm64: dts: mediatek: mt8395-genio-1200-evk: Add MT6359 PMIC key support
  arm64: dts: mediatek: mt8390-genio-common: Add Home MT6359 PMIC key support
  arm64: dts: mediatek: mt7988a-bpi-r4: add gpio leds
  arm64: dts: mediatek: mt7988a-bpi-r4: drop unused pins
  arm64: dts: mediatek: mt7988a-bpi-r4: add proc-supply for cci
  arm64: dts: mediatek: mt7988: add cci node
  dt-bindings: interconnect: add mt7988-cci compatible
  arm64: dts: airoha: en7581: Add ethernet nodes to EN7581 SoC evaluation board
  arm64: dts: mediatek: mt8192-asurada-spherion: Mark trackpads as fail-needs-probe
  arm64: dts: mediatek: mt8186: Add Squirtle Chromebooks
  arm64: dts: mediatek: mt8186: Merge Voltorb device trees
  arm64: dts: mediatek: mt8186-steelix: Mark second source components for probing
  dt-bindings: arm: mediatek: Add MT8186 Squirtle Chromebooks
  dt-bindings: arm: mediatek: Merge MT8186 Voltorb entries
  arm64: dts: mediatek: mt8395-genio-1200-evk: Enable Audio DSP and sound card
  arm64: dts: mediatek: mt8192-asurada: Reserve memory for audio frontend
  arm64: dts: mediatek: mt8186-corsola: Reserve memory for audio frontend
  arm64: dts: mediatek: mt8183-kukui: Reserve memory for audio frontend
  arm64: dts: mediatek: mt8173: Reserve memory for audio frontend

Link: https://lore.kernel.org/r/20250711083656.33538-3-angelogioacchino.delregno@collabora.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2025-07-21 17:07:30 +02:00
commit d436d1d5ed
20 changed files with 366 additions and 124 deletions

View File

@ -307,6 +307,10 @@ properties:
- const: google,steelix-sku196608
- const: google,steelix
- const: mediatek,mt8186
- description: Google Squirtle (Acer Chromebook Spin 311 (R724T)
items:
- const: google,squirtle
- const: mediatek,mt8186
- description: Google Starmie (ASUS Chromebook Enterprise CM30 (CM3001))
items:
- const: google,starmie-sku0
@ -355,9 +359,6 @@ properties:
- const: mediatek,mt8186
- description: Google Voltorb (Acer Chromebook 311 C723/C732T)
items:
- enum:
- google,voltorb-sku589824
- google,voltorb-sku589825
- const: google,voltorb
- const: mediatek,mt8186
- items:

View File

@ -17,9 +17,14 @@ description: |
properties:
compatible:
enum:
- mediatek,mt8183-cci
- mediatek,mt8186-cci
oneOf:
- enum:
- mediatek,mt8183-cci
- mediatek,mt8186-cci
- items:
- enum:
- mediatek,mt7988-cci
- const: mediatek,mt8183-cci
clocks:
items:

View File

@ -98,3 +98,11 @@ &pcie1 {
&i2c0 {
status = "okay";
};
&eth {
status = "okay";
};
&gdm1 {
status = "okay";
};

View File

@ -346,5 +346,54 @@ i2c1: i2c@1fbf8100 {
status = "disabled";
};
eth: ethernet@1fb50000 {
compatible = "airoha,en7581-eth";
reg = <0 0x1fb50000 0 0x2600>,
<0 0x1fb54000 0 0x2000>,
<0 0x1fb56000 0 0x2000>;
reg-names = "fe", "qdma0", "qdma1";
resets = <&scuclk EN7581_FE_RST>,
<&scuclk EN7581_FE_PDMA_RST>,
<&scuclk EN7581_FE_QDMA_RST>,
<&scuclk EN7581_XSI_MAC_RST>,
<&scuclk EN7581_DUAL_HSI0_MAC_RST>,
<&scuclk EN7581_DUAL_HSI1_MAC_RST>,
<&scuclk EN7581_HSI_MAC_RST>,
<&scuclk EN7581_XFP_MAC_RST>;
reset-names = "fe", "pdma", "qdma",
"xsi-mac", "hsi0-mac", "hsi1-mac",
"hsi-mac", "xfp-mac";
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
gdm1: ethernet@1 {
compatible = "airoha,eth-mac";
reg = <1>;
phy-mode = "internal";
status = "disabled";
fixed-link {
speed = <10000>;
full-duplex;
pause;
};
};
};
};
};

View File

@ -68,6 +68,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-magneton-sku393218.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-ponyta-sku0.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-ponyta-sku1.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-rusty-sku196608.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-squirtle.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-starmie-sku0.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-starmie-sku1.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-steelix-sku131072.dtb
@ -76,8 +77,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-tentacool-sku327681.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-tentacool-sku327683.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-tentacruel-sku262144.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-tentacruel-sku262148.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-voltorb-sku589824.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-voltorb-sku589825.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-voltorb.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-evb.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8188-evb.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8188-geralt-ciri-sku0.dtb

View File

@ -3,6 +3,7 @@
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/regulator/richtek,rt5190a-regulator.h>
#include "mt7988a.dtsi"
@ -21,6 +22,25 @@ fan: pwm-fan {
status = "okay";
};
gpio-leds {
compatible = "gpio-leds";
led_green: led-green {
function = LED_FUNCTION_STATUS;
color = <LED_COLOR_ID_GREEN>;
gpios = <&pio 79 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
led_blue: led-blue {
function = LED_FUNCTION_WPS;
color = <LED_COLOR_ID_BLUE>;
gpios = <&pio 63 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
};
reg_1p8v: regulator-1p8v {
compatible = "regulator-fixed";
regulator-name = "fixed-1.8V";
@ -40,6 +60,10 @@ reg_3p3v: regulator-3p3v {
};
};
&cci {
proc-supply = <&rt5190_buck3>;
};
&cpu0 {
proc-supply = <&rt5190_buck3>;
};
@ -219,18 +243,6 @@ &pcie3 {
};
&pio {
mdio0_pins: mdio0-pins {
mux {
function = "eth";
groups = "mdc_mdio0";
};
conf {
pins = "SMI_0_MDC", "SMI_0_MDIO";
drive-strength = <8>;
};
};
i2c0_pins: i2c0-g0-pins {
mux {
function = "i2c";
@ -245,20 +257,6 @@ mux {
};
};
i2c1_sfp_pins: i2c1-sfp-g0-pins {
mux {
function = "i2c";
groups = "i2c1_sfp";
};
};
i2c2_0_pins: i2c2-g0-pins {
mux {
function = "i2c";
groups = "i2c2_0";
};
};
i2c2_1_pins: i2c2-g1-pins {
mux {
function = "i2c";
@ -294,34 +292,6 @@ mux {
};
};
gbe0_led1_pins: gbe0-led1-pins {
mux {
function = "led";
groups = "gbe0_led1";
};
};
gbe1_led1_pins: gbe1-led1-pins {
mux {
function = "led";
groups = "gbe1_led1";
};
};
gbe2_led1_pins: gbe2-led1-pins {
mux {
function = "led";
groups = "gbe2_led1";
};
};
gbe3_led1_pins: gbe3-led1-pins {
mux {
function = "led";
groups = "gbe3_led1";
};
};
i2p5gbe_led0_pins: 2p5gbe-led0-pins {
mux {
function = "led";
@ -329,13 +299,6 @@ mux {
};
};
i2p5gbe_led1_pins: 2p5gbe-led1-pins {
mux {
function = "led";
groups = "2p5gbe_led1";
};
};
mmc0_pins_emmc_45: mmc0-emmc-45-pins {
mux {
function = "flash";
@ -357,40 +320,12 @@ mux {
};
};
snfi_pins: snfi-pins {
mux {
function = "flash";
groups = "snfi";
};
};
spi0_pins: spi0-pins {
mux {
function = "spi";
groups = "spi0";
};
};
spi0_flash_pins: spi0-flash-pins {
mux {
function = "spi";
groups = "spi0", "spi0_wp_hold";
};
};
spi2_pins: spi2-pins {
mux {
function = "spi";
groups = "spi2";
};
};
spi2_flash_pins: spi2-flash-pins {
mux {
function = "spi";
groups = "spi2", "spi2_wp_hold";
};
};
};
&pwm {

View File

@ -12,6 +12,35 @@ / {
#address-cells = <2>;
#size-cells = <2>;
cci: cci {
compatible = "mediatek,mt7988-cci", "mediatek,mt8183-cci";
clocks = <&mcusys CLK_MCU_BUS_DIV_SEL>,
<&topckgen CLK_TOP_XTAL>;
clock-names = "cci", "intermediate";
operating-points-v2 = <&cci_opp>;
};
cci_opp: opp-table-cci {
compatible = "operating-points-v2";
opp-shared;
opp-480000000 {
opp-hz = /bits/ 64 <480000000>;
opp-microvolt = <850000>;
};
opp-660000000 {
opp-hz = /bits/ 64 <660000000>;
opp-microvolt = <850000>;
};
opp-900000000 {
opp-hz = /bits/ 64 <900000000>;
opp-microvolt = <850000>;
};
opp-1080000000 {
opp-hz = /bits/ 64 <1080000000>;
opp-microvolt = <900000>;
};
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
@ -25,6 +54,7 @@ cpu0: cpu@0 {
<&topckgen CLK_TOP_XTAL>;
clock-names = "cpu", "intermediate";
operating-points-v2 = <&cluster0_opp>;
mediatek,cci = <&cci>;
};
cpu1: cpu@1 {
@ -36,6 +66,7 @@ cpu1: cpu@1 {
<&topckgen CLK_TOP_XTAL>;
clock-names = "cpu", "intermediate";
operating-points-v2 = <&cluster0_opp>;
mediatek,cci = <&cci>;
};
cpu2: cpu@2 {
@ -47,6 +78,7 @@ cpu2: cpu@2 {
<&topckgen CLK_TOP_XTAL>;
clock-names = "cpu", "intermediate";
operating-points-v2 = <&cluster0_opp>;
mediatek,cci = <&cci>;
};
cpu3: cpu@3 {
@ -58,6 +90,7 @@ cpu3: cpu@3 {
<&topckgen CLK_TOP_XTAL>;
clock-names = "cpu", "intermediate";
operating-points-v2 = <&cluster0_opp>;
mediatek,cci = <&cci>;
};
cluster0_opp: opp-table-0 {

View File

@ -318,6 +318,14 @@ reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
afe_dma_mem: audio-dma-pool {
compatible = "shared-dma-pool";
size = <0 0x100000>;
alignment = <0 0x10>;
no-map;
};
vpu_dma_reserved: vpu-dma-mem@b7000000 {
compatible = "shared-dma-pool";
reg = <0 0xb7000000 0 0x500000>;
@ -887,6 +895,7 @@ afe: audio-controller@11220000 {
<&topckgen CLK_TOP_AUD_2_SEL>;
assigned-clock-parents = <&topckgen CLK_TOP_APLL1>,
<&topckgen CLK_TOP_APLL2>;
memory-region = <&afe_dma_mem>;
};
mmc0: mmc@11230000 {

View File

@ -85,6 +85,13 @@ reserved_memory: reserved-memory {
#size-cells = <2>;
ranges;
afe_dma_mem: audio-dma-pool {
compatible = "shared-dma-pool";
size = <0 0x100000>;
alignment = <0 0x10>;
no-map;
};
scp_mem_reserved: memory@50000000 {
compatible = "shared-dma-pool";
reg = <0 0x50000000 0 0x2900000>;
@ -199,6 +206,10 @@ tboard_thermistor2: thermal-sensor2 {
};
};
&afe {
memory-region = <&afe_dma_mem>;
};
&auxadc {
status = "okay";
};

View File

@ -0,0 +1,107 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Copyright 2024 Google LLC
*/
/dts-v1/;
#include "mt8186-corsola-voltorb.dtsi"
/ {
model = "Google squirtle board";
compatible = "google,squirtle", "mediatek,mt8186";
chassis-type = "convertible";
};
&i2c1 {
touchscreen@10 {
compatible = "elan,ekth6915";
reg = <0x10>;
interrupts-extended = <&pio 12 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&touchscreen_pins>;
reset-gpios = <&pio 60 GPIO_ACTIVE_LOW>;
vcc33-supply = <&pp3300_s3>;
status = "fail-needs-probe";
};
touchscreen@16 {
compatible = "elan,ekth8d18", "elan,ekth6a12nay";
reg = <0x16>;
interrupts-extended = <&pio 12 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&touchscreen_pins>;
reset-gpios = <&pio 60 GPIO_ACTIVE_LOW>;
vcc33-supply = <&pp3300_s3>;
status = "fail-needs-probe";
};
};
&i2c2 {
trackpad@68 {
compatible = "hid-over-i2c";
reg = <0x68>;
hid-descr-addr = <0x20>;
interrupts-extended = <&pio 11 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&trackpad_pin>;
vdd-supply = <&pp3300_s3>;
wakeup-source;
status = "fail-needs-probe";
};
};
&i2c5 {
clock-frequency = <400000>;
/delete-node/ codec@1a;
rt5650: codec@1a {
compatible = "realtek,rt5650";
reg = <0x1a>;
interrupts-extended = <&pio 17 IRQ_TYPE_EDGE_BOTH>;
avdd-supply = <&mt6366_vio18_reg>;
cpvdd-supply = <&mt6366_vio18_reg>;
pinctrl-names = "default";
pinctrl-0 = <&speaker_codec_pins_default>;
cbj-sleeve-gpios = <&pio 150 GPIO_ACTIVE_HIGH>;
#sound-dai-cells = <0>;
realtek,dmic1-data-pin = <2>;
realtek,jd-mode = <2>;
};
};
&sound {
compatible = "mediatek,mt8186-mt6366-rt5650-sound";
model = "mt8186_rt5650";
audio-routing =
"Headphone", "HPOL",
"Headphone", "HPOR",
"HDMI1", "TX";
hs-playback-dai-link {
codec {
sound-dai = <&rt5650>;
};
};
hs-capture-dai-link {
codec {
sound-dai = <&rt5650>;
};
};
spk-hdmi-playback-dai-link {
codec {
sound-dai = <&it6505dptx>;
};
};
};
&speaker_codec {
status = "disabled";
};
&trackpad_steelix {
status = "disabled";
};

View File

@ -118,13 +118,16 @@ &i2c2 {
i2c-scl-internal-delay-ns = <22000>;
/* second source component */
trackpad@2c {
trackpad_steelix: trackpad@2c {
compatible = "hid-over-i2c";
reg = <0x2c>;
hid-descr-addr = <0x20>;
interrupts-extended = <&pio 11 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&trackpad_pin>;
vdd-supply = <&pp3300_s3>;
wakeup-source;
status = "fail-needs-probe";
};
};
@ -197,3 +200,7 @@ pins-vreg-en {
};
};
};
&trackpad {
status = "fail-needs-probe";
};

View File

@ -17,6 +17,8 @@ trackpad@15 {
compatible = "hid-over-i2c";
reg = <0x15>;
interrupts-extended = <&pio 11 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&trackpad_pin>;
hid-descr-addr = <0x0001>;
vdd-supply = <&pp3300_s3>;
wakeup-source;

View File

@ -19,6 +19,8 @@ trackpad@15 {
compatible = "hid-over-i2c";
reg = <0x15>;
interrupts-extended = <&pio 11 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&trackpad_pin>;
hid-descr-addr = <0x0001>;
vdd-supply = <&pp3300_s3>;
wakeup-source;

View File

@ -1,13 +0,0 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Copyright 2022 Google LLC
*/
/dts-v1/;
#include "mt8186-corsola-voltorb.dtsi"
/ {
model = "Google Voltorb sku589824 board";
compatible = "google,voltorb-sku589824", "google,voltorb",
"mediatek,mt8186";
};

View File

@ -7,9 +7,8 @@
#include "mt8186-corsola-voltorb.dtsi"
/ {
model = "Google Voltorb sku589825 board";
compatible = "google,voltorb-sku589825", "google,voltorb",
"mediatek,mt8186";
model = "Google Voltorb board";
compatible = "google,voltorb", "mediatek,mt8186";
};
&i2c1 {

View File

@ -161,6 +161,13 @@ reserved_memory: reserved-memory {
#size-cells = <2>;
ranges;
afe_dma_mem: audio-dma-pool {
compatible = "shared-dma-pool";
size = <0 0x100000>;
alignment = <0 0x10>;
no-map;
};
adsp_dma_mem: memory@61000000 {
compatible = "shared-dma-pool";
reg = <0 0x61000000 0 0x100000>;
@ -310,6 +317,7 @@ &adsp {
};
&afe {
memory-region = <&afe_dma_mem>;
status = "okay";
};
@ -390,19 +398,17 @@ &i2c1 {
&i2c2 {
pinctrl-names = "default";
/*
* Trackpad pin put here to work around second source components
* sharing the pinmux in steelix designs.
*/
pinctrl-0 = <&i2c2_pins>, <&trackpad_pin>;
pinctrl-0 = <&i2c2_pins>;
clock-frequency = <400000>;
i2c-scl-internal-delay-ns = <10000>;
status = "okay";
trackpad@15 {
trackpad: trackpad@15 {
compatible = "elan,ekth3000";
reg = <0x15>;
interrupts-extended = <&pio 11 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&trackpad_pin>;
vcc-supply = <&pp3300_s3>;
wakeup-source;
};

View File

@ -85,8 +85,15 @@ &i2c2 {
trackpad@2c {
compatible = "hid-over-i2c";
reg = <0x2c>;
pinctrl-names = "default";
pinctrl-0 = <&trackpad_pins>;
hid-descr-addr = <0x20>;
interrupts-extended = <&pio 15 IRQ_TYPE_LEVEL_LOW>;
wakeup-source;
status = "fail-needs-probe";
};
};
&trackpad {
status = "fail-needs-probe";
};

View File

@ -199,6 +199,13 @@ reserved_memory: reserved-memory {
#size-cells = <2>;
ranges;
afe_dma_mem: audio-dma-pool {
compatible = "shared-dma-pool";
size = <0 0x100000>;
alignment = <0 0x10>;
no-map;
};
scp_mem_reserved: scp@50000000 {
compatible = "shared-dma-pool";
reg = <0 0x50000000 0 0x2900000>;
@ -276,6 +283,10 @@ sound: sound {
};
};
&afe {
memory-region = <&afe_dma_mem>;
};
&dsi0 {
status = "okay";
};
@ -335,11 +346,13 @@ &i2c2 {
clock-frequency = <400000>;
clock-stretch-ns = <12600>;
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins>, <&trackpad_pins>;
pinctrl-0 = <&i2c2_pins>;
trackpad@15 {
trackpad: trackpad@15 {
compatible = "elan,ekth3000";
reg = <0x15>;
pinctrl-names = "default";
pinctrl-0 = <&trackpad_pins>;
interrupts-extended = <&pio 15 IRQ_TYPE_LEVEL_LOW>;
vcc-supply = <&pp3300_u>;
wakeup-source;

View File

@ -1161,6 +1161,10 @@ power-key {
linux,keycodes = <KEY_POWER>;
wakeup-source;
};
home {
linux,keycodes = <KEY_HOME>;
};
};
};

View File

@ -79,9 +79,21 @@ bl31_secmon_mem: memory@54600000 {
reg = <0 0x54600000 0x0 0x200000>;
};
snd_dma_mem: memory@60000000 {
adsp_mem: memory@60000000 {
compatible = "shared-dma-pool";
reg = <0 0x60000000 0 0x1100000>;
reg = <0 0x60000000 0 0xf00000>;
no-map;
};
afe_dma_mem: memory@60f00000 {
compatible = "shared-dma-pool";
reg = <0 0x60f00000 0 0x100000>;
no-map;
};
adsp_dma_mem: memory@61000000 {
compatible = "shared-dma-pool";
reg = <0 0x61000000 0 0x100000>;
no-map;
};
@ -179,6 +191,16 @@ wifi_fixed_3v3: regulator-2 {
};
};
&adsp {
memory-region = <&adsp_dma_mem>, <&adsp_mem>;
status = "okay";
};
&afe {
memory-region = <&afe_dma_mem>;
status = "okay";
};
&disp_pwm0 {
pinctrl-names = "default";
pinctrl-0 = <&disp_pwm0_pins>;
@ -968,6 +990,21 @@ pins {
&pmic {
interrupts-extended = <&pio 222 IRQ_TYPE_LEVEL_HIGH>;
mt6359keys: keys {
compatible = "mediatek,mt6359-keys";
mediatek,long-press-mode = <1>;
power-off-time-sec = <0>;
power-key {
linux,keycodes = <KEY_POWER>;
wakeup-source;
};
home {
linux,keycodes = <KEY_HOME>;
};
};
};
&scp {
@ -976,6 +1013,26 @@ &scp {
status = "okay";
};
&sound {
compatible = "mediatek,mt8195_mt6359";
model = "mt8395-evk";
pinctrl-names = "default";
pinctrl-0 = <&audio_default_pins>;
audio-routing =
"Headphone", "Headphone L",
"Headphone", "Headphone R";
mediatek,adsp = <&adsp>;
status = "okay";
headphone-dai-link {
link-name = "DL_SRC_BE";
codec {
sound-dai = <&pmic 0>;
};
};
};
&spi1 {
pinctrl-0 = <&spi1_pins>;
pinctrl-names = "default";