diff --git a/patch/kernel/archive/meson64-6.4/add-board-bananapi-cm4-cm4io.patch b/patch/kernel/archive/meson64-6.4/add-board-bananapi-cm4-cm4io.patch index d770d9dae..2631c07cb 100644 --- a/patch/kernel/archive/meson64-6.4/add-board-bananapi-cm4-cm4io.patch +++ b/patch/kernel/archive/meson64-6.4/add-board-bananapi-cm4-cm4io.patch @@ -24,582 +24,60 @@ Reviewed-by: Martin Blumenstingl Link: https://lore.kernel.org/r/20230303-topic-amlogic-upstream-bpi-cm4-v2-2-2ecfde76fc4d@linaro.org Signed-off-by: Neil Armstrong --- - arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-cm4io.dts | 172 ++++ - arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi | 388 ++++++++++ - 2 files changed, 560 insertions(+) + arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-cm4io.dts | 11 ++++++++-- + arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi | 4 ++-- + 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-cm4io.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-cm4io.dts -new file mode 100644 -index 000000000000..cba456022918 ---- /dev/null +index 1b0c3881c6a1..cba456022918 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-cm4io.dts +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-cm4io.dts -@@ -0,0 +1,172 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2023 Neil Armstrong -+ */ -+ -+/dts-v1/; -+ -+#include "meson-g12b-bananapi-cm4.dtsi" -+#include -+#include -+#include -+ -+/ { -+ compatible = "bananapi,bpi-cm4io", "bananapi,bpi-cm4", "amlogic,a311d", "amlogic,g12b"; -+ model = "BananaPi BPI-CM4IO Baseboard with BPI-CM4 Module"; -+ -+ aliases { -+ ethernet0 = ðmac; -+ i2c0 = &i2c1; -+ i2c1 = &i2c3; -+ }; -+ +@@ -20,6 +20,12 @@ aliases { + i2c1 = &i2c3; + }; + + reboot: meson64-reboot { + compatible = "meson64,reboot"; + sys_reset = <0x84000009>; + sys_poweroff = <0x84000008>; + }; + -+ adc-keys { -+ compatible = "adc-keys"; -+ io-channels = <&saradc 2>; -+ io-channel-names = "buttons"; -+ keyup-threshold-microvolt = <1710000>; -+ -+ button-function { -+ label = "Function"; -+ linux,code = ; -+ press-threshold-microvolt = <10000>; -+ }; -+ }; -+ -+ hdmi_connector: hdmi-connector { -+ compatible = "hdmi-connector"; -+ type = "a"; -+ -+ port { -+ hdmi_connector_in: endpoint { -+ remote-endpoint = <&hdmi_tx_tmds_out>; -+ }; -+ }; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ led-blue { -+ color = ; -+ function = LED_FUNCTION_STATUS; + adc-keys { + compatible = "adc-keys"; + io-channels = <&saradc 2>; +@@ -50,14 +56,15 @@ leds { + led-blue { + color = ; + function = LED_FUNCTION_STATUS; +- gpios = <&gpio_ao GPIOAO_7 GPIO_ACTIVE_HIGH>; + gpios = <&gpio_ao GPIOAO_7 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "heartbeat"; -+ }; -+ -+ led-green { -+ color = ; -+ function = LED_FUNCTION_STATUS; + linux,default-trigger = "heartbeat"; + }; + + led-green { + color = ; + function = LED_FUNCTION_STATUS; +- gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>; + gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; + linux,default-trigger = "default-on"; -+ }; -+ }; -+ -+ sound { -+ compatible = "amlogic,axg-sound-card"; -+ model = "BPI-CM4IO"; -+ audio-aux-devs = <&tdmout_b>; -+ 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"; -+ -+ assigned-clocks = <&clkc CLKID_MPLL2>, -+ <&clkc CLKID_MPLL0>, -+ <&clkc CLKID_MPLL1>; -+ assigned-clock-parents = <0>, <0>, <0>; -+ assigned-clock-rates = <294912000>, -+ <270950400>, -+ <393216000>; -+ -+ 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>; -+ }; -+ }; -+ -+ /* hdmi glue */ -+ dai-link-4 { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; -+ -+ codec { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ }; -+}; -+ -+&cecb_AO { -+ status = "okay"; -+}; -+ -+ðmac { -+ status = "okay"; -+}; -+ -+&hdmi_tx { -+ status = "okay"; -+}; -+ -+&hdmi_tx_tmds_port { -+ hdmi_tx_tmds_out: endpoint { -+ remote-endpoint = <&hdmi_connector_in>; -+ }; -+}; -+ -+/* CSI port */ -+&i2c1 { -+ status = "okay"; -+}; -+ -+/* DSI port for touchscreen */ -+&i2c3 { -+ status = "okay"; -+}; -+ -+/* miniPCIe port with USB + SIM slot */ -+&pcie { -+ status = "okay"; -+}; -+ -+&sd_emmc_b { -+ status = "okay"; -+}; -+ -+&tohdmitx { -+ status = "okay"; -+}; -+ -+/* Peripheral Only USB-C port */ -+&usb { -+ dr_mode = "peripheral"; -+ -+ status = "okay"; -+}; + }; + }; + diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi -new file mode 100644 -index 000000000000..074ced419dfa ---- /dev/null +index 97e522921b06..074ced419dfa 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi -@@ -0,0 +1,388 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2023 Neil Armstrong -+ */ -+ -+#include "meson-g12b-a311d.dtsi" -+#include -+ -+/ { -+ aliases { -+ serial0 = &uart_AO; -+ rtc1 = &vrtc; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+ -+ emmc_pwrseq: emmc-pwrseq { -+ compatible = "mmc-pwrseq-emmc"; -+ reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; -+ }; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x40000000>; -+ }; -+ -+ sdio_pwrseq: sdio-pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ reset-gpios = <&gpio GPIOAO_6 GPIO_ACTIVE_LOW>; -+ clocks = <&wifi32k>; -+ clock-names = "ext_clock"; -+ }; -+ -+ emmc_1v8: regulator-emmc-1v8 { -+ compatible = "regulator-fixed"; -+ regulator-name = "EMMC_1V8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ vin-supply = <&vddao_3v3>; -+ regulator-always-on; -+ }; -+ -+ dc_in: regulator-dc-in { -+ compatible = "regulator-fixed"; -+ regulator-name = "DC_IN"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-always-on; -+ }; -+ -+ vddio_c: regulator-vddio-c { -+ compatible = "regulator-gpio"; -+ regulator-name = "VDDIO_C"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ -+ enable-gpio = <&gpio_ao GPIOAO_3 GPIO_OPEN_DRAIN>; -+ enable-active-high; -+ regulator-always-on; -+ -+ gpios = <&gpio_ao GPIOAO_9 GPIO_OPEN_DRAIN>; -+ gpios-states = <1>; -+ -+ states = <1800000 0>, -+ <3300000 1>; -+ }; -+ -+ vddao_1v8: regulator-vddao-1v8 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDDAO_1V8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ vin-supply = <&vddao_3v3>; -+ regulator-always-on; -+ }; -+ -+ vddao_3v3: regulator-vddao-3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDDAO_3V3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ vin-supply = <&dc_in>; -+ regulator-always-on; -+ }; -+ -+ vddcpu_a: regulator-vddcpu-a { -+ /* -+ * MP8756GD DC/DC Regulator. -+ */ -+ compatible = "pwm-regulator"; -+ -+ regulator-name = "VDDCPU_A"; -+ regulator-min-microvolt = <680000>; -+ regulator-max-microvolt = <1040000>; -+ -+ pwm-supply = <&dc_in>; -+ -+ pwms = <&pwm_ab 0 1250 0>; -+ pwm-dutycycle-range = <100 0>; -+ -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ vddcpu_b: regulator-vddcpu-b { -+ /* -+ * SY8120B1ABC DC/DC Regulator. -+ */ -+ compatible = "pwm-regulator"; -+ -+ regulator-name = "VDDCPU_B"; -+ regulator-min-microvolt = <680000>; -+ regulator-max-microvolt = <1040000>; -+ -+ pwm-supply = <&dc_in>; -+ -+ pwms = <&pwm_AO_cd 1 1250 0>; -+ pwm-dutycycle-range = <100 0>; -+ -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ wifi32k: wifi32k { -+ compatible = "pwm-clock"; -+ #clock-cells = <0>; -+ clock-frequency = <32768>; -+ pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ -+ }; -+}; -+ -+&arb { -+ status = "okay"; -+}; -+ -+&clkc_audio { -+ status = "okay"; -+}; -+ -+&cec_AO { -+ pinctrl-0 = <&cec_ao_a_h_pins>; -+ pinctrl-names = "default"; -+ hdmi-phandle = <&hdmi_tx>; -+}; -+ -+&cecb_AO { -+ pinctrl-0 = <&cec_ao_b_h_pins>; -+ pinctrl-names = "default"; -+ hdmi-phandle = <&hdmi_tx>; -+}; -+ -+&cpu0 { -+ cpu-supply = <&vddcpu_b>; -+ operating-points-v2 = <&cpu_opp_table_0>; -+ clocks = <&clkc CLKID_CPU_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu1 { -+ cpu-supply = <&vddcpu_b>; -+ operating-points-v2 = <&cpu_opp_table_0>; -+ clocks = <&clkc CLKID_CPU_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu100 { -+ cpu-supply = <&vddcpu_a>; -+ operating-points-v2 = <&cpub_opp_table_1>; -+ clocks = <&clkc CLKID_CPUB_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu101 { -+ cpu-supply = <&vddcpu_a>; -+ operating-points-v2 = <&cpub_opp_table_1>; -+ clocks = <&clkc CLKID_CPUB_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu102 { -+ cpu-supply = <&vddcpu_a>; -+ operating-points-v2 = <&cpub_opp_table_1>; -+ clocks = <&clkc CLKID_CPUB_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu103 { -+ cpu-supply = <&vddcpu_a>; -+ operating-points-v2 = <&cpub_opp_table_1>; -+ clocks = <&clkc CLKID_CPUB_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&ext_mdio { -+ external_phy: ethernet-phy@0 { -+ /* Realtek RTL8211F (0x001cc916) */ -+ reg = <0>; -+ max-speed = <1000>; -+ -+ interrupt-parent = <&gpio_intc>; -+ /* MAC_INTR on GPIOZ_14 */ -+ interrupts = <26 IRQ_TYPE_LEVEL_LOW>; -+ }; -+}; -+ -+/* Ethernet to be enabled in baseboard DT */ -+ðmac { -+ pinctrl-0 = <ð_pins>, <ð_rgmii_pins>; -+ pinctrl-names = "default"; -+ phy-mode = "rgmii-txid"; -+ phy-handle = <&external_phy>; -+}; -+ -+&frddr_a { -+ status = "okay"; -+}; -+ -+&frddr_b { -+ status = "okay"; -+}; -+ -+&frddr_c { -+ status = "okay"; -+}; -+ -+/* HDMI to be enabled in baseboard DT */ -+&hdmi_tx { -+ pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; -+ pinctrl-names = "default"; -+ hdmi-supply = <&dc_in>; -+}; -+ -+/* "Camera" I2C bus */ -+&i2c1 { -+ pinctrl-0 = <&i2c1_sda_h6_pins>, <&i2c1_sck_h7_pins>; -+ pinctrl-names = "default"; -+}; -+ -+/* Main I2C bus */ -+&i2c2 { -+ pinctrl-0 = <&i2c2_sda_x_pins>, <&i2c2_sck_x_pins>; -+ pinctrl-names = "default"; -+}; -+ -+/* "ID" I2C bus */ -+&i2c3 { -+ pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&pcie { -+ reset-gpios = <&gpio GPIOA_8 GPIO_ACTIVE_LOW>; -+}; -+ -+&pwm_ab { -+ pinctrl-0 = <&pwm_a_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin0"; -+ -+ status = "okay"; -+}; -+ -+&pwm_ef { -+ pinctrl-0 = <&pwm_e_pins>; -+ pinctrl-names = "default"; -+ -+ status = "okay"; -+}; -+ -+&pwm_AO_cd { -+ pinctrl-0 = <&pwm_ao_d_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin1"; -+ -+ status = "okay"; -+}; -+ -+&saradc { -+ vref-supply = <&vddao_1v8>; -+ -+ status = "okay"; -+}; -+ -+/* on-module SDIO WiFi */ -+&sd_emmc_a { -+ pinctrl-0 = <&sdio_pins>; -+ pinctrl-1 = <&sdio_clk_gate_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ bus-width = <4>; -+ sd-uhs-sdr104; -+ max-frequency = <50000000>; -+ -+ non-removable; -+ disable-wp; -+ -+ /* WiFi firmware requires power in suspend */ -+ keep-power-in-suspend; -+ -+ mmc-pwrseq = <&sdio_pwrseq>; -+ -+ vmmc-supply = <&vddao_3v3>; -+ vqmmc-supply = <&vddao_3v3>; -+ -+ status = "okay"; -+ -+ rtl8822cs: wifi@1 { -+ reg = <1>; -+ }; -+}; -+ -+/* SD card to be enabled in baseboard DT */ -+&sd_emmc_b { -+ pinctrl-0 = <&sdcard_c_pins>; -+ pinctrl-1 = <&sdcard_clk_gate_c_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ -+ bus-width = <4>; -+ cap-sd-highspeed; -+ max-frequency = <50000000>; -+ disable-wp; -+ -+ cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; -+ vmmc-supply = <&vddao_3v3>; -+ vqmmc-supply = <&vddio_c>; -+}; -+ -+/* on-module eMMC */ -+&sd_emmc_c { -+ pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; -+ pinctrl-1 = <&emmc_clk_gate_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ -+ bus-width = <8>; -+ cap-mmc-highspeed; -+ mmc-ddr-1_8v; -+ mmc-hs200-1_8v; -+ max-frequency = <200000000>; -+ disable-wp; -+ -+ mmc-pwrseq = <&emmc_pwrseq>; -+ vmmc-supply = <&vddao_3v3>; -+ vqmmc-supply = <&vddao_1v8>; -+ -+ status = "okay"; -+}; -+ -+&tdmif_b { -+ status = "okay"; -+}; -+ -+&tdmout_b { -+ status = "okay"; -+}; -+ -+/* on-module UART BT */ -+&uart_A { -+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; -+ pinctrl-names = "default"; -+ uart-has-rtscts; -+ -+ status = "okay"; -+ -+ bluetooth { -+ compatible = "realtek,rtl8822cs-bt"; +@@ -369,8 +369,8 @@ &uart_A { + + bluetooth { + compatible = "realtek,rtl8822cs-bt"; +- enable-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; +- host-wake-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>; + enable-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>; + //host-wake-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>; -+ device-wake-gpios = <&gpio GPIOX_18 GPIO_ACTIVE_HIGH>; -+ }; -+}; -+ -+&uart_AO { -+ pinctrl-0 = <&uart_ao_a_pins>; -+ pinctrl-names = "default"; -+ -+ status = "okay"; -+}; -+ -+&usb { -+ phys = <&usb2_phy0>, <&usb2_phy1>; -+ phy-names = "usb2-phy0", "usb2-phy1"; -+}; + device-wake-gpios = <&gpio GPIOX_18 GPIO_ACTIVE_HIGH>; + }; + }; -- Armbian diff --git a/patch/kernel/archive/meson64-6.4/add-board-bananapi-m2s-initial-support.patch b/patch/kernel/archive/meson64-6.4/add-board-bananapi-m2s-initial-support.patch index 8030e5be4..dd51bea30 100644 --- a/patch/kernel/archive/meson64-6.4/add-board-bananapi-m2s-initial-support.patch +++ b/patch/kernel/archive/meson64-6.4/add-board-bananapi-m2s-initial-support.patch @@ -5,34 +5,40 @@ Subject: Initial support for Bananapi M2S Initial support for Bananapi M2S --- - arch/arm64/boot/dts/amlogic/meson-g12b-a311d-bananapi-m2s.dts | 593 ++++++++++ - 1 file changed, 593 insertions(+) + arch/arm64/boot/dts/amlogic/meson-g12b-a311d-bananapi-m2s.dts | 584 +++++++++- + 1 file changed, 570 insertions(+), 14 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-a311d-bananapi-m2s.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-a311d-bananapi-m2s.dts -new file mode 100644 -index 000000000000..65f11dde0a7a ---- /dev/null +index ac6f7ae1d103..65f11dde0a7a 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-a311d-bananapi-m2s.dts +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-a311d-bananapi-m2s.dts -@@ -0,0 +1,593 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* +@@ -1,37 +1,593 @@ + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) + /* +- * Copyright (c) 2023 Christian Hewitt + * Author: Jean Rhum + * Adapted from bananapi-m2s 4.9 dts, mainline vim3 and radxa zero2 dts(i) -+ */ -+ -+/dts-v1/; -+ -+#include "meson-g12b-a311d.dtsi" + */ + + /dts-v1/; + + #include "meson-g12b-a311d.dtsi" +-#include "meson-g12b-bananapi.dtsi" +#include +#include +#include +#include -+ -+/ { + + / { +- compatible = "bananapi,bpi-m2s", "amlogic,a311d", "amlogic,g12b"; +- model = "BananaPi M2S"; +- + compatible = "bananapi,m2s", "amlogic,a311d", "amlogic,g12b"; + model = "Bananapi M2S"; + -+ aliases { + aliases { +- i2c0 = &i2c1; +- i2c1 = &i2c3; + serial0 = &uart_AO; + serial2 = &uart_A; + ethernet0 = ðmac; @@ -364,9 +370,11 @@ index 000000000000..65f11dde0a7a +&hdmi_tx_tmds_port { + hdmi_tx_tmds_out: endpoint { + remote-endpoint = <&hdmi_connector_in>; -+ }; -+}; -+ + }; + }; + +-/* Camera (CSI) bus */ +-&i2c1 { + +&cpu0 { + cpu-supply = <&vddcpu_b>; @@ -415,36 +423,41 @@ index 000000000000..65f11dde0a7a + pinctrl-names = "default"; + clocks = <&xtal>; + clock-names = "clkin0"; -+ status = "okay"; + status = "okay"; +- pinctrl-0 = <&i2c1_sda_h6_pins>, <&i2c1_sck_h7_pins>; +}; + +&pwm_ef { + pinctrl-0 = <&pwm_e_pins>; -+ pinctrl-names = "default"; + pinctrl-names = "default"; + clocks = <&xtal>; + clock-names = "clkin2"; + status = "okay"; -+}; -+ + }; + +-/* Display (DSI) bus */ +-&i2c3 { +&pwm_AO_cd { + pinctrl-0 = <&pwm_ao_d_e_pins>; + pinctrl-names = "default"; + clocks = <&xtal>; + clock-names = "clkin4"; -+ status = "okay"; + status = "okay"; +- pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>; +}; + + +&ir { + status = "disabled"; + pinctrl-0 = <&remote_input_ao_pins>; -+ pinctrl-names = "default"; -+}; -+ + pinctrl-names = "default"; + }; + +-&npu { + +/* SDIO */ +&sd_emmc_a { -+ status = "okay"; + status = "okay"; + pinctrl-0 = <&sdio_pins>; + pinctrl-1 = <&sdio_clk_gate_pins>; + pinctrl-names = "default", "clk-gate"; @@ -470,7 +483,7 @@ index 000000000000..65f11dde0a7a + reg = <1>; + compatible = "brcm,bcm4329-fmac"; + }; -+}; + }; + +&gpio { + gpio-line-names = diff --git a/patch/kernel/archive/meson64-6.4/add-board-radxa-zero2.patch b/patch/kernel/archive/meson64-6.4/add-board-radxa-zero2.patch index aaa0194f2..0f87096da 100644 --- a/patch/kernel/archive/meson64-6.4/add-board-radxa-zero2.patch +++ b/patch/kernel/archive/meson64-6.4/add-board-radxa-zero2.patch @@ -9,45 +9,26 @@ A311D chip. Signed-off-by: Christian Hewitt Signed-off-by: Yuntian Zhang --- - arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts | 576 ++++++++++ - 1 file changed, 576 insertions(+) + arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts | 119 ++++++++-- + 1 file changed, 103 insertions(+), 16 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts -new file mode 100644 -index 000000000000..e261ba2a4b47 ---- /dev/null +index 890f5bfebb03..e261ba2a4b47 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts -@@ -0,0 +1,576 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (c) 2019 BayLibre, SAS -+ * Author: Neil Armstrong -+ * Copyright (c) 2019 Christian Hewitt -+ * Copyright (c) 2022 Radxa Limited -+ * Author: Yuntian Zhang -+ */ -+ -+/dts-v1/; -+ -+#include "meson-g12b-a311d.dtsi" -+#include -+#include -+#include -+#include -+ -+/ { -+ compatible = "radxa,zero2", "amlogic,a311d", "amlogic,g12b"; +@@ -17,7 +17,7 @@ + + / { + compatible = "radxa,zero2", "amlogic,a311d", "amlogic,g12b"; +- model = "Radxa Zero2"; + model = "Radxa Zero 2"; -+ -+ aliases { -+ serial0 = &uart_AO; -+ serial2 = &uart_A; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+ + + aliases { + serial0 = &uart_AO; +@@ -28,6 +28,13 @@ chosen { + stdout-path = "serial0:115200n8"; + }; + + fan0: pwm-fan { + compatible = "pwm-fan"; + #cooling-cells = <2>; @@ -55,32 +36,13 @@ index 000000000000..e261ba2a4b47 + pwms = <&pwm_AO_ab 0 40000 0>; + }; + -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x0 0x0 0x80000000>; -+ }; -+ -+ gpio-keys-polled { -+ compatible = "gpio-keys-polled"; -+ poll-interval = <100>; -+ power-button { -+ label = "power"; -+ linux,code = ; -+ gpios = <&gpio_ao GPIOAO_3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; -+ }; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ led-green { -+ color = ; -+ function = LED_FUNCTION_STATUS; -+ gpios = <&gpio GPIOA_12 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "heartbeat"; -+ }; -+ }; -+ + memory@0 { + device_type = "memory"; + reg = <0x0 0x0 0x0 0x80000000>; +@@ -54,6 +61,17 @@ led-green { + }; + }; + + cvbs-connector { + status = "disabled"; + compatible = "composite-video-connector"; @@ -92,29 +54,14 @@ index 000000000000..e261ba2a4b47 + }; + }; + -+ hdmi-connector { -+ compatible = "hdmi-connector"; -+ type = "a"; -+ -+ port { -+ hdmi_connector_in: endpoint { -+ remote-endpoint = <&hdmi_tx_tmds_out>; -+ }; -+ }; -+ }; -+ -+ emmc_pwrseq: emmc-pwrseq { -+ compatible = "mmc-pwrseq-emmc"; -+ reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; -+ }; -+ -+ sdio_pwrseq: sdio-pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; -+ clocks = <&wifi32k>; -+ clock-names = "ext_clock"; -+ }; -+ + hdmi-connector { + compatible = "hdmi-connector"; + type = "a"; +@@ -77,7 +95,15 @@ sdio_pwrseq: sdio-pwrseq { + clock-names = "ext_clock"; + }; + +- ao_5v: regulator-ao-5v { + typec2_vbus: regulator-typec2_vbus { + compatible = "regulator-fixed"; + regulator-name = "TYPEC2_VBUS"; @@ -124,151 +71,66 @@ index 000000000000..e261ba2a4b47 + }; + + ao_5v: regulator-ao_5v { -+ compatible = "regulator-fixed"; -+ regulator-name = "AO_5V"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-always-on; -+ }; -+ + compatible = "regulator-fixed"; + regulator-name = "AO_5V"; + regulator-min-microvolt = <5000000>; +@@ -85,7 +111,7 @@ ao_5v: regulator-ao-5v { + regulator-always-on; + }; + +- vcc_1v8: regulator-vcc-1v8 { + vcc_1v8: regulator-vcc_1v8 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VCC_1V8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ vin-supply = <&vcc_3v3>; -+ regulator-always-on; -+ }; -+ + compatible = "regulator-fixed"; + regulator-name = "VCC_1V8"; + regulator-min-microvolt = <1800000>; +@@ -94,7 +120,7 @@ vcc_1v8: regulator-vcc-1v8 { + regulator-always-on; + }; + +- vcc_3v3: regulator-vcc-3v3 { + vcc_3v3: regulator-vcc_3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VCC_3V3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ vin-supply = <&vddao_3v3>; -+ regulator-always-on; -+ /* FIXME: actually controlled by VDDCPU_B_EN */ -+ }; -+ + compatible = "regulator-fixed"; + regulator-name = "VCC_3V3"; + regulator-min-microvolt = <3300000>; +@@ -104,7 +130,7 @@ vcc_3v3: regulator-vcc-3v3 { + /* FIXME: actually controlled by VDDCPU_B_EN */ + }; + +- vddao_1v8: regulator-vddao-1v8 { + vddao_1v8: regulator-vddao_1v8 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDDIO_AO1V8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ vin-supply = <&vddao_3v3>; -+ regulator-always-on; -+ }; -+ + compatible = "regulator-fixed"; + regulator-name = "VDDIO_AO1V8"; + regulator-min-microvolt = <1800000>; +@@ -113,7 +139,7 @@ vddao_1v8: regulator-vddao-1v8 { + regulator-always-on; + }; + +- vddao_3v3: regulator-vddao-3v3 { + vddao_3v3: regulator-vddao_3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDDAO_3V3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ vin-supply = <&ao_5v>; -+ regulator-always-on; -+ }; -+ -+ vddcpu_a: regulator-vddcpu-a { -+ /* -+ * MP8756GD Regulator. -+ */ -+ compatible = "pwm-regulator"; -+ -+ regulator-name = "VDDCPU_A"; -+ regulator-min-microvolt = <730000>; -+ regulator-max-microvolt = <1022000>; -+ -+ pwm-supply = <&ao_5v>; -+ -+ pwms = <&pwm_ab 0 1250 0>; -+ pwm-dutycycle-range = <100 0>; -+ -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ vddcpu_b: regulator-vddcpu-b { -+ /* -+ * Silergy SY8120B1ABC Regulator. -+ */ -+ compatible = "pwm-regulator"; -+ -+ regulator-name = "VDDCPU_B"; -+ regulator-min-microvolt = <730000>; -+ regulator-max-microvolt = <1022000>; -+ -+ pwm-supply = <&ao_5v>; -+ -+ pwms = <&pwm_AO_cd 1 1250 0>; -+ pwm-dutycycle-range = <100 0>; -+ -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ sound { -+ compatible = "amlogic,axg-sound-card"; -+ model = "RADXA-ZERO2"; -+ audio-aux-devs = <&tdmout_b>; -+ 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"; -+ -+ assigned-clocks = <&clkc CLKID_MPLL2>, -+ <&clkc CLKID_MPLL0>, -+ <&clkc CLKID_MPLL1>; -+ assigned-clock-parents = <0>, <0>, <0>; -+ assigned-clock-rates = <294912000>, -+ <270950400>, -+ <393216000>; + compatible = "regulator-fixed"; + regulator-name = "VDDAO_3V3"; + regulator-min-microvolt = <3300000>; +@@ -176,6 +202,7 @@ sound { + assigned-clock-rates = <294912000>, + <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>; -+ }; -+ }; -+ -+ /* hdmi glue */ -+ dai-link-4 { -+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; -+ -+ codec { -+ sound-dai = <&hdmi_tx>; -+ }; -+ }; -+ }; -+ + + dai-link-0 { + sound-dai = <&frddr_a>; +@@ -214,7 +241,7 @@ codec { + }; + }; + +- wifi32k: clock-0 { + wifi32k: wifi32k { -+ compatible = "pwm-clock"; -+ #clock-cells = <0>; -+ clock-frequency = <32768>; -+ pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ -+ }; -+}; -+ + compatible = "pwm-clock"; + #clock-cells = <0>; + clock-frequency = <32768>; +@@ -222,6 +249,18 @@ wifi32k: clock-0 { + }; + }; + +&periphs_pinctrl { + /* Ensure the TYPE C controller irq pin is not driven by the SoC */ + fusb302_irq_pins: fusb302_irq { @@ -281,132 +143,58 @@ index 000000000000..e261ba2a4b47 + }; +}; + -+&arb { -+ status = "okay"; -+}; -+ -+&cec_AO { -+ pinctrl-0 = <&cec_ao_a_h_pins>; -+ pinctrl-names = "default"; -+ status = "disabled"; -+ hdmi-phandle = <&hdmi_tx>; -+}; -+ -+&cecb_AO { -+ pinctrl-0 = <&cec_ao_b_h_pins>; -+ pinctrl-names = "default"; -+ status = "okay"; -+ hdmi-phandle = <&hdmi_tx>; -+}; -+ -+&clkc_audio { -+ status = "okay"; -+}; -+ -+&cpu0 { -+ cpu-supply = <&vddcpu_b>; -+ operating-points-v2 = <&cpu_opp_table_0>; -+ clocks = <&clkc CLKID_CPU_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu1 { -+ cpu-supply = <&vddcpu_b>; -+ operating-points-v2 = <&cpu_opp_table_0>; -+ clocks = <&clkc CLKID_CPU_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu100 { -+ cpu-supply = <&vddcpu_a>; -+ operating-points-v2 = <&cpub_opp_table_1>; -+ clocks = <&clkc CLKID_CPUB_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu101 { -+ cpu-supply = <&vddcpu_a>; -+ operating-points-v2 = <&cpub_opp_table_1>; -+ clocks = <&clkc CLKID_CPUB_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu102 { -+ cpu-supply = <&vddcpu_a>; -+ operating-points-v2 = <&cpub_opp_table_1>; -+ clocks = <&clkc CLKID_CPUB_CLK>; -+ clock-latency = <50000>; -+}; -+ -+&cpu103 { -+ cpu-supply = <&vddcpu_a>; -+ operating-points-v2 = <&cpub_opp_table_1>; -+ clocks = <&clkc CLKID_CPUB_CLK>; -+ clock-latency = <50000>; -+}; -+ + &arb { + status = "okay"; + }; +@@ -286,6 +325,12 @@ &cpu103 { + clock-latency = <50000>; + }; + +&cvbs_vdac_port { + cvbs_vdac_out: endpoint { + remote-endpoint = <&cvbs_connector_in>; + }; +}; + -+&frddr_a { -+ status = "okay"; -+}; -+ -+&frddr_b { -+ status = "okay"; -+}; -+ -+&frddr_c { -+ status = "okay"; -+}; -+ -+&gpio { -+ gpio-line-names = -+ /* GPIOZ */ -+ "PIN_27", "PIN_28", "PIN_7", "PIN_11", "PIN_13", "PIN_15", "PIN_18", "PIN_40", + &frddr_a { + status = "okay"; + }; +@@ -302,7 +347,7 @@ &gpio { + gpio-line-names = + /* GPIOZ */ + "PIN_27", "PIN_28", "PIN_7", "PIN_11", "PIN_13", "PIN_15", "PIN_18", "PIN_40", +- "", "", "", "", "", "", "", "", + "PIN_16", "PIN_22", "", "", "", "", "", "", -+ /* GPIOH */ -+ "", "", "", "", "PIN_19", "PIN_21", "PIN_24", "PIN_23", -+ "", -+ /* BOOT */ -+ "", "", "", "", "", "", "", "", -+ "", "", "", "", "EMMC_PWRSEQ", "", "", "", -+ /* GPIOC */ + /* GPIOH */ + "", "", "", "", "PIN_19", "PIN_21", "PIN_24", "PIN_23", + "", +@@ -310,10 +355,10 @@ &gpio { + "", "", "", "", "", "", "", "", + "", "", "", "", "EMMC_PWRSEQ", "", "", "", + /* GPIOC */ +- "", "", "", "", "", "", "SD_CD", "PIN_36", + "", "", "", "", "", "", "SD_CD", "TYPEC_MUX", -+ /* GPIOA */ + /* GPIOA */ +- "PIN_32", "PIN_12", "PIN_35", "", "", "PIN_38", "", "", +- "", "", "", "", "LED_GREEN", "PIN_31", "PIN_3", "PIN_5", + "PIN_32", "PIN_12", "PIN_35", "PIN_36", "PIN_31", "PIN_38", "", "", + "", "", "", "", "LED_GREEN", "FUSB_IRQ", "PIN_3", "PIN_5", -+ /* GPIOX */ -+ "", "", "", "", "", "", "SDIO_PWRSEQ", "", -+ "", "", "", "", "", "", "", "", -+ "", "BT_SHUTDOWN", "", ""; -+}; -+ -+&gpio_ao { -+ gpio-line-names = -+ /* GPIOAO */ -+ "PIN_8", "PIN_10", "", "BTN_POWER", "", "", "", "PIN_29", + /* GPIOX */ + "", "", "", "", "", "", "SDIO_PWRSEQ", "", + "", "", "", "", "", "", "", "", +@@ -324,7 +369,7 @@ &gpio_ao { + gpio-line-names = + /* GPIOAO */ + "PIN_8", "PIN_10", "", "BTN_POWER", "", "", "", "PIN_29", +- "PIN_33", "PIN_37", "FAN", "", + "PIN_33", "PIN_37", "", "FAN", -+ /* GPIOE */ -+ "", "", ""; -+}; -+ -+&hdmi_tx { -+ status = "okay"; -+ pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; -+ pinctrl-names = "default"; -+ hdmi-supply = <&ao_5v>; -+}; -+ -+&hdmi_tx_tmds_port { -+ hdmi_tx_tmds_out: endpoint { -+ remote-endpoint = <&hdmi_connector_in>; -+ }; -+}; -+ + /* GPIOE */ + "", "", ""; + }; +@@ -342,12 +387,50 @@ hdmi_tx_tmds_out: endpoint { + }; + }; + +&cpu_thermal { + cooling-maps { + map0 { @@ -425,12 +213,12 @@ index 000000000000..e261ba2a4b47 + }; +}; + -+&ir { -+ status = "disabled"; -+ pinctrl-0 = <&remote_input_ao_pins>; -+ pinctrl-names = "default"; -+}; -+ + &ir { + status = "disabled"; + pinctrl-0 = <&remote_input_ao_pins>; + pinctrl-names = "default"; + }; + +&i2c3 { + pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>; + pinctrl-names = "default"; @@ -451,145 +239,49 @@ index 000000000000..e261ba2a4b47 + }; +}; + -+&pwm_ab { -+ pinctrl-0 = <&pwm_a_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; -+ clock-names = "clkin0"; -+ status = "okay"; -+}; -+ -+&pwm_ef { -+ pinctrl-0 = <&pwm_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; + &pwm_ab { + pinctrl-0 = <&pwm_a_e_pins>; + pinctrl-names = "default"; +@@ -360,7 +443,7 @@ &pwm_ef { + pinctrl-0 = <&pwm_e_pins>; + pinctrl-names = "default"; + clocks = <&xtal>; +- clock-names = "clkin0"; + clock-names = "clkin2"; -+ status = "okay"; -+}; -+ -+&pwm_AO_ab { -+ pinctrl-0 = <&pwm_ao_a_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; + status = "okay"; + }; + +@@ -368,7 +451,7 @@ &pwm_AO_ab { + pinctrl-0 = <&pwm_ao_a_pins>; + pinctrl-names = "default"; + clocks = <&xtal>; +- clock-names = "clkin0"; + clock-names = "clkin3"; -+ status = "okay"; -+}; -+ -+&pwm_AO_cd { -+ pinctrl-0 = <&pwm_ao_d_e_pins>; -+ pinctrl-names = "default"; -+ clocks = <&xtal>; + status = "okay"; + }; + +@@ -376,7 +459,7 @@ &pwm_AO_cd { + pinctrl-0 = <&pwm_ao_d_e_pins>; + pinctrl-names = "default"; + clocks = <&xtal>; +- clock-names = "clkin1"; + clock-names = "clkin4"; -+ status = "okay"; -+}; -+ -+&saradc { -+ status = "okay"; -+ vref-supply = <&vddao_1v8>; -+}; -+ -+/* SDIO */ -+&sd_emmc_a { -+ status = "okay"; -+ pinctrl-0 = <&sdio_pins>; -+ pinctrl-1 = <&sdio_clk_gate_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ bus-width = <4>; -+ cap-sd-highspeed; + status = "okay"; + }; + +@@ -396,7 +479,7 @@ &sd_emmc_a { + + bus-width = <4>; + cap-sd-highspeed; +- max-frequency = <100000000>; + max-frequency = <80000000>; -+ -+ non-removable; -+ disable-wp; -+ -+ /* WiFi firmware requires power to be kept while in suspend */ -+ keep-power-in-suspend; -+ -+ mmc-pwrseq = <&sdio_pwrseq>; -+ -+ vmmc-supply = <&vddao_3v3>; -+ vqmmc-supply = <&vddao_1v8>; -+ -+ brcmf: wifi@1 { -+ reg = <1>; -+ compatible = "brcm,bcm4329-fmac"; -+ }; -+}; -+ -+/* SD card */ -+&sd_emmc_b { -+ status = "okay"; -+ pinctrl-0 = <&sdcard_c_pins>; -+ pinctrl-1 = <&sdcard_clk_gate_c_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ -+ bus-width = <4>; -+ cap-sd-highspeed; -+ max-frequency = <50000000>; -+ disable-wp; -+ -+ cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; -+ vmmc-supply = <&vddao_3v3>; -+ vqmmc-supply = <&vddao_3v3>; -+}; -+ -+/* eMMC */ -+&sd_emmc_c { -+ status = "okay"; -+ pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; -+ pinctrl-1 = <&emmc_clk_gate_pins>; -+ pinctrl-names = "default", "clk-gate"; -+ -+ bus-width = <8>; -+ cap-mmc-highspeed; -+ mmc-ddr-1_8v; -+ mmc-hs200-1_8v; -+ max-frequency = <200000000>; -+ disable-wp; -+ -+ mmc-pwrseq = <&emmc_pwrseq>; -+ vmmc-supply = <&vcc_3v3>; -+ vqmmc-supply = <&vcc_1v8>; -+}; -+ -+&tdmif_b { -+ status = "okay"; -+}; -+ -+&tdmout_b { -+ status = "okay"; -+}; -+ -+&tohdmitx { -+ status = "okay"; -+}; -+ -+&uart_A { -+ status = "okay"; -+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; -+ pinctrl-names = "default"; -+ uart-has-rtscts; -+ -+ bluetooth { -+ compatible = "brcm,bcm43438-bt"; -+ shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; -+ max-speed = <2000000>; -+ clocks = <&wifi32k>; -+ clock-names = "lpo"; -+ }; -+}; -+ -+&uart_AO { -+ status = "okay"; -+ pinctrl-0 = <&uart_ao_a_pins>; -+ pinctrl-names = "default"; -+}; -+ -+&usb { -+ status = "okay"; -+}; + + non-removable; + disable-wp; +@@ -487,3 +570,7 @@ &uart_AO { + &usb { + status = "okay"; + }; + +&usb3_pcie_phy { + phy-supply = <&typec2_vbus>; diff --git a/patch/kernel/archive/meson64-6.4/add-board-t95z.patch b/patch/kernel/archive/meson64-6.4/add-board-t95z.patch index 6f627b7c5..426c9dc6c 100644 --- a/patch/kernel/archive/meson64-6.4/add-board-t95z.patch +++ b/patch/kernel/archive/meson64-6.4/add-board-t95z.patch @@ -60,10 +60,10 @@ Signed-off-by: Christian Hewitt 6 files changed, 246 insertions(+) diff --git a/Documentation/devicetree/bindings/media/rc.yaml b/Documentation/devicetree/bindings/media/rc.yaml -index e732b7f3a635..1f9359c214ee 100644 +index 7bbe580c80f7..dc53a1cbf6fd 100644 --- a/Documentation/devicetree/bindings/media/rc.yaml +++ b/Documentation/devicetree/bindings/media/rc.yaml -@@ -125,6 +125,7 @@ properties: +@@ -127,6 +127,7 @@ properties: - rc-reddo - rc-snapstream-firefly - rc-streamzap @@ -72,10 +72,10 @@ index e732b7f3a635..1f9359c214ee 100644 - rc-tanix-tx3mini - rc-tanix-tx5max diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml -index 70ffb3780621..3482651d510c 100644 +index 82d39ab0231b..83c94c67861d 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml -@@ -1268,6 +1268,8 @@ patternProperties: +@@ -1306,6 +1306,8 @@ patternProperties: description: Sundance DSP Inc. "^sunplus,.*": description: Sunplus Technology Co., Ltd. @@ -257,10 +257,10 @@ index 000000000000..5f4bd19d5d77 + }; +}; diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile -index f513ff5caf4e..d286beafb389 100644 +index f19558fdab0c..8f8466ea9dad 100644 --- a/drivers/media/rc/keymaps/Makefile +++ b/drivers/media/rc/keymaps/Makefile -@@ -105,6 +105,7 @@ obj-$(CONFIG_RC_MAP) += \ +@@ -107,6 +107,7 @@ obj-$(CONFIG_RC_MAP) += \ rc-reddo.o \ rc-snapstream-firefly.o \ rc-streamzap.o \ @@ -350,10 +350,10 @@ index 000000000000..aaaf6b1c0045 +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Christian Hewitt "); diff --git a/include/media/rc-map.h b/include/media/rc-map.h -index 793b54342dff..10f07975e7d8 100644 +index 4676545ffd8f..770527edee1d 100644 --- a/include/media/rc-map.h +++ b/include/media/rc-map.h -@@ -312,6 +312,7 @@ struct rc_map *rc_map_get(const char *name); +@@ -314,6 +314,7 @@ struct rc_map *rc_map_get(const char *name); #define RC_MAP_REDDO "rc-reddo" #define RC_MAP_SNAPSTREAM_FIREFLY "rc-snapstream-firefly" #define RC_MAP_STREAMZAP "rc-streamzap" diff --git a/patch/kernel/archive/meson64-6.4/board-khadas-vims-add-rtc-vrtc-aliases.patch b/patch/kernel/archive/meson64-6.4/board-khadas-vims-add-rtc-vrtc-aliases.patch index 9b57ae492..f641909dc 100644 --- a/patch/kernel/archive/meson64-6.4/board-khadas-vims-add-rtc-vrtc-aliases.patch +++ b/patch/kernel/archive/meson64-6.4/board-khadas-vims-add-rtc-vrtc-aliases.patch @@ -12,7 +12,7 @@ Signed-off-by: Christian Hewitt 1 file changed, 2 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts -index 202deb4e2d63..bee51e29015b 100644 +index 02f81839d4e3..2f88f78de5b7 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts @@ -29,6 +29,8 @@ button-function { diff --git a/patch/kernel/archive/meson64-6.4/board-odroidc2-add-uartA-uartC.patch b/patch/kernel/archive/meson64-6.4/board-odroidc2-add-uartA-uartC.patch index 2b4409fcb..2c3825143 100644 --- a/patch/kernel/archive/meson64-6.4/board-odroidc2-add-uartA-uartC.patch +++ b/patch/kernel/archive/meson64-6.4/board-odroidc2-add-uartA-uartC.patch @@ -14,7 +14,7 @@ add uartA and uartC for Odroid-C2 1 file changed, 14 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts -index 201596247fd9..b2cb12fb46fd 100644 +index 01356437a077..5923aa327e48 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts @@ -17,6 +17,8 @@ / { @@ -26,7 +26,7 @@ index 201596247fd9..b2cb12fb46fd 100644 ethernet0 = ðmac; }; -@@ -399,6 +401,18 @@ &uart_AO { +@@ -384,6 +386,18 @@ &uart_AO { pinctrl-names = "default"; }; diff --git a/patch/kernel/archive/meson64-6.4/board-odroidc2-enable-SPI.patch b/patch/kernel/archive/meson64-6.4/board-odroidc2-enable-SPI.patch index 8e5fd9bfe..68efe8c7e 100644 --- a/patch/kernel/archive/meson64-6.4/board-odroidc2-enable-SPI.patch +++ b/patch/kernel/archive/meson64-6.4/board-odroidc2-enable-SPI.patch @@ -11,7 +11,7 @@ Odroid C2 enable SPI 1 file changed, 26 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts -index b2cb12fb46fd..c252de8e4b17 100644 +index 5923aa327e48..83e155cab673 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts @@ -176,6 +176,32 @@ hdmi_connector_in: endpoint { diff --git a/patch/kernel/archive/meson64-6.4/board-odroidc2-enable-scpi-dvfs.patch b/patch/kernel/archive/meson64-6.4/board-odroidc2-enable-scpi-dvfs.patch index dbd8a663d..d3ffc7ede 100644 --- a/patch/kernel/archive/meson64-6.4/board-odroidc2-enable-scpi-dvfs.patch +++ b/patch/kernel/archive/meson64-6.4/board-odroidc2-enable-scpi-dvfs.patch @@ -9,10 +9,10 @@ Enable odroidc2-dev DVFS (#763) 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts -index c252de8e4b17..7af088c7366d 100644 +index 83e155cab673..ef74a35c8f4e 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts -@@ -376,7 +376,8 @@ &saradc { +@@ -361,7 +361,8 @@ &saradc { }; &scpi_clocks { diff --git a/patch/kernel/archive/meson64-6.4/board-odroidc4-reset.patch b/patch/kernel/archive/meson64-6.4/board-odroidc4-reset.patch index d64560b41..2706f36ab 100644 --- a/patch/kernel/archive/meson64-6.4/board-odroidc4-reset.patch +++ b/patch/kernel/archive/meson64-6.4/board-odroidc4-reset.patch @@ -10,7 +10,7 @@ bring back fixed version of `odroid-reboot` driver (Fix reboot on odroid C4 when 1 file changed, 10 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts -index 8c30ce63686e..ef58da92f9d7 100644 +index d04768a66bfe..e0b7aca25d21 100644 --- a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts +++ b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts @@ -11,6 +11,16 @@ / { diff --git a/patch/kernel/archive/meson64-6.4/driver-power-meson64-reset.patch b/patch/kernel/archive/meson64-6.4/driver-power-meson64-reset.patch index 49ea677b8..70f42363e 100644 --- a/patch/kernel/archive/meson64-6.4/driver-power-meson64-reset.patch +++ b/patch/kernel/archive/meson64-6.4/driver-power-meson64-reset.patch @@ -10,12 +10,12 @@ Subject: pyavitz meson64-generalized `odroid-reboot` driver 3 files changed, 194 insertions(+) diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig -index a8c46ba5878f..a66d3542f5cd 100644 +index 8c87eeda0fec..6e4831f79964 100644 --- a/drivers/power/reset/Kconfig +++ b/drivers/power/reset/Kconfig -@@ -141,6 +141,13 @@ config POWER_RESET_OCELOT_RESET +@@ -148,6 +148,13 @@ config POWER_RESET_ODROID_GO_ULTRA_POWEROFF help - This driver supports restart for Microsemi Ocelot SoC and similar. + This driver supports Power off for Odroid Go Ultra device. +config POWER_RESET_MESON64 + bool "Meson64 reboot/power-off driver" @@ -28,7 +28,7 @@ index a8c46ba5878f..a66d3542f5cd 100644 bool "OXNAS SoC restart driver" depends on ARCH_OXNAS diff --git a/drivers/power/reset/Makefile b/drivers/power/reset/Makefile -index 0a39424fc558..e0da6467d78e 100644 +index d763e6735ee3..5a94059ee780 100644 --- a/drivers/power/reset/Makefile +++ b/drivers/power/reset/Makefile @@ -14,6 +14,7 @@ obj-$(CONFIG_POWER_RESET_HISI) += hisi-reboot.o diff --git a/patch/kernel/archive/meson64-6.4/general-add-overlay-compilation-support.patch b/patch/kernel/archive/meson64-6.4/general-add-overlay-compilation-support.patch index e14b27e14..470ce0f68 100644 --- a/patch/kernel/archive/meson64-6.4/general-add-overlay-compilation-support.patch +++ b/patch/kernel/archive/meson64-6.4/general-add-overlay-compilation-support.patch @@ -55,7 +55,7 @@ index 2ab936e4179d..cd810fec15a7 100644 $(subdirs): $(Q)$(MAKE) $(dtbinst)=$@ dst=$(patsubst $(obj)/%,$(dst)/%,$@) diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib -index 4a4a5f67c1a6..f6844387b77b 100644 +index 100a386fcd71..1680499136ee 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -343,6 +343,9 @@ DTC ?= $(objtree)/scripts/dtc/dtc @@ -68,7 +68,7 @@ index 4a4a5f67c1a6..f6844387b77b 100644 # Disable noisy checks by default ifeq ($(findstring 1,$(KBUILD_EXTRA_WARN)),) DTC_FLAGS += -Wno-unit_address_vs_reg \ -@@ -439,6 +442,23 @@ $(obj)/%.dtbo: $(src)/%.dts $(DTC) FORCE +@@ -424,6 +427,23 @@ $(obj)/%.dtbo: $(src)/%.dts $(DTC) FORCE $(obj)/%.dtbo: $(src)/%.dtso $(DTC) FORCE $(call if_changed_dep,dtc) diff --git a/patch/kernel/archive/meson64-6.4/general-drm-dw-hdmi-call-hdmi_set_cts_n-after-clock.patch b/patch/kernel/archive/meson64-6.4/general-drm-dw-hdmi-call-hdmi_set_cts_n-after-clock.patch index 85fd40232..01424cd6d 100644 --- a/patch/kernel/archive/meson64-6.4/general-drm-dw-hdmi-call-hdmi_set_cts_n-after-clock.patch +++ b/patch/kernel/archive/meson64-6.4/general-drm-dw-hdmi-call-hdmi_set_cts_n-after-clock.patch @@ -10,7 +10,7 @@ Unknown patch. Archeology: 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c -index aa51c61a78c7..18ad3ef436f6 100644 +index 603bb3c51027..30da11dded7c 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -782,6 +782,11 @@ static void hdmi_enable_audio_clk(struct dw_hdmi *hdmi, bool enable) diff --git a/patch/kernel/archive/meson64-6.4/general-fix-Kodi-sysinfo-CPU-information.patch b/patch/kernel/archive/meson64-6.4/general-fix-Kodi-sysinfo-CPU-information.patch index 1d24dc88c..b89e4b419 100644 --- a/patch/kernel/archive/meson64-6.4/general-fix-Kodi-sysinfo-CPU-information.patch +++ b/patch/kernel/archive/meson64-6.4/general-fix-Kodi-sysinfo-CPU-information.patch @@ -13,10 +13,10 @@ Signed-off-by: Christian Hewitt 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/arm64/kernel/cpuinfo.c b/arch/arm64/kernel/cpuinfo.c -index 379695262b77..e13b015120b2 100644 +index eb4378c23b3c..e57d6015e93e 100644 --- a/arch/arm64/kernel/cpuinfo.c +++ b/arch/arm64/kernel/cpuinfo.c -@@ -173,8 +173,7 @@ static int c_show(struct seq_file *m, void *v) +@@ -187,8 +187,7 @@ static int c_show(struct seq_file *m, void *v) * "processor". Give glibc what it expects. */ seq_printf(m, "processor\t: %d\n", i); diff --git a/patch/kernel/archive/meson64-6.4/general-hdmi-codec-reorder-channel-allocation-list.patch b/patch/kernel/archive/meson64-6.4/general-hdmi-codec-reorder-channel-allocation-list.patch index e57981ba2..3b834877e 100644 --- a/patch/kernel/archive/meson64-6.4/general-hdmi-codec-reorder-channel-allocation-list.patch +++ b/patch/kernel/archive/meson64-6.4/general-hdmi-codec-reorder-channel-allocation-list.patch @@ -24,7 +24,7 @@ Signed-off-by: Jonas Karlman 1 file changed, 77 insertions(+), 63 deletions(-) diff --git a/sound/soc/codecs/hdmi-codec.c b/sound/soc/codecs/hdmi-codec.c -index a22f2ec95901..25f443a05b75 100644 +index 6d980fbc4207..d2152307ab7c 100644 --- a/sound/soc/codecs/hdmi-codec.c +++ b/sound/soc/codecs/hdmi-codec.c @@ -184,84 +184,97 @@ static const struct snd_pcm_chmap_elem hdmi_codec_8ch_chmaps[] = { diff --git a/patch/kernel/archive/meson64-6.4/general-input-touchscreen-Add-D-WAV-Multitouch.patch b/patch/kernel/archive/meson64-6.4/general-input-touchscreen-Add-D-WAV-Multitouch.patch index ba12ae1a4..da6fc8350 100644 --- a/patch/kernel/archive/meson64-6.4/general-input-touchscreen-Add-D-WAV-Multitouch.patch +++ b/patch/kernel/archive/meson64-6.4/general-input-touchscreen-Add-D-WAV-Multitouch.patch @@ -13,10 +13,10 @@ Change-Id: Ia1c8c29d3f69c6ba5d630279c4cc98119b68ab71 5 files changed, 574 insertions(+) diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h -index 2235d78784b1..eea0aba3ac08 100644 +index 5d29abac2300..7fafccd62d51 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h -@@ -1423,4 +1423,10 @@ +@@ -1441,4 +1441,10 @@ #define USB_VENDOR_ID_SIGNOTEC 0x2133 #define USB_DEVICE_ID_SIGNOTEC_VIEWSONIC_PD1011 0x0018 @@ -28,10 +28,10 @@ index 2235d78784b1..eea0aba3ac08 100644 + #endif diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c -index 66e64350f138..1d8bd0b7c6d9 100644 +index 804fc03600cc..a06a01b6de16 100644 --- a/drivers/hid/hid-quirks.c +++ b/drivers/hid/hid-quirks.c -@@ -879,6 +879,9 @@ static const struct hid_device_id hid_ignore_list[] = { +@@ -887,6 +887,9 @@ static const struct hid_device_id hid_ignore_list[] = { { HID_USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_DPAD) }, #endif { HID_USB_DEVICE(USB_VENDOR_ID_YEALINK, USB_DEVICE_ID_YEALINK_P1K_P4K_B2K) }, @@ -42,10 +42,10 @@ index 66e64350f138..1d8bd0b7c6d9 100644 }; diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig -index 68d99a112e14..50fa5d06b4e0 100644 +index 143ff43c67ae..d938c10d9bd1 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig -@@ -1419,4 +1419,14 @@ config TOUCHSCREEN_HIMAX_HX83112B +@@ -1388,4 +1388,14 @@ config TOUCHSCREEN_HIMAX_HX83112B To compile this driver as a module, choose M here: the module will be called himax_hx83112b. @@ -61,10 +61,10 @@ index 68d99a112e14..50fa5d06b4e0 100644 + endif diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile -index 4968c370479a..cb7c4fc6af74 100644 +index 159cd5136fdb..5215924379d5 100644 --- a/drivers/input/touchscreen/Makefile +++ b/drivers/input/touchscreen/Makefile -@@ -118,4 +118,5 @@ obj-$(CONFIG_TOUCHSCREEN_ROHM_BU21023) += rohm_bu21023.o +@@ -116,4 +116,5 @@ obj-$(CONFIG_TOUCHSCREEN_ROHM_BU21023) += rohm_bu21023.o obj-$(CONFIG_TOUCHSCREEN_RASPBERRYPI_FW) += raspberrypi-ts.o obj-$(CONFIG_TOUCHSCREEN_IQS5XX) += iqs5xx.o obj-$(CONFIG_TOUCHSCREEN_ZINITIX) += zinitix.o diff --git a/patch/kernel/archive/meson64-6.4/general-media-cec-silence-CEC-timeout-message-HACK.patch b/patch/kernel/archive/meson64-6.4/general-media-cec-silence-CEC-timeout-message-HACK.patch index 83c3cef23..e3653a326 100644 --- a/patch/kernel/archive/meson64-6.4/general-media-cec-silence-CEC-timeout-message-HACK.patch +++ b/patch/kernel/archive/meson64-6.4/general-media-cec-silence-CEC-timeout-message-HACK.patch @@ -19,7 +19,7 @@ Signed-off-by: Christian Hewitt 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/media/cec/core/cec-adap.c b/drivers/media/cec/core/cec-adap.c -index 4f5ab3cae8a7..0e2cfa59bad6 100644 +index 241b1621b197..a5823a416a0d 100644 --- a/drivers/media/cec/core/cec-adap.c +++ b/drivers/media/cec/core/cec-adap.c @@ -501,9 +501,9 @@ int cec_thread_func(void *_adap) diff --git a/patch/kernel/archive/meson64-6.4/general-memory-marked-nomap.patch b/patch/kernel/archive/meson64-6.4/general-memory-marked-nomap.patch index 30cf4b17a..09b2642d0 100644 --- a/patch/kernel/archive/meson64-6.4/general-memory-marked-nomap.patch +++ b/patch/kernel/archive/meson64-6.4/general-memory-marked-nomap.patch @@ -14,7 +14,7 @@ Signed-off-by: Christian Hewitt 1 file changed, 9 deletions(-) diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c -index d1a68b6d03b3..81508e8b34d2 100644 +index bf502ba8da95..0789f61be489 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -480,15 +480,6 @@ static int __init early_init_dt_reserve_memory(phys_addr_t base, diff --git a/patch/kernel/archive/meson64-6.4/general-meson-mmc-1-arm64-amlogic-mmc-meson-gx-Add-core-tx-rx-eMMC-SD-SD.patch b/patch/kernel/archive/meson64-6.4/general-meson-mmc-1-arm64-amlogic-mmc-meson-gx-Add-core-tx-rx-eMMC-SD-SD.patch index 13e285d6a..8963b5f8d 100644 --- a/patch/kernel/archive/meson64-6.4/general-meson-mmc-1-arm64-amlogic-mmc-meson-gx-Add-core-tx-rx-eMMC-SD-SD.patch +++ b/patch/kernel/archive/meson64-6.4/general-meson-mmc-1-arm64-amlogic-mmc-meson-gx-Add-core-tx-rx-eMMC-SD-SD.patch @@ -16,7 +16,7 @@ Signed-off-by: Vyacheslav Bocharov 2 files changed, 48 insertions(+), 6 deletions(-) diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c -index 64a1520321b0..fa9ec777e4a2 100644 +index b8514d9d5e73..88748cc9771b 100644 --- a/drivers/mmc/host/meson-gx-mmc.c +++ b/drivers/mmc/host/meson-gx-mmc.c @@ -27,6 +27,7 @@ @@ -36,7 +36,7 @@ index 64a1520321b0..fa9ec777e4a2 100644 #define CLK_V2_TX_DELAY_MASK GENMASK(19, 16) #define CLK_V2_RX_DELAY_MASK GENMASK(23, 20) #define CLK_V2_ALWAYS_ON BIT(24) -@@ -428,13 +427,21 @@ static int meson_mmc_clk_init(struct meson_host *host) +@@ -426,13 +425,21 @@ static int meson_mmc_clk_init(struct meson_host *host) const char *mux_parent_names[MUX_CLK_NUM_PARENTS]; const char *clk_parent[1]; u32 clk_reg; diff --git a/patch/kernel/archive/meson64-6.4/general-meson-mmc-2-arm64-amlogic-dts-meson-update-meson-axg-device-tree.patch b/patch/kernel/archive/meson64-6.4/general-meson-mmc-2-arm64-amlogic-dts-meson-update-meson-axg-device-tree.patch index 545b59ee7..6c8fae2b9 100644 --- a/patch/kernel/archive/meson64-6.4/general-meson-mmc-2-arm64-amlogic-dts-meson-update-meson-axg-device-tree.patch +++ b/patch/kernel/archive/meson64-6.4/general-meson-mmc-2-arm64-amlogic-dts-meson-update-meson-axg-device-tree.patch @@ -12,7 +12,7 @@ Signed-off-by: Vyacheslav Bocharov 1 file changed, 3 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi -index ff2b33313e63..58848e78efe4 100644 +index b984950591e2..7a7180c39449 100644 --- a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi @@ -13,6 +13,7 @@ @@ -23,7 +23,7 @@ index ff2b33313e63..58848e78efe4 100644 / { compatible = "amlogic,meson-axg"; -@@ -1892,6 +1893,7 @@ sd_emmc_b: sd@5000 { +@@ -1892,6 +1893,7 @@ sd_emmc_b: mmc@5000 { <&clkc CLKID_SD_EMMC_B_CLK0>, <&clkc CLKID_FCLK_DIV2>; clock-names = "core", "clkin0", "clkin1"; diff --git a/patch/kernel/archive/meson64-6.4/general-meson-vdec-add-HEVC-decode-codec.patch b/patch/kernel/archive/meson64-6.4/general-meson-vdec-add-HEVC-decode-codec.patch index ed0eabcb3..ef5e1209f 100644 --- a/patch/kernel/archive/meson64-6.4/general-meson-vdec-add-HEVC-decode-codec.patch +++ b/patch/kernel/archive/meson64-6.4/general-meson-vdec-add-HEVC-decode-codec.patch @@ -1491,7 +1491,7 @@ index 000000000000..f2f9b2464df1 + +#endif diff --git a/drivers/staging/media/meson/vdec/esparser.c b/drivers/staging/media/meson/vdec/esparser.c -index 86ccc8937afc..6cea1839dcca 100644 +index 7b15fc54efe4..0691a1269cef 100644 --- a/drivers/staging/media/meson/vdec/esparser.c +++ b/drivers/staging/media/meson/vdec/esparser.c @@ -309,7 +309,7 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf) diff --git a/patch/kernel/archive/meson64-6.4/general-meson-vdec-check-if-parser-has-really-parser.patch b/patch/kernel/archive/meson64-6.4/general-meson-vdec-check-if-parser-has-really-parser.patch index f826fff1a..ea00e6bcb 100644 --- a/patch/kernel/archive/meson64-6.4/general-meson-vdec-check-if-parser-has-really-parser.patch +++ b/patch/kernel/archive/meson64-6.4/general-meson-vdec-check-if-parser-has-really-parser.patch @@ -10,7 +10,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/staging/media/meson/vdec/esparser.c b/drivers/staging/media/meson/vdec/esparser.c -index 6cea1839dcca..4b9ef97639c0 100644 +index 0691a1269cef..cc1e9d480dc4 100644 --- a/drivers/staging/media/meson/vdec/esparser.c +++ b/drivers/staging/media/meson/vdec/esparser.c @@ -300,6 +300,7 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf) @@ -21,7 +21,7 @@ index 6cea1839dcca..4b9ef97639c0 100644 /* * When max ref frame is held by VP9, this should be -= 3 to prevent a -@@ -354,15 +355,20 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf) +@@ -353,15 +354,20 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf) } pad_size = esparser_pad_start_code(core, vb, payload_size); diff --git a/patch/kernel/archive/meson64-6.4/general-meson-vdec-improve-mmu-and-fbc-handling-.patch b/patch/kernel/archive/meson64-6.4/general-meson-vdec-improve-mmu-and-fbc-handling-.patch index 456256982..2ebaa2577 100644 --- a/patch/kernel/archive/meson64-6.4/general-meson-vdec-improve-mmu-and-fbc-handling-.patch +++ b/patch/kernel/archive/meson64-6.4/general-meson-vdec-improve-mmu-and-fbc-handling-.patch @@ -430,10 +430,10 @@ index 394df5761556..c2fec7a89fea 100644 /* No frame is actually processed */ vp9->cur_frame = NULL; diff --git a/drivers/staging/media/meson/vdec/esparser.c b/drivers/staging/media/meson/vdec/esparser.c -index 4b9ef97639c0..98f1efa4ad31 100644 +index cc1e9d480dc4..06f627b141fb 100644 --- a/drivers/staging/media/meson/vdec/esparser.c +++ b/drivers/staging/media/meson/vdec/esparser.c -@@ -321,6 +321,7 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf) +@@ -320,6 +320,7 @@ esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf) if (esparser_vififo_get_free_space(sess) < payload_size || atomic_read(&sess->esparser_queued_bufs) >= num_dst_bufs) return -EAGAIN; diff --git a/patch/kernel/archive/meson64-6.4/general-meson64-overlays.patch b/patch/kernel/archive/meson64-6.4/general-meson64-overlays.patch index d99824f86..cb3c1c8d2 100644 --- a/patch/kernel/archive/meson64-6.4/general-meson64-overlays.patch +++ b/patch/kernel/archive/meson64-6.4/general-meson64-overlays.patch @@ -250,7 +250,7 @@ index 000000000000..f6b0d7eff158 + }; +}; diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib -index f6844387b77b..9db98698769f 100644 +index 1680499136ee..d5c38baf7ce2 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -88,6 +88,9 @@ base-dtb-y := $(foreach m, $(multi-dtb-y), $(firstword $(call suffix-search, $m, diff --git a/patch/kernel/archive/meson64-6.4/general-rc-drivers-should-produce-alternate-pulse-and-space-timing-events.patch b/patch/kernel/archive/meson64-6.4/general-rc-drivers-should-produce-alternate-pulse-and-space-timing-events.patch index f4bfb2601..78a098341 100644 --- a/patch/kernel/archive/meson64-6.4/general-rc-drivers-should-produce-alternate-pulse-and-space-timing-events.patch +++ b/patch/kernel/archive/meson64-6.4/general-rc-drivers-should-produce-alternate-pulse-and-space-timing-events.patch @@ -10,7 +10,7 @@ Unknown patch. Archeology revelated nothing. Good luck... 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/media/rc/meson-ir.c b/drivers/media/rc/meson-ir.c -index 4b769111f78e..dd3aa1332f53 100644 +index 49aa309d1a8c..84c35494e1c7 100644 --- a/drivers/media/rc/meson-ir.c +++ b/drivers/media/rc/meson-ir.c @@ -91,7 +91,8 @@ static irqreturn_t meson_ir_irq(int irqno, void *dev_id) diff --git a/patch/kernel/archive/meson64-6.4/general-spi-nor-add-support-for-XT25F128B.patch b/patch/kernel/archive/meson64-6.4/general-spi-nor-add-support-for-XT25F128B.patch index b42550420..13e34f5fb 100644 --- a/patch/kernel/archive/meson64-6.4/general-spi-nor-add-support-for-XT25F128B.patch +++ b/patch/kernel/archive/meson64-6.4/general-spi-nor-add-support-for-XT25F128B.patch @@ -41,10 +41,10 @@ index e347b435a038..8992c592a896 100644 obj-$(CONFIG_MTD_SPI_NOR) += spi-nor.o diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c -index d75db5076793..0efab0b56697 100644 +index 5f29fac8669a..8e737ce9bee7 100644 --- a/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c -@@ -1633,6 +1633,7 @@ static const struct spi_nor_manufacturer *manufacturers[] = { +@@ -2014,6 +2014,7 @@ static const struct spi_nor_manufacturer *manufacturers[] = { &spi_nor_winbond, &spi_nor_xilinx, &spi_nor_xmc, @@ -53,10 +53,10 @@ index d75db5076793..0efab0b56697 100644 static const struct flash_info spi_nor_generic_flash = { diff --git a/drivers/mtd/spi-nor/core.h b/drivers/mtd/spi-nor/core.h -index 75ec2e560424..8e2c23349003 100644 +index 4fb5ff09c63a..099a47cceba0 100644 --- a/drivers/mtd/spi-nor/core.h +++ b/drivers/mtd/spi-nor/core.h -@@ -633,6 +633,7 @@ extern const struct spi_nor_manufacturer spi_nor_sst; +@@ -644,6 +644,7 @@ extern const struct spi_nor_manufacturer spi_nor_sst; extern const struct spi_nor_manufacturer spi_nor_winbond; extern const struct spi_nor_manufacturer spi_nor_xilinx; extern const struct spi_nor_manufacturer spi_nor_xmc; diff --git a/patch/kernel/archive/meson64-6.4/meson-g12a-pinctrl-add-missing-ir-options.patch b/patch/kernel/archive/meson64-6.4/meson-g12a-pinctrl-add-missing-ir-options.patch index af93daa74..210d73e4c 100644 --- a/patch/kernel/archive/meson64-6.4/meson-g12a-pinctrl-add-missing-ir-options.patch +++ b/patch/kernel/archive/meson64-6.4/meson-g12a-pinctrl-add-missing-ir-options.patch @@ -12,7 +12,7 @@ Signed-off-by: Yuntian Zhang 2 files changed, 25 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi -index 42027c78c8de..cc549f52219d 100644 +index 0c49655cc90c..bb7cf0805219 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi @@ -562,6 +562,14 @@ mux { diff --git a/patch/kernel/archive/meson64-6.4/meson-g12b-pinctrl-Add-missing-pinmux-for-pwm.patch b/patch/kernel/archive/meson64-6.4/meson-g12b-pinctrl-Add-missing-pinmux-for-pwm.patch index 6390b0f3d..45b736e4d 100644 --- a/patch/kernel/archive/meson64-6.4/meson-g12b-pinctrl-Add-missing-pinmux-for-pwm.patch +++ b/patch/kernel/archive/meson64-6.4/meson-g12b-pinctrl-Add-missing-pinmux-for-pwm.patch @@ -16,12 +16,12 @@ Signed-off-by: Yuntian Zhang 2 files changed, 45 insertions(+), 3 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi -index 75ff00fb2e4c..c57abbd405d3 100644 +index 431572b384db..3ef1982ba218 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi -@@ -144,3 +144,37 @@ &mali { - &pmu { - compatible = "amlogic,g12b-ddr-pmu"; +@@ -148,3 +148,37 @@ &pmu { + &npu { + power-domains = <&pwrc PWRC_G12A_NNA_ID>; }; + +&periphs_pinctrl { diff --git a/patch/kernel/archive/meson64-6.4/meson-gxbb-dts-i2cX-missing-pins.patch b/patch/kernel/archive/meson64-6.4/meson-gxbb-dts-i2cX-missing-pins.patch index 00deb6425..4830f28d6 100644 --- a/patch/kernel/archive/meson64-6.4/meson-gxbb-dts-i2cX-missing-pins.patch +++ b/patch/kernel/archive/meson64-6.4/meson-gxbb-dts-i2cX-missing-pins.patch @@ -9,7 +9,7 @@ Subject: fix i2cA and i2cB miossing pins 1 file changed, 4 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi -index 923d2d8bbb9c..43d9d1d10f53 100644 +index 12ef6e81c8bd..90ae81493de2 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi @@ -333,6 +333,8 @@ &hwrng { diff --git a/patch/kernel/archive/meson64-6.4/meson-gxl-gxm-arm64-dts-meson-set-p212-p23x-q20x-SDIO-to-100MH.patch b/patch/kernel/archive/meson64-6.4/meson-gxl-gxm-arm64-dts-meson-set-p212-p23x-q20x-SDIO-to-100MH.patch index bf8eae4a3..c0ef2481c 100644 --- a/patch/kernel/archive/meson64-6.4/meson-gxl-gxm-arm64-dts-meson-set-p212-p23x-q20x-SDIO-to-100MH.patch +++ b/patch/kernel/archive/meson64-6.4/meson-gxl-gxm-arm64-dts-meson-set-p212-p23x-q20x-SDIO-to-100MH.patch @@ -104,10 +104,10 @@ index dafc841f7c16..b0d008fc5f7a 100644 non-removable; disable-wp; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi -index 05cb2f5e5c36..ea5ee3e7b084 100644 +index a150cc0e18ff..6eec4e81592b 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi -@@ -113,7 +113,11 @@ &sd_emmc_a { +@@ -121,7 +121,11 @@ &sd_emmc_a { bus-width = <4>; cap-sd-highspeed; diff --git a/patch/kernel/archive/meson64-6.4/meson-sm1-dts-add-higher-clocks.patch b/patch/kernel/archive/meson64-6.4/meson-sm1-dts-add-higher-clocks.patch index 722124990..c3e942111 100644 --- a/patch/kernel/archive/meson64-6.4/meson-sm1-dts-add-higher-clocks.patch +++ b/patch/kernel/archive/meson64-6.4/meson-sm1-dts-add-higher-clocks.patch @@ -9,7 +9,7 @@ Signed-off-by: Igor Pecovnik 1 file changed, 10 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi -index 56ca0ba2241e..6dcc7562efb8 100644 +index 617d322af0df..2ca0daa86b1b 100644 --- a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi @@ -135,6 +135,16 @@ opp-1908000000 {