From f0143d5043621933d98e4adf5c93713239e23edf Mon Sep 17 00:00:00 2001 From: Dongjin Kim Date: Thu, 1 Jul 2021 05:40:25 +0900 Subject: [PATCH 54/75] ODROID-N2: arm64/dts: update device tree after v5.13 Signed-off-by: Dongjin Kim Change-Id: Ife61a927258300b5310e68e7b0acae3a74230135 --- .../boot/dts/amlogic/meson64_odroidn2.dts | 2 + .../boot/dts/amlogic/meson64_odroidn2.dtsi | 291 ++++++++++++++++++ .../dts/amlogic/meson64_odroidn2_plus.dts | 123 +++++++- 3 files changed, 415 insertions(+), 1 deletion(-) create mode 100644 arch/arm64/boot/dts/amlogic/meson64_odroidn2.dtsi diff --git a/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts b/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts index 913b85baf6ea..799c8409b371 100644 --- a/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts +++ b/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dts @@ -11,8 +11,10 @@ #include #include #include +#include #include "meson-g12b-odroid-n2.dts" +#include "meson64_odroidn2.dtsi" / { model = "Hardkernel ODROID-N2"; diff --git a/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dtsi b/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dtsi new file mode 100644 index 000000000000..ea28368eb93b --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/meson64_odroidn2.dtsi @@ -0,0 +1,291 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2021 Dongjin Kim + * + */ + +#include +#include +#include +#include +#include +#include + +/ { + aliases { + mmc0 = &sd_emmc_c; /* eMMC */ + mmc1 = &sd_emmc_b; /* SD card */ + mmc2 = &sd_emmc_a; /* SDIO */ + }; + + reboot: odroid-reboot { + compatible = "odroid,reboot"; + sys_reset = <0x84000009>; + sys_poweroff = <0x84000008>; + + sd-vqsw = <&gpio_ao GPIOAO_9 GPIO_ACTIVE_HIGH>; + sd-vmmc = <&gpio_ao GPIOAO_8 GPIO_ACTIVE_HIGH>; + }; + + dio2133: audio-amplifier-0 { + compatible = "simple-audio-amplifier"; + enable-gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>; + VCC-supply = <&vcc_5v>; + sound-name-prefix = "AMP"; + }; + + spdif_dit: audio-codec-1 { + #sound-dai-cells = <0>; + compatible = "linux,spdif-dit"; + status = "okay"; + sound-name-prefix = "DIT"; + }; + + sound { + compatible = "amlogic,axg-sound-card"; + model = "G12B-ODROID-N2"; + audio-aux-devs = <&tdmout_b>, <&tdmout_c>, <&dio2133>; + audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1", + "TDMOUT_B IN 1", "FRDDR_B OUT 1", + "TDMOUT_B IN 2", "FRDDR_C OUT 1", + "TDM_B Playback", "TDMOUT_B OUT", + "TDMOUT_C IN 0", "FRDDR_A OUT 2", + "TDMOUT_C IN 1", "FRDDR_B OUT 2", + "TDMOUT_C IN 2", "FRDDR_C OUT 2", + "TDM_C Playback", "TDMOUT_C OUT", + "SPDIFOUT IN 0", "FRDDR_A OUT 3", + "SPDIFOUT IN 1", "FRDDR_B OUT 3", + "SPDIFOUT IN 2", "FRDDR_C OUT 3", + "AMP INL", "ACODEC LOLP", + "AMP INR", "ACODEC LORP"; + + assigned-clocks = <&clkc CLKID_HIFI_PLL>, + <&clkc CLKID_MPLL0>, + <&clkc CLKID_MPLL1>; + assigned-clock-parents = <0>, <0>, <0>; + assigned-clock-rates = <589824000>, + <270950400>, + <393216000>; + + status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; + }; + + dai-link-1 { + sound-dai = <&frddr_b>; + }; + + dai-link-2 { + sound-dai = <&frddr_c>; + }; + + /* 8ch hdmi interface */ + dai-link-3 { + sound-dai = <&tdmif_b>; + dai-format = "i2s"; + dai-tdm-slot-tx-mask-0 = <1 1>; + dai-tdm-slot-tx-mask-1 = <1 1>; + dai-tdm-slot-tx-mask-2 = <1 1>; + dai-tdm-slot-tx-mask-3 = <1 1>; + mclk-fs = <256>; + + codec { + sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; + }; + }; + + dai-link-4 { + sound-dai = <&tdmif_c>; + dai-format = "i2s"; + dai-tdm-slot-tx-mask-0 = <1 1>; + mclk-fs = <256>; + + codec { + sound-dai = <&toacodec TOACODEC_IN_C>; + }; + }; + + dai-link-5 { + sound-dai = <&spdifout>; + + codec { + sound-dai = <&spdif_dit>; + }; + }; + + dai-link-6 { + sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; + + codec { + sound-dai = <&hdmi_tx>; + }; + }; + + dai-link-7 { + sound-dai = <&toacodec TOACODEC_OUT>; + + codec { + sound-dai = <&acodec>; + }; + }; + }; + + pwmgpio:pwmgpio { + compatible = "pwm-gpio"; + #pwm-cells = <3>; + pwm-gpios = <&gpio_ao GPIOAO_10 GPIO_ACTIVE_HIGH>; + status = "okay"; + }; + + pwmfan:pwm-fan { + compatible = "pwm-fan"; + pwms = <&pwmgpio 0 40000 PWM_POLARITY_INVERTED>; + cooling-min-state = <0>; + cooling-max-state = <3>; + #cooling-cells = <2>; + cooling-levels = <0 120 170 220>; + }; +}; + +&cpu_thermal { + trips { + fan_0: trip-point@0 { + temperature = <65000>; + hysteresis = <5000>; + type = "active"; + }; + fan_1: trip-point@1 { + temperature = <75000>; + hysteresis = <5000>; + type = "active"; + }; + }; + cooling-maps { + fan_cooling_map0 { + trip = <&fan_0>; + cooling-device = <&pwmfan THERMAL_NO_LIMIT 2>; + }; + fan_cooling_map1 { + trip = <&fan_1>; + cooling-device = <&pwmfan 2 THERMAL_NO_LIMIT>; + }; + }; +}; + +&sd_emmc_b { + max-frequency = <200000000>; + sd-uhs-sdr12; + sd-uhs-sdr25; + sd-uhs-sdr50; + sd-uhs-sdr104; +}; + +ðmac { + /delete-property/ resets; + /delete-property/ reset-names; +}; + +&gpio { + gpio-line-names = + /* GPIOZ */ + "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", + /* GPIOH */ + "", "", "", "", "", "", "", "", + "", + /* BOOT */ + "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", + /* GPIOC */ + "", "", "", "", "", "", "", "", + /* GPIOA */ + "PIN_44", /* GPIOA_0 */ + "PIN_46", /* GPIOA_1 */ + "PIN_45", /* GPIOA_2 */ + "PIN_47", /* GPIOA_3 */ + "PIN_26", /* GPIOA_4 */ + "", "", "", "", "", "", + "PIN_42", /* GPIOA_11 */ + "PIN_32", /* GPIOA_12 */ + "PIN_7", /* GPIOA_13 */ + "PIN_27", /* GPIOA_14 */ + "PIN_28", /* GPIOA_15 */ + /* GPIOX */ + "PIN_16", /* GPIOX_0 */ + "PIN_18", /* GPIOX_1 */ + "PIN_22", /* GPIOX_2 */ + "PIN_11", /* GPIOX_3 */ + "PIN_13", /* GPIOX_4 */ + "PIN_33", /* GPIOX_5 */ + "PIN_35", /* GPIOX_6 */ + "PIN_15", /* GPIOX_7 */ + "PIN_19", /* GPIOX_8 */ + "PIN_21", /* GPIOX_9 */ + "PIN_24", /* GPIOX_10 */ + "PIN_23", /* GPIOX_11 */ + "PIN_8", /* GPIOX_12 */ + "PIN_10", /* GPIOX_13 */ + "PIN_29", /* GPIOX_14 */ + "PIN_31", /* GPIOX_15 */ + "PIN_12", /* GPIOX_16 */ + "PIN_3", /* GPIOX_17 */ + "PIN_5", /* GPIOX_18 */ + "PIN_36"; /* GPIOX_19 */ +}; + +&gpu_opp_table { + opp-999999984 { + opp-hz = /bits/ 64 <999999984>; + opp-microvolt = <800000>; + }; +}; + +&spdifout { + pinctrl-0 = <&spdif_out_a13_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&tdmif_b { + pinctrl-0 = <&mclk0_a_pins>, <&tdm_b_fs_pins>, <&tdm_b_sclk_pins>, + <&tdm_b_dout0_pins>; + pinctrl-names = "default"; + status = "okay"; + + assigned-clocks = <&clkc_audio AUD_CLKID_TDM_MCLK_PAD0>, + <&clkc_audio AUD_CLKID_TDM_SCLK_PAD1>, + <&clkc_audio AUD_CLKID_TDM_LRCLK_PAD1>; + assigned-clock-parents = <&clkc_audio AUD_CLKID_MST_B_MCLK>, + <&clkc_audio AUD_CLKID_MST_B_SCLK>, + <&clkc_audio AUD_CLKID_MST_B_LRCLK>; + assigned-clock-rates = <0>, <0>, <0>; +}; + +&tdmif_c { + status = "okay"; + assigned-clocks = <&clkc_audio AUD_CLKID_TDM_MCLK_PAD1>, + <&clkc_audio AUD_CLKID_TDM_SCLK_PAD2>, + <&clkc_audio AUD_CLKID_TDM_LRCLK_PAD2>; + assigned-clock-parents = <&clkc_audio AUD_CLKID_MST_C_MCLK>, + <&clkc_audio AUD_CLKID_MST_C_SCLK>, + <&clkc_audio AUD_CLKID_MST_C_LRCLK>; + assigned-clock-rates = <0>, <0>, <0>; +}; + +&tdmout_c { + status = "okay"; +}; + +&acodec { + status = "okay"; +}; + +&toacodec { + status = "okay"; +}; + +&gpio { + /delete-node/ hog-0; +}; diff --git a/arch/arm64/boot/dts/amlogic/meson64_odroidn2_plus.dts b/arch/arm64/boot/dts/amlogic/meson64_odroidn2_plus.dts index 061938ff870f..da9c35557767 100644 --- a/arch/arm64/boot/dts/amlogic/meson64_odroidn2_plus.dts +++ b/arch/arm64/boot/dts/amlogic/meson64_odroidn2_plus.dts @@ -6,8 +6,129 @@ /dts-v1/; -#include "meson64_odroidn2.dts" +#include "meson-g12b-odroid-n2-plus.dts" +#include "meson64_odroidn2.dtsi" / { model = "Hardkernel ODROID-N2Plus"; }; + +&reboot { + sd-vqen = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>; +}; + +&vddcpu_a { + regulator-min-microvolt = <680000>; + regulator-max-microvolt = <1040000>; + + pwms = <&pwm_ab 0 1500 0>; +}; + +&vddcpu_b { + regulator-min-microvolt = <680000>; + regulator-max-microvolt = <1040000>; + + pwms = <&pwm_AO_cd 1 1500 0>; +}; + +&cpu_opp_table_0 { + /delete-node/ opp-100000000; + /delete-node/ opp-250000000; + /delete-node/ opp-500000000; + /delete-node/ opp-667000000; + opp-1000000000 { + opp-hz = /bits/ 64 <1000000000>; + opp-microvolt = <760000>; + }; + opp-1200000000 { + opp-hz = /bits/ 64 <1200000000>; + opp-microvolt = <780000>; + }; + opp-1398000000 { + opp-hz = /bits/ 64 <1398000000>; + opp-microvolt = <810000>; + }; + opp-1512000000 { + opp-hz = /bits/ 64 <1512000000>; + opp-microvolt = <860000>; + }; + opp-1608000000 { + opp-hz = /bits/ 64 <1608000000>; + opp-microvolt = <900000>; + }; + opp-1704000000 { + opp-hz = /bits/ 64 <1704000000>; + opp-microvolt = <960000>; + }; + opp-1800000000 { + opp-hz = /bits/ 64 <1800000000>; + opp-microvolt = <1020000>; + }; + opp-1908000000 { + opp-hz = /bits/ 64 <1908000000>; + opp-microvolt = <1030000>; + }; + opp-2016000000 { + opp-hz = /bits/ 64 <2016000000>; + opp-microvolt = <1040000>; + }; +}; + +&cpub_opp_table_1 { + /delete-node/ opp-100000000; + /delete-node/ opp-250000000; + /delete-node/ opp-500000000; + /delete-node/ opp-667000000; + opp-1000000000 { + opp-hz = /bits/ 64 <1000000000>; + opp-microvolt = <730000>; + }; + opp-1200000000 { + opp-hz = /bits/ 64 <1200000000>; + opp-microvolt = <750000>; + }; + opp-1398000000 { + opp-hz = /bits/ 64 <1398000000>; + opp-microvolt = <770000>; + }; + opp-1512000000 { + opp-hz = /bits/ 64 <1512000000>; + opp-microvolt = <770000>; + }; + opp-1608000000 { + opp-hz = /bits/ 64 <1608000000>; + opp-microvolt = <780000>; + }; + opp-1704000000 { + opp-hz = /bits/ 64 <1704000000>; + opp-microvolt = <790000>; + }; + opp-1800000000 { + opp-hz = /bits/ 64 <1800000000>; + opp-microvolt = <830000>; + }; + opp-1908000000 { + opp-hz = /bits/ 64 <1908000000>; + opp-microvolt = <860000>; + }; + opp-2016000000 { + opp-hz = /bits/ 64 <2016000000>; + opp-microvolt = <910000>; + }; + opp-2100000000 { + opp-hz = /bits/ 64 <2100000000>; + opp-microvolt = <960000>; + }; + opp-2208000000 { + opp-hz = /bits/ 64 <2208000000>; + opp-microvolt = <1030000>; + }; + opp-2304000000 { + opp-hz = /bits/ 64 <2304000000>; + opp-microvolt = <1030000>; + }; + opp-2400000000 { + opp-hz = /bits/ 64 <2400000000>; + opp-microvolt = <1040000>; + }; +}; -- 2.25.1