Merge pull request #1307 from brooksytech/dev

S922X updates and fixes
This commit is contained in:
Brooksytech 2023-04-20 14:45:41 -07:00 committed by GitHub
commit a5eefa55a9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 218 additions and 93 deletions

View file

@ -80,6 +80,9 @@ sed -i '/^BackendName =/c\BackendName =' /storage/.config/aethersx2/inis/PCSX2.i
sed -i '/^VsyncEnable =/c\VsyncEnable = 1' /storage/.config/aethersx2/inis/PCSX2.ini
fi
#Set OpenGL 3.3 on panfrost
export PAN_MESA_DEBUG=gl3,gofaster
#Set QT enviornment to wayland
export QT_QPA_PLATFORM=wayland

View file

@ -4,6 +4,10 @@
. /etc/profile
### Set GPU Govorner to powersave during boot
echo powersave > /sys/devices/platform/soc/ffe40000.gpu/devfreq/ffe40000.gpu/governor
### Sleep is currently broken, so we'll disable it.
cat <<EOF >/storage/.config/sleep.conf.d/sleep.conf

View file

@ -5,12 +5,15 @@ PKG_UBOOT="$(get_build_dir u-boot)"
source ${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/options
FIP_DIR="${ROOT}/build.${DISTRO}-${DEVICE}.aarch64/amlogic-boot-fip-*"
case "${PKG_SOC}" in
s922x)
echo "uboot: encrypting u-boot.bin with fip..."
cp -av build/u-boot.bin ${FIP_DIR}/
cd ${FIP_DIR}
./build-fip.sh ${BOOT_FIP} u-boot.bin ${INSTALL}/usr/share/bootloader/fip
case "${DEVICE}" in
S922X)
cp -rf ${PKG_DIR}/bin/${DEVICE}/u-boot.bin ${INSTALL}/usr/share/bootloader/
;;
*)
echo "uboot: encrypting u-boot.bin with fip..."
cp -av u-boot.bin ${FIP_DIR}/
cd ${FIP_DIR}
./build-fip.sh ${BOOT_FIP} u-boot.bin ${INSTALL}/usr/share/bootloader/
;;
esac
@ -20,9 +23,6 @@ then
cp -av ${PKG_BUILD}/tools/odroid_resource/ODROIDBIOS.BIN ${INSTALL}/usr/share/bootloader
fi
#Install a precombiled u-boot.bin until we can fix buildroot.
cp -rf ${PKG_DIR}/bin/u-boot.bin ${INSTALL}/usr/share/bootloader/
if [ "${BOOT_INI}" == true ]
then
echo "boot: create boot.ini..."
@ -35,7 +35,7 @@ setenv loadaddr "0x1B00000"
setenv bootargs "boot=UUID=@BOOT_UUID@ disk=UUID=@DISK_UUID@ ${EXTRA_CMDLINE}"
load mmc \${devno}:1 \${loadaddr} KERNEL
load mmc \${devno}:1 \${dtb_loadaddr} meson-g12b-odroid-go-ultra.dtb
load mmc \${devno}:1 \${dtb_loadaddr} ${DEVICE_DTB[0]}.dtb
fdt addr \${dtb_loadaddr}

View file

@ -4,10 +4,10 @@
source ${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/options
#Write u-boot.bin to image
case "${DEVICE}" in
S922X)
case "${PKG_SOC}" in
s922x)
if [ -f "${RELEASE_DIR}/3rdparty/bootloader/u-boot.bin" ]; then
echo "image: burn uboot.itb to image... (${PKG_SOC})"
echo "image: burn uboot.bin to image... (${PKG_SOC})"
dd if="${RELEASE_DIR}/3rdparty/bootloader/u-boot.bin" of="${DISK}" bs=512 seek=1 conv=sync,noerror,notrunc >"${SAVE_ERROR}" 2>&1 || show_error
fi
esac
@ -34,7 +34,7 @@ setenv loadaddr "0x1B00000"
setenv bootargs "boot=UUID=${UUID_SYSTEM} disk=UUID=${UUID_STORAGE} ${EXTRA_CMDLINE}"
load mmc \${devno}:1 \${loadaddr} KERNEL
load mmc \${devno}:1 \${dtb_loadaddr} meson-g12b-odroid-go-ultra.dtb
load mmc \${devno}:1 \${dtb_loadaddr} ${DEVICE_DTB[0]}.dtb
fdt addr \${dtb_loadaddr}

View file

@ -7168,7 +7168,7 @@ CONFIG_HAVE_ARCH_KFENCE=y
#
# CONFIG_PANIC_ON_OOPS is not set
CONFIG_PANIC_ON_OOPS_VALUE=0
CONFIG_PANIC_TIMEOUT=0
CONFIG_PANIC_TIMEOUT=1
# CONFIG_SOFTLOCKUP_DETECTOR is not set
# CONFIG_DETECT_HUNG_TASK is not set
# CONFIG_WQ_WATCHDOG is not set

View file

@ -19,7 +19,7 @@ PKG_PATCH_DIRS+="${DEVICE}"
case ${DEVICE} in
S922X)
PKG_VERSION="6.1.24"
PKG_VERSION="6.1.25"
PKG_URL="https://www.kernel.org/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz"
;;
esac

View file

@ -1,27 +1,96 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/Makefile linux/arch/arm64/boot/dts/amlogic/Makefile
--- linux.orig/arch/arm64/boot/dts/amlogic/Makefile 2023-03-22 12:34:07.000000000 +0000
+++ linux/arch/arm64/boot/dts/amlogic/Makefile 2023-03-31 16:27:15.048741724 +0000
@@ -12,6 +12,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-a
+++ linux/arch/arm64/boot/dts/amlogic/Makefile 2023-04-20 18:28:47.921006945 +0000
@@ -12,8 +12,10 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-a
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gsking-x.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking-pro.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking.dtb
+dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-go-ultra.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2-plus.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb
+dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2l.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.dtb
diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi linux/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
--- linux.orig/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi 2023-03-22 12:34:07.000000000 +0000
+++ linux/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi 2023-03-31 19:20:47.283520210 +0000
@@ -2395,13 +2395,13 @@
+++ linux/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi 2023-04-20 18:02:52.949549828 +0000
@@ -63,31 +63,31 @@
opp-124999998 {
opp-hz = /bits/ 64 <124999998>;
- opp-microvolt = <800000>;
+ opp-microvolt = <1150000>;
};
opp-249999996 {
opp-hz = /bits/ 64 <249999996>;
- opp-microvolt = <800000>;
+ opp-microvolt = <1150000>;
};
opp-285714281 {
opp-hz = /bits/ 64 <285714281>;
- opp-microvolt = <800000>;
+ opp-microvolt = <1150000>;
};
opp-399999994 {
opp-hz = /bits/ 64 <399999994>;
- opp-microvolt = <800000>;
+ opp-microvolt = <1150000>;
};
opp-499999992 {
opp-hz = /bits/ 64 <499999992>;
- opp-microvolt = <800000>;
+ opp-microvolt = <1150000>;
};
opp-666666656 {
opp-hz = /bits/ 64 <666666656>;
- opp-microvolt = <800000>;
+ opp-microvolt = <1150000>;
};
opp-799999987 {
opp-hz = /bits/ 64 <799999987>;
- opp-microvolt = <800000>;
+ opp-microvolt = <1150000>;
};
};
@@ -1694,7 +1694,7 @@
#address-cells = <1>;
#size-cells = <0>;
- internal_ephy: ethernet-phy@8 {
+ internal_ephy: ethernet_phy@8 {
compatible = "ethernet-phy-id0180.3301",
"ethernet-phy-ieee802.3-c22";
interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
@@ -1885,6 +1885,15 @@
};
};
+ uart_ao_b_pins: uart-b-ao {
+ mux {
+ groups = "uart_ao_b_tx_8",
+ "uart_ao_b_rx_9";
+ function = "uart_ao_b";
+ bias-disable;
+ };
+ };
+
uart_ao_a_pins: uart-a-ao {
mux {
groups = "uart_ao_a_tx",
@@ -2395,14 +2404,19 @@
};
mali: gpu@ffe40000 {
- compatible = "amlogic,meson-g12a-mali", "arm,mali-bifrost";
- reg = <0x0 0xffe40000 0x0 0x40000>;
+ compatible = "arm,mali-midgard";
reg = <0x0 0xffe40000 0x0 0x40000>;
+ reg = <0x0 0xffe40000 0x0 0x40000>,
+ <0 0xFFD01000 0 0x01000>,
+ <0 0xFF800000 0 0x01000>,
+ <0 0xFF63c000 0 0x01000>,
+ <0 0xFFD01000 0 0x01000>;
interrupt-parent = <&gic>;
- interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
+ interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
@ -31,12 +100,14 @@ diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi linux/ar
+ <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "GPU", "MMU", "JOB";
clocks = <&clkc CLKID_MALI>;
+ clock-names = "clk_mali";
resets = <&reset RESET_DVALIN_CAPB3>, <&reset RESET_DVALIN>;
operating-points-v2 = <&gpu_opp_table>;
#cooling-cells = <2>;
diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts linux/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts
--- linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts 1970-01-01 00:00:00.000000000 +0000
+++ linux/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts 2023-04-01 22:27:41.191489675 +0000
@@ -0,0 +1,957 @@
+++ linux/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts 2023-04-20 19:22:00.692778406 +0000
@@ -0,0 +1,932 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2022 Neil Armstrong <narmstrong@kernel.org>
@ -61,8 +132,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts
+ mmc0 = &sd_emmc_c;
+ mmc1 = &sd_emmc_b;
+ };
+
+ reserved-memory {
+
+ reserved-memory {
+ cont_framebuffer_mem: memory@3d800000 {
+ reg = <0x0 0x3d800000 0 (480 * 854 * 4)>;
+ no-map;
@ -128,7 +199,7 @@ diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts
+
+ gpio_keys: volume-keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <10>;
+ poll-interval = <5>;
+ autorepeat;
+
+ volume-up-button {
@ -148,8 +219,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts
+ poll-interval = <10>;
+ pinctrl-0 = <&keypad_gpio_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+
+ status = "okay";
+
+ joypad-name = "GO-Ultra Gamepad";
+ //joypad-vendor = <0x045e>;
+ joypad-product = <0x1000>;
@ -301,22 +372,9 @@ diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts
+ sound {
+ compatible = "amlogic,axg-sound-card";
+ model = "Odroid GO Ultra";
+ audio-widgets = "Microphone", "Mic Jack",
+ "Headphone", "Headphones",
+ "Speaker", "Internal Speakers";
+ audio-aux-devs = <&tdmout_b>, <&tdmin_b>, <&speaker_amp>;
+ audio-aux-devs = <&tdmout_b>;
+ audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
+ "TDM_B Playback", "TDMOUT_B OUT",
+ "TDMIN_B IN 1", "TDM_B Capture",
+ "TDMIN_B IN 4", "TDM_B Loopback",
+ "TODDR_A IN 1", "TDMIN_B OUT",
+ "MICL", "Mic Jack",
+ "Headphones", "HPOL",
+ "Headphones", "HPOR",
+ "Speaker Amplifier INL", "HPOL",
+ "Speaker Amplifier INR", "HPOR",
+ "Internal Speakers", "Speaker Amplifier OUTL",
+ "Internal Speakers", "Speaker Amplifier OUTR";
+ "TDM_B Playback", "TDMOUT_B OUT";
+
+ assigned-clocks = <&clkc CLKID_MPLL2>,
+ <&clkc CLKID_MPLL0>,
@ -331,14 +389,12 @@ diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts
+ sound-dai = <&frddr_a>;
+ };
+
+ /* 8ch hdmi interface */
+ dai-link-1 {
+ sound-dai = <&toddr_a>;
+ };
+
+ dai-link-2 {
+ sound-dai = <&tdmif_b>;
+ dai-format = "i2s";
+ dai-tdm-slot-tx-mask-0 = <1 1>;
+ dai-tdm-slot-tx-mask-1 = <1 1>;
+ mclk-fs = <256>;
+
+ codec-0 {
@ -346,12 +402,6 @@ diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts
+ };
+ };
+ };
+
+ speaker_amp: speaker-amplifier {
+ compatible = "simple-audio-amplifier";
+ sound-name-prefix = "Speaker Amplifier";
+ VCC-supply = <&hp_5v>;
+ };
+};
+
+&arb {
@ -490,7 +540,6 @@ diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts
+ reg = <0x1c>;
+ interrupt-parent = <&gpio_intc>;
+ interrupts = <7 IRQ_TYPE_LEVEL_LOW>; /* GPIOAO_7 */
+ #clock-cells = <1>;
+
+ vcc1-supply = <&vdd_sys>;
+ vcc2-supply = <&vdd_sys>;
@ -508,8 +557,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts
+ regulator-name = "vddcpu_a";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <737500>;
+ regulator-max-microvolt = <1450000>;
+ regulator-min-microvolt = <775000>;
+ regulator-max-microvolt = <1050000>;
+ regulator-ramp-delay = <6001>;
+ regulator-state-mem {
+ regulator-on-in-suspend;
@ -521,12 +570,12 @@ diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts
+ regulator-name = "vdd_ee";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1250000>;
+ regulator-min-microvolt = <875000>;
+ regulator-max-microvolt = <900000>;
+ regulator-ramp-delay = <6001>;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1000000>;
+ regulator-suspend-microvolt = <875000>;
+ };
+ };
+
@ -542,6 +591,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts
+ vddao_3v3: DCDC_REG4 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-name = "vddao_3v3";
+ regulator-state-mem {
+ regulator-on-in-suspend;
@ -706,7 +757,6 @@ diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts
+ reg = <0x20>;
+ status = "okay";
+ interrupt-parent = <&gpio_intc>;
+
+ interrupts = <5 IRQ_TYPE_LEVEL_LOW>; /* GPIOAO_5 */
+
+ vcc1-supply = <&vdd_sys>;
@ -736,7 +786,7 @@ diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <737500>;
+ regulator-max-microvolt = <1450000>;
+ regulator-max-microvolt = <1050000>;
+ regulator-ramp-delay = <6001>;
+ regulator-initial-mode = <0x2>;
+ regulator-name = "vddcpu_b";
@ -914,6 +964,24 @@ diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts
+ vref-supply = <&vddio_ao1v8>;
+};
+
+/* 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 = <&vcc_sd>;
+ vqmmc-supply = <&vddio_c>;
+
+};
+
+/* eMMC */
+&sd_emmc_c {
+ status = "okay";
@ -933,48 +1001,26 @@ diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts
+ vqmmc-supply = <&vddio_ao1v8>;
+};
+
+/* 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 = <&vcc_sd>;
+ vqmmc-supply = <&vddio_c>;
+
+};
+
+&tdmif_b {
+ pinctrl-0 = <&tdm_b_dout0_pins>, <&tdm_b_fs_pins>, <&tdm_b_sclk_pins>, <&tdm_b_din1_pins>;
+ 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_SCLK_PAD1>,
+ 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_SCLK>,
+ 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>;
+};
+
+&tdmin_b {
+ status = "okay";
+ assigned-clock-rates = <0>, <0>, <0>;
+};
+
+&tdmout_b {
+ status = "okay";
+};
+
+&toddr_a {
+ status = "okay";
+};
+
+&uart_AO {
+ status = "okay";
+ pinctrl-0 = <&uart_ao_a_pins>;
@ -1009,6 +1055,61 @@ diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi linu
emmc_pwrseq: emmc-pwrseq {
compatible = "mmc-pwrseq-emmc";
reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2l.dts linux/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2l.dts
--- linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2l.dts 1970-01-01 00:00:00.000000000 +0000
+++ linux/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2l.dts 2023-04-20 18:27:46.435078430 +0000
@@ -0,0 +1,51 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2022 Dongjin Kim <tobetter@gmail.com>
+ *
+ */
+
+/dts-v1/;
+
+/* The Amlogic S922X Rev. C supports the same OPPs as the A311D variant */
+#include "meson-g12b-a311d.dtsi"
+#include "meson-g12b-odroid-n2.dtsi"
+
+/ {
+ compatible = "hardkernel,odroid-n2l", "amlogic,s922x", "amlogic,g12b";
+ model = "Hardkernel ODROID-N2L";
+
+ aliases {
+ /delete-property/ rtc0;
+ };
+};
+
+&ethmac {
+ status = "disabled";
+};
+
+&i2c3 {
+ /delete-node/ rtc@51;
+};
+
+&usb {
+ /delete-property/ vbus-supply;
+};
+
+&usb_pwr_en {
+ /delete-property/ gpio;
+ /delete-property/ enable-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>;
+};
diff -rupN linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi linux/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi
--- linux.orig/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi 2023-03-22 12:34:07.000000000 +0000
+++ linux/arch/arm64/boot/dts/amlogic/meson-g12b.dtsi 2023-03-31 19:19:37.633541167 +0000
@ -172043,3 +172144,20 @@ diff -rupN linux.orig/include/uapi/gpu/arm/midgard/mali_kbase_mem_profile_debugf
+#define KBASE_MEM_PROFILE_MAX_BUF_SIZE ((size_t)(64 + ((80 + (56 * 64)) * 54) + 56))
+
+#endif /*_UAPI_KBASE_MEM_PROFILE_DEBUGFS_BUF_SIZE_H_*/
diff -rupN linux.orig/sound/soc/meson/axg-card.c linux/sound/soc/meson/axg-card.c
--- linux.orig/sound/soc/meson/axg-card.c 2023-03-22 12:34:07.000000000 +0000
+++ linux/sound/soc/meson/axg-card.c 2023-04-20 14:48:13.907175403 +0000
@@ -59,6 +59,13 @@ static int axg_card_tdm_dai_init(struct
(struct axg_dai_link_tdm_data *)priv->link_data[rtd->num];
struct snd_soc_dai *codec_dai;
int ret, i;
+ struct snd_soc_card *card = rtd->card;
+
+ /* Go-Ultra : Digital volume is limited to -2dB */
+ ret = snd_soc_limit_volume(card, "Master Playback Volume", 252);
+ if (ret < 0)
+ dev_dbg(codec_dai->dev,
+ "Not found mixer : 'Master Playback Volume'\n");
for_each_rtd_codec_dais(rtd, i, codec_dai) {
ret = snd_soc_dai_set_tdm_slot(codec_dai,