diff --git a/buildroot-external/board/raspberrypi/cmdline.txt b/buildroot-external/board/raspberrypi/cmdline.txt index 669314f907c..55e3300d091 100644 --- a/buildroot-external/board/raspberrypi/cmdline.txt +++ b/buildroot-external/board/raspberrypi/cmdline.txt @@ -1 +1 @@ -dwc_otg.lpm_enable=0 console=tty0 usb-storage.quirks=174c:55aa:u,2109:0715:u,152d:0578:u,152d:0579:u,152d:1561:u,174c:0829:u,14b0:0206:u,174c:225c:u,7825:a2a4:u,152d:0562:u,125f:a88a:u +dwc_otg.lpm_enable=0 console=tty0 usb-storage.quirks=174c:55aa:u,2109:0715:u,152d:0578:u,152d:0579:u,152d:1561:u,174c:0829:u,14b0:0206:u,174c:225c:u,7825:a2a4:u,152d:0562:u,125f:a88a:u,152d:a583:u diff --git a/buildroot-external/board/raspberrypi/yellow/patches/linux/0017-ARM-dts-bcm2712-yellow-Sync-sdio1-and-sd_io_1v8_reg-.patch b/buildroot-external/board/raspberrypi/yellow/patches/linux/0017-ARM-dts-bcm2712-yellow-Sync-sdio1-and-sd_io_1v8_reg-.patch new file mode 100644 index 00000000000..c01aaddf795 --- /dev/null +++ b/buildroot-external/board/raspberrypi/yellow/patches/linux/0017-ARM-dts-bcm2712-yellow-Sync-sdio1-and-sd_io_1v8_reg-.patch @@ -0,0 +1,50 @@ +From e29e2cfad33afa692f2f727f492dab02d5ff3948 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= +Date: Thu, 21 Nov 2024 14:26:20 +0100 +Subject: [PATCH] ARM: dts: bcm2712: yellow: Sync sdio1 and sd_io_1v8_reg nodes + with CM5 DTS +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +SDIO1 and its 1V8 regulator have been changed in vanilla CM5 device tree, +reflect those changes in Yellow's DTS. + +Signed-off-by: Jan Čermák +--- + .../boot/dts/broadcom/bcm2712-rpi-cm5-ha-yellow.dts | 12 ++++-------- + 1 file changed, 4 insertions(+), 8 deletions(-) + +diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5-ha-yellow.dts b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5-ha-yellow.dts +index 4b130f42b2358..c85d608da2043 100644 +--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5-ha-yellow.dts ++++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5-ha-yellow.dts +@@ -78,17 +78,11 @@ led_act: led-act { + }; + + sd_io_1v8_reg: sd_io_1v8_reg { +- compatible = "regulator-gpio"; ++ compatible = "regulator-fixed"; + regulator-name = "vdd-sd-io"; + regulator-min-microvolt = <1800000>; +- regulator-max-microvolt = <3300000>; +- regulator-boot-on; ++ regulator-max-microvolt = <1800000>; + regulator-always-on; +- regulator-settling-time-us = <5000>; +- gpios = <&gio_aon 3 GPIO_ACTIVE_HIGH>; +- states = <1800000 0x1 +- 3300000 0x0>; +- status = "okay"; + }; + + sd_vcc_reg: sd_vcc_reg { +@@ -355,6 +349,8 @@ &sdio1 { + sd-uhs-ddr50; + sd-uhs-sdr104; + mmc-hs200-1_8v; ++ mmc-hs400-1_8v; ++ mmc-hs400-enhanced-strobe; + broken-cd; + supports-cqe; + status = "okay"; diff --git a/buildroot-external/kernel/v6.6.y/device-support.config b/buildroot-external/kernel/v6.6.y/device-support.config index 1794644fa58..d3e925ec447 100644 --- a/buildroot-external/kernel/v6.6.y/device-support.config +++ b/buildroot-external/kernel/v6.6.y/device-support.config @@ -13,6 +13,7 @@ CONFIG_USB_SERIAL_GENERIC=y CONFIG_USB_SERIAL_OPTION=m CONFIG_USB_SERIAL_SIMPLE=m CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYPRESS_M8=m CONFIG_USB_SERIAL_FTDI_SIO=m CONFIG_USB_SERIAL_PL2303=m CONFIG_USB_SERIAL_CH341=m diff --git a/buildroot-external/kernel/v6.6.y/kernel-arm64-rockchip.config b/buildroot-external/kernel/v6.6.y/kernel-arm64-rockchip.config index e528945a745..8effd5732d2 100644 --- a/buildroot-external/kernel/v6.6.y/kernel-arm64-rockchip.config +++ b/buildroot-external/kernel/v6.6.y/kernel-arm64-rockchip.config @@ -3119,7 +3119,6 @@ CONFIG_USB_SERIAL_CH341=m CONFIG_USB_SERIAL_WHITEHEAT=m CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m CONFIG_USB_SERIAL_CP210X=m -CONFIG_USB_SERIAL_CYPRESS_M8=m CONFIG_USB_SERIAL_EMPEG=m CONFIG_USB_SERIAL_FTDI_SIO=m CONFIG_USB_SERIAL_VISOR=m diff --git a/buildroot-external/meta b/buildroot-external/meta index 5bd66e75e84..29fe9d7df42 100644 --- a/buildroot-external/meta +++ b/buildroot-external/meta @@ -1,6 +1,6 @@ VERSION_MAJOR="14" VERSION_MINOR="0" -VERSION_SUFFIX="rc1" +VERSION_SUFFIX="rc2" HASSOS_NAME="Home Assistant OS" HASSOS_ID="haos" diff --git a/buildroot-external/rootfs-overlay/usr/libexec/haos-data-disk-detach b/buildroot-external/rootfs-overlay/usr/libexec/haos-data-disk-detach index 361a6745e89..dafc469a514 100755 --- a/buildroot-external/rootfs-overlay/usr/libexec/haos-data-disk-detach +++ b/buildroot-external/rootfs-overlay/usr/libexec/haos-data-disk-detach @@ -1,4 +1,5 @@ #!/bin/sh +# shellcheck disable=SC1091 # Find root using rdev command rootpart=$(rdev | cut -f 1 -d ' ') @@ -9,15 +10,53 @@ sleep 10s datapartitions=$(blkid --match-token LABEL="hassos-data" --output device) -for datapart in ${datapartitions} -do - datadev=$(lsblk -no pkname "${datapart}") - - # If major does not match our root device major, it is an external data - # disk. Rename to make sure it gets ignored. - if [ "$rootdev" != "$datadev" ] - then - echo "Found external data disk device on ${datapart}, mark it disabled..." - e2label "${datapart}" hassos-data-dis - fi -done +. /etc/os-release + +disable_data_partition() { + e2label "${1}" hassos-data-dis +} + +if [ "$VARIANT_ID" = "yellow" ]; then + emmc_data_partition="" + nvme_data_partition="" + + for datapart in ${datapartitions}; do + datadev=$(lsblk -no pkname "${datapart}") + + case "${datadev}" in + mmc*) + # Data partition on internal eMMC + if [ "$rootdev" = "$datadev" ]; then + emmc_data_partition="${datapart}" + fi + ;; + nvme0*) + # Data partition on first NVMe disk + nvme_data_partition="${datapart}" + ;; + *) + # Disable all other data disks as normally + if [ "$rootdev" != "$datadev" ]; then + echo "Found extra external data disk device on ${datapart}, marking it disabled..." + disable_data_partition "${datapart}" + fi + ;; + esac + done + + if [ -n "${emmc_data_partition}" ] && [ -n "${nvme_data_partition}" ]; then + echo "Found both eMMC and NVMe data disk devices, marking eMMC as disabled" + disable_data_partition "${emmc_data_partition}" + fi +else + for datapart in ${datapartitions}; do + datadev=$(lsblk -no pkname "${datapart}") + + # If major does not match our root device major, it is an external data + # disk. Rename to make sure it gets ignored. + if [ "$rootdev" != "$datadev" ]; then + echo "Found external data disk device on ${datapart}, marking it disabled..." + disable_data_partition "${datapart}" + fi + done +fi