diff --git a/cfg/kernel_v6.14-rc7 b/cfg/kernel_v6.14-rc7 index 1aee688..bd7c8d0 100644 --- a/cfg/kernel_v6.14-rc7 +++ b/cfg/kernel_v6.14-rc7 @@ -3727,6 +3727,8 @@ CONFIG_SND_PCM=y CONFIG_SND_PCM_ELD=y CONFIG_SND_PCM_IEC958=y CONFIG_SND_DMAENGINE_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_RAWMIDI=y CONFIG_SND_JACK=y CONFIG_SND_JACK_INPUT_DEV=y # CONFIG_SND_OSSEMUL is not set @@ -3748,80 +3750,28 @@ CONFIG_SND_DRIVERS=y # CONFIG_SND_SERIAL_U16550 is not set # CONFIG_SND_SERIAL_GENERIC is not set # CONFIG_SND_MPU401 is not set -CONFIG_SND_PCI=y -# CONFIG_SND_AD1889 is not set -# CONFIG_SND_ALS300 is not set -# CONFIG_SND_ALI5451 is not set -# CONFIG_SND_ATIIXP is not set -# CONFIG_SND_ATIIXP_MODEM is not set -# CONFIG_SND_AU8810 is not set -# CONFIG_SND_AU8820 is not set -# CONFIG_SND_AU8830 is not set -# CONFIG_SND_AW2 is not set -# CONFIG_SND_AZT3328 is not set -# CONFIG_SND_BT87X is not set -# CONFIG_SND_CA0106 is not set -# CONFIG_SND_CMIPCI is not set -# CONFIG_SND_OXYGEN is not set -# CONFIG_SND_CS4281 is not set -# CONFIG_SND_CS46XX is not set -# CONFIG_SND_CTXFI is not set -# CONFIG_SND_DARLA20 is not set -# CONFIG_SND_GINA20 is not set -# CONFIG_SND_LAYLA20 is not set -# CONFIG_SND_DARLA24 is not set -# CONFIG_SND_GINA24 is not set -# CONFIG_SND_LAYLA24 is not set -# CONFIG_SND_MONA is not set -# CONFIG_SND_MIA is not set -# CONFIG_SND_ECHO3G is not set -# CONFIG_SND_INDIGO is not set -# CONFIG_SND_INDIGOIO is not set -# CONFIG_SND_INDIGODJ is not set -# CONFIG_SND_INDIGOIOX is not set -# CONFIG_SND_INDIGODJX is not set -# CONFIG_SND_EMU10K1 is not set -# CONFIG_SND_EMU10K1X is not set -# CONFIG_SND_ENS1370 is not set -# CONFIG_SND_ENS1371 is not set -# CONFIG_SND_ES1938 is not set -# CONFIG_SND_ES1968 is not set -# CONFIG_SND_FM801 is not set -# CONFIG_SND_HDSP is not set -# CONFIG_SND_HDSPM is not set -# CONFIG_SND_ICE1712 is not set -# CONFIG_SND_ICE1724 is not set -# CONFIG_SND_INTEL8X0 is not set -# CONFIG_SND_INTEL8X0M is not set -# CONFIG_SND_KORG1212 is not set -# CONFIG_SND_LOLA is not set -# CONFIG_SND_LX6464ES is not set -# CONFIG_SND_MAESTRO3 is not set -# CONFIG_SND_MIXART is not set -# CONFIG_SND_NM256 is not set -# CONFIG_SND_PCXHR is not set -# CONFIG_SND_RIPTIDE is not set -# CONFIG_SND_RME32 is not set -# CONFIG_SND_RME96 is not set -# CONFIG_SND_RME9652 is not set -# CONFIG_SND_SE6X is not set -# CONFIG_SND_SONICVIBES is not set -# CONFIG_SND_TRIDENT is not set -# CONFIG_SND_VIA82XX is not set -# CONFIG_SND_VIA82XX_MODEM is not set -# CONFIG_SND_VIRTUOSO is not set -# CONFIG_SND_VX222 is not set -# CONFIG_SND_YMFPCI is not set +# CONFIG_SND_PCI is not set # # HD-Audio # -# CONFIG_SND_HDA_INTEL is not set # end of HD-Audio CONFIG_SND_HDA_PREALLOC_SIZE=64 # CONFIG_SND_SPI is not set -# CONFIG_SND_USB is not set +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=y +# CONFIG_SND_USB_AUDIO_MIDI_V2 is not set +CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set CONFIG_SND_SOC=y CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y # CONFIG_SND_SOC_ADI is not set diff --git a/config/board/btt_cb1.json b/config/board/btt_cb1.json index c3c3e1e..a6e53ea 100644 --- a/config/board/btt_cb1.json +++ b/config/board/btt_cb1.json @@ -63,12 +63,12 @@ { "file": "arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1*.dtb", "store_type": "boot", - "subdir": "dtb/allwiner" + "subdir": "dtb/allwinner" }, { "file": "arch/arm64/boot/dts/allwinner/overlay/sun50i-h616*.dtbo", "store_type": "boot", - "subdir": "dtb/allwiner/overlay" + "subdir": "dtb/allwinner/overlay" } ], "makeopts": "CROSS_COMPILE=%{CROSS_C}% ARCH=arm64 INSTALL_MOD_PATH=%{out_dir}%/kmods" @@ -78,7 +78,7 @@ "version": "rtl8189fs", "version_type": "branch", "target": [ "modules" ], - "makeopts": "CROSS_COMPILE=%{CROSS_C}% ARCH=arm64 INSTALL_MOD_PATH=%{out_dir}%/kmods KSRC=%{build_dir}%/kernel_%{board_name}%", + "makeopts": "CROSS_COMPILE=%{CROSS_C}% ARCH=arm64 INSTALL_MOD_PATH=%{out_dir}%/kmods KSRC=%{common_dir}%/kernel", "artifacts": [ { diff --git a/config/board/opi_zero2.json b/config/board/opi_zero2.json index 54e64ba..a5debb3 100644 --- a/config/board/opi_zero2.json +++ b/config/board/opi_zero2.json @@ -64,12 +64,12 @@ { "file": "arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dtb", "store_type": "boot", - "subdir": "dtb/allwiner" + "subdir": "dtb/allwinner" }, { "file": "arch/arm64/boot/dts/allwinner/overlay/sun50i-h616*.dtbo", "store_type": "boot", - "subdir": "dtb/allwiner/overlay" + "subdir": "dtb/allwinner/overlay" } ], "makeopts": "CROSS_COMPILE=%{CROSS_C}% ARCH=arm64 INSTALL_MOD_PATH=%{out_dir}%/kmods" diff --git a/patch/kernel/x_printer_config.patch b/patch/kernel/x_printer_config.patch index fced85a..9331dce 100644 --- a/patch/kernel/x_printer_config.patch +++ b/patch/kernel/x_printer_config.patch @@ -3,7 +3,7 @@ new file mode 100644 index 000000000000..51de9e95b7d2 --- /dev/null +++ b/arch/arm64/configs/printer_defconfig -@@ -0,0 +1,687 @@ +@@ -0,0 +1,689 @@ +CONFIG_DEFAULT_HOSTNAME="Printer" +CONFIG_LOCALVERSION="-arm64" +CONFIG_LOCALVERSION_AUTO=n @@ -270,7 +270,7 @@ index 000000000000..51de9e95b7d2 +CONFIG_MEDIA_SDR_SUPPORT=n +CONFIG_MEDIA_TEST_SUPPORT=n +CONFIG_SND_SPI=n -+CONFIG_SND_USB=n ++CONFIG_SND_PCI=n +CONFIG_VIRTIO_MENU=n +CONFIG_VHOST_MENU=n +CONFIG_SURFACE_PLATFORMS=n @@ -648,6 +648,8 @@ index 000000000000..51de9e95b7d2 +#vido, audio +CONFIG_SND_HDA=n +CONFIG_SND_HDA_CODEC_HDMI=n ++CONFIG_SND_USB=y ++CONFIG_SND_USB_AUDIO=y +CONFIG_DRM_DISPLAY_HDMI_AUDIO_HELPER=n +CONFIG_MEDIA_CEC_SUPPORT=y +CONFIG_DRM_DW_HDMI=y diff --git a/patch/kernel/x_rk3566_clock_fixes.patch b/patch/kernel/x_rk3566_clock_fixes.patch new file mode 100644 index 0000000..60a8d7b --- /dev/null +++ b/patch/kernel/x_rk3566_clock_fixes.patch @@ -0,0 +1,10 @@ +--- kernel/arch/arm64/boot/dts/rockchip/rk3566-bigtreetech-cb2.dtsi.old 2025-07-06 20:36:43.730388402 +0200 ++++ kernel/arch/arm64/boot/dts/rockchip/rk3566-bigtreetech-cb2.dtsi 2025-07-06 20:34:36.687531470 +0200 +@@ -336,6 +336,7 @@ + #clock-cells = <1>; + clock-names = "mclk"; + clocks = <&cru I2S1_MCLKOUT_TX>; ++ clock-output-names = "rk808-clkout1", "rk808-clkout2"; + pinctrl-names = "default", "pmic-sleep", + "pmic-power-off", "pmic-reset"; + pinctrl-0 = <&pmic_int>, <&i2s1m0_mclk>; diff --git a/scripts/board.py b/scripts/board.py index f11a938..bf3713a 100644 --- a/scripts/board.py +++ b/scripts/board.py @@ -51,6 +51,7 @@ class Board: self.variables.append(var_def.split(":")) self.variables.append(["board_name", self.name]) self.variables.append(["build_dir", f"{ROOT_DIR}/build/{self.name}"]) + self.variables.append(["common_dir", f"{ROOT_DIR}/build/common"]) self.variables.append(["out_dir", self.out_dir]) self.variables.append(["out_sh", self.out_sh]) diff --git a/scripts/size_tree.py b/scripts/size_tree.py new file mode 100755 index 0000000..2f83fdb --- /dev/null +++ b/scripts/size_tree.py @@ -0,0 +1,60 @@ +#!/bin/python +import sys, os, subprocess + +def sizeof_fmt(num, suffix="B"): + for unit in ("", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei", "Zi"): + if abs(num) < 1024.0: + return f"{num:3.1f}{unit}{suffix}" + num /= 1024.0 + return f"{num:.1f}Yi{suffix}" + +class Tree: + def __init__(self): + self.childs = [] + self.size = 0 + self.name = "" + + def add(self, fn, size): + path = fn.split("/") + if (len(path) == 1): + ch = Tree() + ch.name = path[0] + ch.size = size + self.size += size + self.childs.append(ch) + return + for ch in self.childs: + if (ch.name == path[0]): + ch.add("/".join(path[1:]), size) + self.size += size + return + ch = Tree() + ch.name = path[0] + ch.add("/".join(path[1:]), size) + self.size += size + self.childs.append(ch) + + def print(self, level, level_max, minsz): + self.childs = sorted(self.childs, key=lambda x: x.size, reverse=True) + if (level > level_max) or (self.size == 0) or (self.size < minsz): + return + s = "\t" * level + sz = sizeof_fmt(self.size) + s += f"+[{sz}] {self.name}" + print(s) + for ch in self.childs: + ch.print(level + 1, level_max, minsz) + +path = sys.argv[1] +bn = os.path.dirname(path) +root = Tree() +root.name = "." +p = subprocess.Popen(f"size {path}", shell=True, stdout=subprocess.PIPE) +for line in p.stdout: + parts = line.split() + if (parts[0] == b'text'): + continue + size = parts[3] + fn = parts[5].decode("utf-8").replace(f"{bn}/", "") + root.add(fn, int(size)) +root.print(0, 3, 1024*80)