mirror of
https://github.com/home-assistant/operating-system.git
synced 2025-07-27 06:56:29 +00:00
Add Amber as new machine (#1569)
* Add Amber machine Introduce a new machine for Amber. Store it under Raspberry Pi boards since Amber is based on the Raspberry Pi Compute Module 4. This way we can reuse existing scripts. * Add kernel patches for Amber Add kernel patches which add a custom device tree for Amber. * Add device wipe support via GPIO button Allow to wipe the device by pressing and holding the red button. * Enable serial console by default Enable serial console on the on-board USB-to-UART adapter as well as on the GPIO header. * Use 64-bit mode by default Support only 64-bit for Amber, it is mature enough.
This commit is contained in:
parent
c7ec9468c0
commit
e83e6f4712
1
buildroot-external/board/raspberrypi/amber/cmdline.txt
Normal file
1
buildroot-external/board/raspberrypi/amber/cmdline.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
dwc_otg.lpm_enable=0 console=tty1 console=serial0,115200n8 console=ttyAMA2,115200n8
|
77
buildroot-external/board/raspberrypi/amber/config.txt
Normal file
77
buildroot-external/board/raspberrypi/amber/config.txt
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
# For more options and information see
|
||||||
|
# http://rpf.io/configtxt
|
||||||
|
# Some settings may impact device functionality. See link above for details
|
||||||
|
|
||||||
|
# HAOS - don't change it!
|
||||||
|
disable_splash=1
|
||||||
|
kernel=u-boot.bin
|
||||||
|
arm_64bit=1
|
||||||
|
|
||||||
|
# uncomment to enable primary UART console
|
||||||
|
enable_uart=1
|
||||||
|
|
||||||
|
# uncomment if you get no picture on HDMI for a default "safe" mode
|
||||||
|
#hdmi_safe=1
|
||||||
|
|
||||||
|
# uncomment this if your display has a black border of unused pixels visible
|
||||||
|
# and your display can output without overscan
|
||||||
|
#disable_overscan=1
|
||||||
|
|
||||||
|
# uncomment the following to adjust overscan. Use positive numbers if console
|
||||||
|
# goes off screen, and negative if there is too much border
|
||||||
|
#overscan_left=16
|
||||||
|
#overscan_right=16
|
||||||
|
#overscan_top=16
|
||||||
|
#overscan_bottom=16
|
||||||
|
|
||||||
|
# uncomment to force a console size. By default it will be display's size minus
|
||||||
|
# overscan.
|
||||||
|
#framebuffer_width=1280
|
||||||
|
#framebuffer_height=720
|
||||||
|
|
||||||
|
# uncomment if hdmi display is not detected and composite is being output
|
||||||
|
#hdmi_force_hotplug=1
|
||||||
|
|
||||||
|
# uncomment to force a specific HDMI mode (this will force VGA)
|
||||||
|
#hdmi_group=1
|
||||||
|
#hdmi_mode=1
|
||||||
|
|
||||||
|
# uncomment to force a HDMI mode rather than DVI. This can make audio work in
|
||||||
|
# DMT (computer monitor) modes
|
||||||
|
#hdmi_drive=2
|
||||||
|
|
||||||
|
# uncomment to increase signal to HDMI, if you have interference, blanking, or
|
||||||
|
# no display
|
||||||
|
#config_hdmi_boost=4
|
||||||
|
|
||||||
|
# uncomment for composite PAL
|
||||||
|
#sdtv_mode=2
|
||||||
|
|
||||||
|
# Uncomment to disable continous SD-card poll (for USB SSD)
|
||||||
|
#dtparam=sd_poll_once=on
|
||||||
|
|
||||||
|
# Uncomment some or all of these to enable the optional hardware interfaces
|
||||||
|
#dtparam=i2c_arm=on
|
||||||
|
#dtparam=i2s=on
|
||||||
|
#dtparam=spi=on
|
||||||
|
|
||||||
|
# Uncomment this to enable the lirc-rpi module
|
||||||
|
#dtoverlay=lirc-rpi
|
||||||
|
|
||||||
|
# Uncomment this to enable GPIO support for RPI-RF-MOD/HM-MOD-RPI-PCB
|
||||||
|
#enable_uart=1
|
||||||
|
#dtparam=i2c_arm=on
|
||||||
|
#dtoverlay=miniuart-bt
|
||||||
|
#dtoverlay=rpi-rf-mod
|
||||||
|
|
||||||
|
# Additional overlays and parameters are documented /boot/overlays/README
|
||||||
|
|
||||||
|
# Enable audio (loads snd_bcm2835)
|
||||||
|
dtparam=audio=on
|
||||||
|
|
||||||
|
[all]
|
||||||
|
#dtoverlay=vc4-fkms-v3d
|
||||||
|
#max_framebuffers=2
|
||||||
|
device_tree=bcm2711-rpi-cm4-ha-amber.dtb
|
||||||
|
dtoverlay=dwc2,dr_mode=host
|
||||||
|
|
10
buildroot-external/board/raspberrypi/amber/meta
Normal file
10
buildroot-external/board/raspberrypi/amber/meta
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
BOARD_ID=amber
|
||||||
|
BOARD_NAME="Amber"
|
||||||
|
CHASSIS=embedded
|
||||||
|
BOOTLOADER=uboot
|
||||||
|
KERNEL_FILE=Image
|
||||||
|
BOOT_SYS=hybrid
|
||||||
|
BOOT_SPL=false
|
||||||
|
BOOT_ENV_SIZE=0x4000
|
||||||
|
SUPERVISOR_MACHINE=raspberrypi4-64
|
||||||
|
SUPERVISOR_ARCH=aarch64
|
@ -0,0 +1,680 @@
|
|||||||
|
From 4000c39e3084ea0bdd76173fda310b6c32fd4734 Mon Sep 17 00:00:00 2001
|
||||||
|
Message-Id: <4000c39e3084ea0bdd76173fda310b6c32fd4734.1633341968.git.stefan@agner.ch>
|
||||||
|
From: Stefan Agner <stefan@agner.ch>
|
||||||
|
Date: Thu, 4 Mar 2021 14:28:29 +0100
|
||||||
|
Subject: [PATCH 1/6] ARM: dts: bcm2711: Add device tree for Home Assistant
|
||||||
|
Amber
|
||||||
|
|
||||||
|
Add device tree for Home Assistant Amber, a Compute Module 4 based I/O
|
||||||
|
board.
|
||||||
|
|
||||||
|
Signed-off-by: Stefan Agner <stefan@agner.ch>
|
||||||
|
---
|
||||||
|
arch/arm/boot/dts/Makefile | 3 +-
|
||||||
|
.../arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts | 618 ++++++++++++++++++
|
||||||
|
arch/arm64/boot/dts/broadcom/Makefile | 1 +
|
||||||
|
.../dts/broadcom/bcm2711-rpi-cm4-ha-amber.dts | 1 +
|
||||||
|
4 files changed, 622 insertions(+), 1 deletion(-)
|
||||||
|
create mode 100644 arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
create mode 100644 arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
|
||||||
|
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||||
|
index 12cd8bf582e1..4fa8c7be516a 100644
|
||||||
|
--- a/arch/arm/boot/dts/Makefile
|
||||||
|
+++ b/arch/arm/boot/dts/Makefile
|
||||||
|
@@ -14,7 +14,8 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
|
||||||
|
bcm2711-rpi-4-b.dtb \
|
||||||
|
bcm2711-rpi-400.dtb \
|
||||||
|
bcm2710-rpi-cm3.dtb \
|
||||||
|
- bcm2711-rpi-cm4.dtb
|
||||||
|
+ bcm2711-rpi-cm4.dtb \
|
||||||
|
+ bcm2711-rpi-cm4-ha-amber.dtb
|
||||||
|
|
||||||
|
dtb-$(CONFIG_ARCH_ALPINE) += \
|
||||||
|
alpine-db.dtb
|
||||||
|
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000000..11d8f87ac6d3
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
@@ -0,0 +1,618 @@
|
||||||
|
+// SPDX-License-Identifier: GPL-2.0
|
||||||
|
+/dts-v1/;
|
||||||
|
+#include "bcm2711.dtsi"
|
||||||
|
+#include "bcm2835-rpi.dtsi"
|
||||||
|
+
|
||||||
|
+/ {
|
||||||
|
+ compatible = "raspberrypi,4-compute-module-ha-amber", "brcm,bcm2711";
|
||||||
|
+ model = "Raspberry Pi Compute Module 4 on Home Assistant Amber";
|
||||||
|
+
|
||||||
|
+ chosen {
|
||||||
|
+ /* 8250 auxiliary UART instead of pl011 */
|
||||||
|
+ stdout-path = "serial1:115200n8";
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ /* Will be filled by the bootloader */
|
||||||
|
+ memory@0 {
|
||||||
|
+ device_type = "memory";
|
||||||
|
+ reg = <0 0 0>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ aliases {
|
||||||
|
+ emmc2bus = &emmc2bus;
|
||||||
|
+ ethernet0 = &genet;
|
||||||
|
+ pcie0 = &pcie0;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ leds {
|
||||||
|
+ act {
|
||||||
|
+ gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ pwr {
|
||||||
|
+ label = "PWR";
|
||||||
|
+ gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
|
||||||
|
+ default-state = "keep";
|
||||||
|
+ linux,default-trigger = "default-on";
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ wifi_pwrseq: wifi-pwrseq {
|
||||||
|
+ compatible = "mmc-pwrseq-simple";
|
||||||
|
+ reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ sd_io_1v8_reg: sd_io_1v8_reg {
|
||||||
|
+ compatible = "regulator-gpio";
|
||||||
|
+ regulator-name = "vdd-sd-io";
|
||||||
|
+ regulator-min-microvolt = <1800000>;
|
||||||
|
+ regulator-max-microvolt = <3300000>;
|
||||||
|
+ regulator-boot-on;
|
||||||
|
+ regulator-always-on;
|
||||||
|
+ regulator-settling-time-us = <5000>;
|
||||||
|
+ gpios = <&expgpio 4 GPIO_ACTIVE_HIGH>;
|
||||||
|
+ states = <1800000 0x1
|
||||||
|
+ 3300000 0x0>;
|
||||||
|
+ status = "okay";
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ sd_vcc_reg: sd_vcc_reg {
|
||||||
|
+ compatible = "regulator-fixed";
|
||||||
|
+ regulator-name = "vcc-sd";
|
||||||
|
+ regulator-min-microvolt = <3300000>;
|
||||||
|
+ regulator-max-microvolt = <3300000>;
|
||||||
|
+ regulator-boot-on;
|
||||||
|
+ enable-active-high;
|
||||||
|
+ gpio = <&expgpio 6 GPIO_ACTIVE_HIGH>;
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&ddc0 {
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&ddc1 {
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&firmware {
|
||||||
|
+ expgpio: gpio {
|
||||||
|
+ compatible = "raspberrypi,firmware-gpio";
|
||||||
|
+ gpio-controller;
|
||||||
|
+ #gpio-cells = <2>;
|
||||||
|
+ gpio-line-names = "BT_ON",
|
||||||
|
+ "WL_ON",
|
||||||
|
+ "PWR_LED_OFF",
|
||||||
|
+ "ANT1",
|
||||||
|
+ "VDD_SD_IO_SEL",
|
||||||
|
+ "CAM_GPIO",
|
||||||
|
+ "SD_PWR_ON",
|
||||||
|
+ "ANT2";
|
||||||
|
+ status = "okay";
|
||||||
|
+
|
||||||
|
+ ant1: ant1 {
|
||||||
|
+ gpio-hog;
|
||||||
|
+ gpios = <3 GPIO_ACTIVE_HIGH>;
|
||||||
|
+ output-high;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ ant2: ant2 {
|
||||||
|
+ gpio-hog;
|
||||||
|
+ gpios = <7 GPIO_ACTIVE_HIGH>;
|
||||||
|
+ output-low;
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&gpio {
|
||||||
|
+ /*
|
||||||
|
+ * Parts taken from rpi_SCH_4b_4p0_reduced.pdf and
|
||||||
|
+ * the official GPU firmware DT blob.
|
||||||
|
+ *
|
||||||
|
+ * Legend:
|
||||||
|
+ * "FOO" = GPIO line named "FOO" on the schematic
|
||||||
|
+ * "FOO_N" = GPIO line named "FOO" on schematic, active low
|
||||||
|
+ */
|
||||||
|
+ gpio-line-names = "ID_SDA",
|
||||||
|
+ "ID_SCL",
|
||||||
|
+ "SDA1",
|
||||||
|
+ "SCL1",
|
||||||
|
+ "GPIO_GCLK",
|
||||||
|
+ "GPIO5",
|
||||||
|
+ "GPIO6",
|
||||||
|
+ "SPI_CE1_N",
|
||||||
|
+ "SPI_CE0_N",
|
||||||
|
+ "SPI_MISO",
|
||||||
|
+ "SPI_MOSI",
|
||||||
|
+ "SPI_SCLK",
|
||||||
|
+ "GPIO12",
|
||||||
|
+ "GPIO13",
|
||||||
|
+ /* Serial port */
|
||||||
|
+ "TXD1",
|
||||||
|
+ "RXD1",
|
||||||
|
+ "GPIO16",
|
||||||
|
+ "GPIO17",
|
||||||
|
+ "GPIO18",
|
||||||
|
+ "GPIO19",
|
||||||
|
+ "GPIO20",
|
||||||
|
+ "GPIO21",
|
||||||
|
+ "GPIO22",
|
||||||
|
+ "GPIO23",
|
||||||
|
+ "GPIO24",
|
||||||
|
+ "GPIO25",
|
||||||
|
+ "GPIO26",
|
||||||
|
+ "GPIO27",
|
||||||
|
+ "RGMII_MDIO",
|
||||||
|
+ "RGMIO_MDC",
|
||||||
|
+ /* Used by BT module */
|
||||||
|
+ "CTS0",
|
||||||
|
+ "RTS0",
|
||||||
|
+ "TXD0",
|
||||||
|
+ "RXD0",
|
||||||
|
+ /* Used by Wifi */
|
||||||
|
+ "SD1_CLK",
|
||||||
|
+ "SD1_CMD",
|
||||||
|
+ "SD1_DATA0",
|
||||||
|
+ "SD1_DATA1",
|
||||||
|
+ "SD1_DATA2",
|
||||||
|
+ "SD1_DATA3",
|
||||||
|
+ /* Shared with SPI flash */
|
||||||
|
+ "PWM0_MISO",
|
||||||
|
+ "PWM1_MOSI",
|
||||||
|
+ "STATUS_LED_G_CLK",
|
||||||
|
+ "SPIFLASH_CE_N",
|
||||||
|
+ "SDA0",
|
||||||
|
+ "SCL0",
|
||||||
|
+ "RGMII_RXCLK",
|
||||||
|
+ "RGMII_RXCTL",
|
||||||
|
+ "RGMII_RXD0",
|
||||||
|
+ "RGMII_RXD1",
|
||||||
|
+ "RGMII_RXD2",
|
||||||
|
+ "RGMII_RXD3",
|
||||||
|
+ "RGMII_TXCLK",
|
||||||
|
+ "RGMII_TXCTL",
|
||||||
|
+ "RGMII_TXD0",
|
||||||
|
+ "RGMII_TXD1",
|
||||||
|
+ "RGMII_TXD2",
|
||||||
|
+ "RGMII_TXD3";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&hdmi0 {
|
||||||
|
+ clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 0>, <&clk_27MHz>;
|
||||||
|
+ clock-names = "hdmi", "bvb", "audio", "cec";
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&hdmi1 {
|
||||||
|
+ clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>;
|
||||||
|
+ clock-names = "hdmi", "bvb", "audio", "cec";
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&hvs {
|
||||||
|
+ clocks = <&firmware_clocks 4>;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&pixelvalve0 {
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&pixelvalve1 {
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&pixelvalve2 {
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&pixelvalve4 {
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&vc4 {
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&vec {
|
||||||
|
+ status = "disabled";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&pwm1 {
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&pwm1_0_gpio40 &pwm1_1_gpio41>;
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+/* SDHCI is used to control the SDIO for wireless */
|
||||||
|
+&sdhci {
|
||||||
|
+ #address-cells = <1>;
|
||||||
|
+ #size-cells = <0>;
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&emmc_gpio34>;
|
||||||
|
+ bus-width = <4>;
|
||||||
|
+ non-removable;
|
||||||
|
+ mmc-pwrseq = <&wifi_pwrseq>;
|
||||||
|
+ status = "okay";
|
||||||
|
+
|
||||||
|
+ brcmf: wifi@1 {
|
||||||
|
+ reg = <1>;
|
||||||
|
+ compatible = "brcm,bcm4329-fmac";
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+/* EMMC2 is used to drive the EMMC card */
|
||||||
|
+&emmc2 {
|
||||||
|
+ bus-width = <8>;
|
||||||
|
+ vqmmc-supply = <&sd_io_1v8_reg>;
|
||||||
|
+ vmmc-supply = <&sd_vcc_reg>;
|
||||||
|
+ broken-cd;
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&genet {
|
||||||
|
+ phy-handle = <&phy1>;
|
||||||
|
+ phy-mode = "rgmii-rxid";
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&genet_mdio {
|
||||||
|
+ phy1: ethernet-phy@1 {
|
||||||
|
+ /* No PHY interrupt */
|
||||||
|
+ reg = <0x1>;
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+/* uart0 communicates with the BT module */
|
||||||
|
+&uart0 {
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32>;
|
||||||
|
+ uart-has-rtscts;
|
||||||
|
+ status = "okay";
|
||||||
|
+
|
||||||
|
+ bluetooth {
|
||||||
|
+ compatible = "brcm,bcm43438-bt";
|
||||||
|
+ max-speed = <2000000>;
|
||||||
|
+ shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+/* uart1 is mapped to the pin header */
|
||||||
|
+&uart1 {
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&uart1_gpio14>;
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&vchiq {
|
||||||
|
+ interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+// =============================================
|
||||||
|
+// Downstream rpi- changes
|
||||||
|
+
|
||||||
|
+#define BCM2711
|
||||||
|
+
|
||||||
|
+#include "bcm270x.dtsi"
|
||||||
|
+#include "bcm271x-rpi-bt.dtsi"
|
||||||
|
+
|
||||||
|
+/ {
|
||||||
|
+ soc {
|
||||||
|
+ /delete-node/ pixelvalve@7e807000;
|
||||||
|
+ /delete-node/ hdmi@7e902000;
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+#include "bcm2711-rpi.dtsi"
|
||||||
|
+#include "bcm283x-rpi-csi0-2lane.dtsi"
|
||||||
|
+#include "bcm283x-rpi-csi1-4lane.dtsi"
|
||||||
|
+#include "bcm283x-rpi-i2c0mux_0_44.dtsi"
|
||||||
|
+
|
||||||
|
+/ {
|
||||||
|
+ chosen {
|
||||||
|
+ bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1";
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ aliases {
|
||||||
|
+ serial0 = &uart1;
|
||||||
|
+ serial1 = &uart0;
|
||||||
|
+ mmc0 = &emmc2;
|
||||||
|
+ mmc1 = &mmcnr;
|
||||||
|
+ mmc2 = &sdhost;
|
||||||
|
+ /delete-property/ i2c2;
|
||||||
|
+ i2c3 = &i2c3;
|
||||||
|
+ i2c4 = &i2c4;
|
||||||
|
+ i2c5 = &i2c5;
|
||||||
|
+ i2c6 = &i2c6;
|
||||||
|
+ /delete-property/ intc;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ /delete-node/ wifi-pwrseq;
|
||||||
|
+
|
||||||
|
+ cam0_reg: cam1_reg: cam1_reg {
|
||||||
|
+ compatible = "regulator-fixed";
|
||||||
|
+ regulator-name = "cam1-reg";
|
||||||
|
+ gpio = <&expgpio 5 GPIO_ACTIVE_HIGH>;
|
||||||
|
+ enable-active-high;
|
||||||
|
+ status = "disabled";
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&mmcnr {
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&sdio_pins>;
|
||||||
|
+ bus-width = <4>;
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&uart0 {
|
||||||
|
+ pinctrl-0 = <&uart0_pins &bt_pins>;
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&uart1 {
|
||||||
|
+ pinctrl-0 = <&uart1_pins>;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&spi0 {
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&spi0_pins &spi0_cs_pins>;
|
||||||
|
+ cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
|
||||||
|
+
|
||||||
|
+ spidev0: spidev@0{
|
||||||
|
+ compatible = "spidev";
|
||||||
|
+ reg = <0>; /* CE0 */
|
||||||
|
+ #address-cells = <1>;
|
||||||
|
+ #size-cells = <0>;
|
||||||
|
+ spi-max-frequency = <125000000>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ spidev1: spidev@1{
|
||||||
|
+ compatible = "spidev";
|
||||||
|
+ reg = <1>; /* CE1 */
|
||||||
|
+ #address-cells = <1>;
|
||||||
|
+ #size-cells = <0>;
|
||||||
|
+ spi-max-frequency = <125000000>;
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&gpio {
|
||||||
|
+ spi0_pins: spi0_pins {
|
||||||
|
+ brcm,pins = <9 10 11>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ spi0_cs_pins: spi0_cs_pins {
|
||||||
|
+ brcm,pins = <8 7>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_GPIO_OUT>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ spi3_pins: spi3_pins {
|
||||||
|
+ brcm,pins = <1 2 3>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ spi3_cs_pins: spi3_cs_pins {
|
||||||
|
+ brcm,pins = <0 24>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_GPIO_OUT>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ spi4_pins: spi4_pins {
|
||||||
|
+ brcm,pins = <5 6 7>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ spi4_cs_pins: spi4_cs_pins {
|
||||||
|
+ brcm,pins = <4 25>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_GPIO_OUT>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ spi5_pins: spi5_pins {
|
||||||
|
+ brcm,pins = <13 14 15>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ spi5_cs_pins: spi5_cs_pins {
|
||||||
|
+ brcm,pins = <12 26>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_GPIO_OUT>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ spi6_pins: spi6_pins {
|
||||||
|
+ brcm,pins = <19 20 21>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ spi6_cs_pins: spi6_cs_pins {
|
||||||
|
+ brcm,pins = <18 27>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_GPIO_OUT>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ i2c0_pins: i2c0 {
|
||||||
|
+ brcm,pins = <0 1>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||||
|
+ brcm,pull = <BCM2835_PUD_UP>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ i2c1_pins: i2c1 {
|
||||||
|
+ brcm,pins = <2 3>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||||
|
+ brcm,pull = <BCM2835_PUD_UP>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ i2c3_pins: i2c3 {
|
||||||
|
+ brcm,pins = <4 5>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||||||
|
+ brcm,pull = <BCM2835_PUD_UP>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ i2c4_pins: i2c4 {
|
||||||
|
+ brcm,pins = <8 9>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||||||
|
+ brcm,pull = <BCM2835_PUD_UP>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ i2c5_pins: i2c5 {
|
||||||
|
+ brcm,pins = <12 13>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||||||
|
+ brcm,pull = <BCM2835_PUD_UP>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ i2c6_pins: i2c6 {
|
||||||
|
+ brcm,pins = <22 23>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_ALT5>;
|
||||||
|
+ brcm,pull = <BCM2835_PUD_UP>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ i2s_pins: i2s {
|
||||||
|
+ brcm,pins = <18 19 20 21>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ sdio_pins: sdio_pins {
|
||||||
|
+ brcm,pins = <34 35 36 37 38 39>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_ALT3>; // alt3 = SD1
|
||||||
|
+ brcm,pull = <0 2 2 2 2 2>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ bt_pins: bt_pins {
|
||||||
|
+ brcm,pins = "-"; // non-empty to keep btuart happy, //4 = 0
|
||||||
|
+ // to fool pinctrl
|
||||||
|
+ brcm,function = <0>;
|
||||||
|
+ brcm,pull = <2>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ uart0_pins: uart0_pins {
|
||||||
|
+ brcm,pins = <32 33>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_ALT3>;
|
||||||
|
+ brcm,pull = <0 2>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ uart1_pins: uart1_pins {
|
||||||
|
+ brcm,pins;
|
||||||
|
+ brcm,function;
|
||||||
|
+ brcm,pull;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ uart2_pins: uart2_pins {
|
||||||
|
+ brcm,pins = <0 1>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_ALT4>;
|
||||||
|
+ brcm,pull = <0 2>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ uart3_pins: uart3_pins {
|
||||||
|
+ brcm,pins = <4 5>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_ALT4>;
|
||||||
|
+ brcm,pull = <0 2>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ uart4_pins: uart4_pins {
|
||||||
|
+ brcm,pins = <8 9>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_ALT4>;
|
||||||
|
+ brcm,pull = <0 2>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ uart5_pins: uart5_pins {
|
||||||
|
+ brcm,pins = <12 13>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_ALT4>;
|
||||||
|
+ brcm,pull = <0 2>;
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&i2c0if {
|
||||||
|
+ clock-frequency = <100000>;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&i2c1 {
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&i2c1_pins>;
|
||||||
|
+ clock-frequency = <100000>;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&i2s {
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&i2s_pins>;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+/ {
|
||||||
|
+ __overrides__ {
|
||||||
|
+ /delete-property/ i2c2_baudrate;
|
||||||
|
+ /delete-property/ i2c2_iknowwhatimdoing;
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+// =============================================
|
||||||
|
+// Board specific stuff here
|
||||||
|
+
|
||||||
|
+&pcie0 {
|
||||||
|
+ brcm,enable-l1ss;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&sdhost {
|
||||||
|
+ status = "disabled";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&phy1 {
|
||||||
|
+ led-modes = <0x00 0x08>; /* link/activity link */
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&gpio {
|
||||||
|
+ audio_pins: audio_pins {
|
||||||
|
+ brcm,pins = <>;
|
||||||
|
+ brcm,function = <>;
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&leds {
|
||||||
|
+ act_led: act {
|
||||||
|
+ label = "led0";
|
||||||
|
+ linux,default-trigger = "mmc0";
|
||||||
|
+ gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ pwr_led: pwr {
|
||||||
|
+ label = "led1";
|
||||||
|
+ linux,default-trigger = "default-on";
|
||||||
|
+ gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&pwm1 {
|
||||||
|
+ status = "disabled";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+&audio {
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&audio_pins>;
|
||||||
|
+ brcm,disable-headphones = <1>;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+/ {
|
||||||
|
+ __overrides__ {
|
||||||
|
+ act_led_gpio = <&act_led>,"gpios:4";
|
||||||
|
+ act_led_activelow = <&act_led>,"gpios:8";
|
||||||
|
+ act_led_trigger = <&act_led>,"linux,default-trigger";
|
||||||
|
+
|
||||||
|
+ pwr_led_gpio = <&pwr_led>,"gpios:4";
|
||||||
|
+ pwr_led_activelow = <&pwr_led>,"gpios:8";
|
||||||
|
+ pwr_led_trigger = <&pwr_led>,"linux,default-trigger";
|
||||||
|
+
|
||||||
|
+ eth_led0 = <&phy1>,"led-modes:0";
|
||||||
|
+ eth_led1 = <&phy1>,"led-modes:4";
|
||||||
|
+
|
||||||
|
+ ant1 = <&ant1>,"output-high?=on",
|
||||||
|
+ <&ant1>, "output-low?=off",
|
||||||
|
+ <&ant2>, "output-high?=off",
|
||||||
|
+ <&ant2>, "output-low?=on";
|
||||||
|
+ ant2 = <&ant1>,"output-high?=off",
|
||||||
|
+ <&ant1>, "output-low?=on",
|
||||||
|
+ <&ant2>, "output-high?=on",
|
||||||
|
+ <&ant2>, "output-low?=off";
|
||||||
|
+ noant = <&ant1>,"output-high?=off",
|
||||||
|
+ <&ant1>, "output-low?=on",
|
||||||
|
+ <&ant2>, "output-high?=off",
|
||||||
|
+ <&ant2>, "output-low?=on";
|
||||||
|
+
|
||||||
|
+ sd_poll_once = <&emmc2>, "non-removable?";
|
||||||
|
+ spi_dma4 = <&spi0>, "dmas:0=", <&dma40>,
|
||||||
|
+ <&spi0>, "dmas:8=", <&dma40>;
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile
|
||||||
|
index 69809bf2f45d..aef509d06d14 100644
|
||||||
|
--- a/arch/arm64/boot/dts/broadcom/Makefile
|
||||||
|
+++ b/arch/arm64/boot/dts/broadcom/Makefile
|
||||||
|
@@ -10,6 +10,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-4-b.dtb
|
||||||
|
dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-400.dtb
|
||||||
|
dtb-$(CONFIG_ARCH_BCM2835) += bcm2710-rpi-cm3.dtb
|
||||||
|
dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-cm4.dtb
|
||||||
|
+dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-cm4-ha-amber.dtb
|
||||||
|
|
||||||
|
subdir-y += northstar2
|
||||||
|
subdir-y += stingray
|
||||||
|
diff --git a/arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-ha-amber.dts b/arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000000..728975338bf0
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
@@ -0,0 +1 @@
|
||||||
|
+#include "../../../../arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts"
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
@ -0,0 +1,58 @@
|
|||||||
|
From 0113b0cf3e1e1d64234a3674a159e3af6f082000 Mon Sep 17 00:00:00 2001
|
||||||
|
Message-Id: <0113b0cf3e1e1d64234a3674a159e3af6f082000.1633341968.git.stefan@agner.ch>
|
||||||
|
In-Reply-To: <4000c39e3084ea0bdd76173fda310b6c32fd4734.1633341968.git.stefan@agner.ch>
|
||||||
|
References: <4000c39e3084ea0bdd76173fda310b6c32fd4734.1633341968.git.stefan@agner.ch>
|
||||||
|
From: Stefan Agner <stefan@agner.ch>
|
||||||
|
Date: Thu, 4 Mar 2021 14:33:09 +0100
|
||||||
|
Subject: [PATCH 2/6] ARM: dts: bcm2711: amber: Mux UART4 for SiLabs radio
|
||||||
|
module
|
||||||
|
|
||||||
|
Enable UART4 by default and mux pins including hardware flow control.
|
||||||
|
|
||||||
|
Signed-off-by: Stefan Agner <stefan@agner.ch>
|
||||||
|
---
|
||||||
|
arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts | 13 +++++++++++--
|
||||||
|
1 file changed, 11 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
index 11d8f87ac6d3..48a56bf7e3d8 100644
|
||||||
|
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
@@ -19,6 +19,7 @@ memory@0 {
|
||||||
|
};
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
+ serial4 = &uart4;
|
||||||
|
emmc2bus = &emmc2bus;
|
||||||
|
ethernet0 = &genet;
|
||||||
|
pcie0 = &pcie0;
|
||||||
|
@@ -283,6 +284,14 @@ &uart1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
+/* uart4 for Zigbee */
|
||||||
|
+&uart4 {
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&uart4_pins>;
|
||||||
|
+ uart-has-rtscts;
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
&vchiq {
|
||||||
|
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
};
|
||||||
|
@@ -505,9 +514,9 @@ uart3_pins: uart3_pins {
|
||||||
|
};
|
||||||
|
|
||||||
|
uart4_pins: uart4_pins {
|
||||||
|
- brcm,pins = <8 9>;
|
||||||
|
+ brcm,pins = <8 9 10 11>;
|
||||||
|
brcm,function = <BCM2835_FSEL_ALT4>;
|
||||||
|
- brcm,pull = <0 2>;
|
||||||
|
+ brcm,pull = <0 2 2 0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
uart5_pins: uart5_pins {
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
@ -0,0 +1,51 @@
|
|||||||
|
From c9f08bb9ed2f72ec76651552e85c4fa5ccbab6f3 Mon Sep 17 00:00:00 2001
|
||||||
|
Message-Id: <c9f08bb9ed2f72ec76651552e85c4fa5ccbab6f3.1633341968.git.stefan@agner.ch>
|
||||||
|
In-Reply-To: <4000c39e3084ea0bdd76173fda310b6c32fd4734.1633341968.git.stefan@agner.ch>
|
||||||
|
References: <4000c39e3084ea0bdd76173fda310b6c32fd4734.1633341968.git.stefan@agner.ch>
|
||||||
|
From: Stefan Agner <stefan@agner.ch>
|
||||||
|
Date: Thu, 4 Mar 2021 14:44:23 +0100
|
||||||
|
Subject: [PATCH 3/6] ARM: dts: bcm2711: amber: Mux debug UART5
|
||||||
|
|
||||||
|
Signed-off-by: Stefan Agner <stefan@agner.ch>
|
||||||
|
---
|
||||||
|
arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts | 10 +++++++++-
|
||||||
|
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
index 48a56bf7e3d8..f0f83ff79882 100644
|
||||||
|
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
@@ -9,7 +9,7 @@ / {
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
/* 8250 auxiliary UART instead of pl011 */
|
||||||
|
- stdout-path = "serial1:115200n8";
|
||||||
|
+ stdout-path = "serial5:115200n8";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Will be filled by the bootloader */
|
||||||
|
@@ -20,6 +20,7 @@ memory@0 {
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
serial4 = &uart4;
|
||||||
|
+ serial5 = &uart5;
|
||||||
|
emmc2bus = &emmc2bus;
|
||||||
|
ethernet0 = &genet;
|
||||||
|
pcie0 = &pcie0;
|
||||||
|
@@ -292,6 +293,13 @@ &uart4 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
+/* uart5 default Debug UART */
|
||||||
|
+&uart5 {
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&uart5_pins>;
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
&vchiq {
|
||||||
|
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
};
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
@ -0,0 +1,35 @@
|
|||||||
|
From e6388d4f1c27666f14a5b78f190659fa7ebfdffc Mon Sep 17 00:00:00 2001
|
||||||
|
Message-Id: <e6388d4f1c27666f14a5b78f190659fa7ebfdffc.1633341968.git.stefan@agner.ch>
|
||||||
|
In-Reply-To: <4000c39e3084ea0bdd76173fda310b6c32fd4734.1633341968.git.stefan@agner.ch>
|
||||||
|
References: <4000c39e3084ea0bdd76173fda310b6c32fd4734.1633341968.git.stefan@agner.ch>
|
||||||
|
From: Stefan Agner <stefan@agner.ch>
|
||||||
|
Date: Thu, 4 Mar 2021 14:48:48 +0100
|
||||||
|
Subject: [PATCH 4/6] ARM: dts: bcm2711: amber: Enable I2C6 by default
|
||||||
|
|
||||||
|
The main I2C bus used on Amber is I2C6. Enable it by default.
|
||||||
|
|
||||||
|
Signed-off-by: Stefan Agner <stefan@agner.ch>
|
||||||
|
---
|
||||||
|
arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts | 6 ++++++
|
||||||
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
index f0f83ff79882..c4b0432b81a4 100644
|
||||||
|
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
@@ -544,6 +544,12 @@ &i2c1 {
|
||||||
|
clock-frequency = <100000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
+&i2c6 {
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&i2c6_pins>;
|
||||||
|
+ status = "okay";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
&i2s {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&i2s_pins>;
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
@ -0,0 +1,67 @@
|
|||||||
|
From b56cab462d92c755a34dc4bb4d901fb86cf81a5b Mon Sep 17 00:00:00 2001
|
||||||
|
Message-Id: <b56cab462d92c755a34dc4bb4d901fb86cf81a5b.1633341968.git.stefan@agner.ch>
|
||||||
|
In-Reply-To: <4000c39e3084ea0bdd76173fda310b6c32fd4734.1633341968.git.stefan@agner.ch>
|
||||||
|
References: <4000c39e3084ea0bdd76173fda310b6c32fd4734.1633341968.git.stefan@agner.ch>
|
||||||
|
From: Stefan Agner <stefan@agner.ch>
|
||||||
|
Date: Thu, 4 Mar 2021 17:19:01 +0100
|
||||||
|
Subject: [PATCH 5/6] ARM: dts: bcm2711: amber: add I2S audio codec
|
||||||
|
|
||||||
|
Add TI PCM5122 I2S audio codec.
|
||||||
|
|
||||||
|
Signed-off-by: Stefan Agner <stefan@agner.ch>
|
||||||
|
---
|
||||||
|
.../arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts | 26 +++++++++++++++++++
|
||||||
|
1 file changed, 26 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
index c4b0432b81a4..8d8d31a2fafb 100644
|
||||||
|
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
@@ -548,11 +548,22 @@ &i2c6 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&i2c6_pins>;
|
||||||
|
status = "okay";
|
||||||
|
+
|
||||||
|
+ card_codec: pcm5121@4c {
|
||||||
|
+ #sound-dai-cells = <0>;
|
||||||
|
+ compatible = "ti,pcm5121";
|
||||||
|
+ reg = <0x4c>;
|
||||||
|
+ AVDD-supply = <&vdd_3v3_reg>;
|
||||||
|
+ DVDD-supply = <&vdd_3v3_reg>;
|
||||||
|
+ CPVDD-supply = <&vdd_3v3_reg>;
|
||||||
|
+ status = "okay";
|
||||||
|
+ };
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2s {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&i2s_pins>;
|
||||||
|
+ status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
/ {
|
||||||
|
@@ -602,6 +613,21 @@ &pwm1 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
+&sound {
|
||||||
|
+ compatible = "simple-audio-card";
|
||||||
|
+ simple-audio-card,format = "i2s";
|
||||||
|
+ simple-audio-card,name = "pcm5521-sound";
|
||||||
|
+ status = "okay";
|
||||||
|
+
|
||||||
|
+ simple-audio-card,cpu {
|
||||||
|
+ sound-dai = <&i2s>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ dailink0_slave: simple-audio-card,codec {
|
||||||
|
+ sound-dai = <&card_codec>;
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
&audio {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&audio_pins>;
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
@ -0,0 +1,71 @@
|
|||||||
|
From 5d8c4f62c8e254380b9cb83f22fa035311bc3bfb Mon Sep 17 00:00:00 2001
|
||||||
|
Message-Id: <5d8c4f62c8e254380b9cb83f22fa035311bc3bfb.1633341968.git.stefan@agner.ch>
|
||||||
|
In-Reply-To: <4000c39e3084ea0bdd76173fda310b6c32fd4734.1633341968.git.stefan@agner.ch>
|
||||||
|
References: <4000c39e3084ea0bdd76173fda310b6c32fd4734.1633341968.git.stefan@agner.ch>
|
||||||
|
From: Stefan Agner <stefan@agner.ch>
|
||||||
|
Date: Tue, 9 Mar 2021 15:02:53 +0100
|
||||||
|
Subject: [PATCH 6/6] ARM: dts: bcm2711: amber: enable GPIO keys
|
||||||
|
|
||||||
|
Signed-off-by: Stefan Agner <stefan@agner.ch>
|
||||||
|
---
|
||||||
|
.../arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts | 30 +++++++++++++++++++
|
||||||
|
1 file changed, 30 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
index 8d8d31a2fafb..7badb6073729 100644
|
||||||
|
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-amber.dts
|
||||||
|
@@ -2,6 +2,7 @@
|
||||||
|
/dts-v1/;
|
||||||
|
#include "bcm2711.dtsi"
|
||||||
|
#include "bcm2835-rpi.dtsi"
|
||||||
|
+#include <dt-bindings/input/input.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
compatible = "raspberrypi,4-compute-module-ha-amber", "brcm,bcm2711";
|
||||||
|
@@ -26,6 +27,29 @@ aliases {
|
||||||
|
pcie0 = &pcie0;
|
||||||
|
};
|
||||||
|
|
||||||
|
+ keys: gpio-keys {
|
||||||
|
+ compatible = "gpio-keys";
|
||||||
|
+
|
||||||
|
+ pinctrl-names = "default";
|
||||||
|
+ pinctrl-0 = <&gpio_button_pins>;
|
||||||
|
+
|
||||||
|
+ status = "okay";
|
||||||
|
+
|
||||||
|
+ power {
|
||||||
|
+ label = "Power Button";
|
||||||
|
+ linux,code = <KEY_POWER>;
|
||||||
|
+ gpios = <&gpio 26 GPIO_ACTIVE_LOW>;
|
||||||
|
+ debounce-interval = <100>; // ms
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ user {
|
||||||
|
+ label = "User Button";
|
||||||
|
+ linux,code = <KEY_MACRO>;
|
||||||
|
+ gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
|
||||||
|
+ debounce-interval = <100>; // ms
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
leds {
|
||||||
|
act {
|
||||||
|
gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
|
||||||
|
@@ -393,6 +417,12 @@ spidev1: spidev@1{
|
||||||
|
};
|
||||||
|
|
||||||
|
&gpio {
|
||||||
|
+ gpio_button_pins: gpio_button_pins {
|
||||||
|
+ brcm,pins = <26 27>;
|
||||||
|
+ brcm,function = <BCM2835_FSEL_GPIO_IN>;
|
||||||
|
+ brcm,pull = <BCM2835_PUD_UP>;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
spi0_pins: spi0_pins {
|
||||||
|
brcm,pins = <9 10 11>;
|
||||||
|
brcm,function = <BCM2835_FSEL_ALT0>;
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
79
buildroot-external/board/raspberrypi/amber/uboot-boot64.ush
Normal file
79
buildroot-external/board/raspberrypi/amber/uboot-boot64.ush
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
|
||||||
|
part start ${devtype} ${devnum} 6 dev_env
|
||||||
|
${devtype} dev ${devnum}
|
||||||
|
|
||||||
|
setenv loadbootstate " \
|
||||||
|
echo 'loading env...'; \
|
||||||
|
${devtype} read ${ramdisk_addr_r} ${dev_env} 0x20; \
|
||||||
|
env import -c ${ramdisk_addr_r} 0x4000;"
|
||||||
|
|
||||||
|
setenv storebootstate " \
|
||||||
|
echo 'storing env...'; \
|
||||||
|
env export -c -s 0x4000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT MACHINE_ID; \
|
||||||
|
${devtype} write ${ramdisk_addr_r} ${dev_env} 0x20;"
|
||||||
|
|
||||||
|
run loadbootstate
|
||||||
|
test -n "${BOOT_ORDER}" || setenv BOOT_ORDER "A B"
|
||||||
|
test -n "${BOOT_A_LEFT}" || setenv BOOT_A_LEFT 3
|
||||||
|
test -n "${BOOT_B_LEFT}" || setenv BOOT_B_LEFT 3
|
||||||
|
|
||||||
|
# HassOS bootargs
|
||||||
|
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor rootwait systemd.machine_id=${MACHINE_ID} cgroup_enable=memory fsck.repair=yes"
|
||||||
|
|
||||||
|
if gpio input GPIO27; then
|
||||||
|
sleep 1
|
||||||
|
if gpio input GPIO27; then
|
||||||
|
echo "Device wipe button has been pressed, setting wipe flag..."
|
||||||
|
setenv bootargs_hassos "${bootargs_hassos} haos.wipe=1"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# HassOS system A/B
|
||||||
|
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro"
|
||||||
|
setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 rootfstype=squashfs ro"
|
||||||
|
|
||||||
|
# Preserve origin bootargs
|
||||||
|
setenv bootargs_rpi
|
||||||
|
setenv fdt_org ${fdt_addr}
|
||||||
|
fdt addr ${fdt_org}
|
||||||
|
fdt get value bootargs_rpi /chosen bootargs
|
||||||
|
|
||||||
|
setenv bootargs
|
||||||
|
for BOOT_SLOT in "${BOOT_ORDER}"; do
|
||||||
|
if test "x${bootargs}" != "x"; then
|
||||||
|
# skip remaining slots
|
||||||
|
elif test "x${BOOT_SLOT}" = "xA"; then
|
||||||
|
if test ${BOOT_A_LEFT} -gt 0; then
|
||||||
|
setexpr BOOT_A_LEFT ${BOOT_A_LEFT} - 1
|
||||||
|
echo "Trying to boot slot A, ${BOOT_A_LEFT} attempts remaining. Loading kernel ..."
|
||||||
|
if load ${devtype} ${devnum}:2 ${kernel_addr_r} Image; then
|
||||||
|
setenv bootargs "${bootargs_hassos} ${bootargs_rpi} ${bootargs_a} rauc.slot=A"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
elif test "x${BOOT_SLOT}" = "xB"; then
|
||||||
|
if test ${BOOT_B_LEFT} -gt 0; then
|
||||||
|
setexpr BOOT_B_LEFT ${BOOT_B_LEFT} - 1
|
||||||
|
echo "Trying to boot slot B, ${BOOT_B_LEFT} attempts remaining. Loading kernel ..."
|
||||||
|
if load ${devtype} ${devnum}:4 ${kernel_addr_r} Image; then
|
||||||
|
setenv bootargs "${bootargs_hassos} ${bootargs_rpi} ${bootargs_b} rauc.slot=B"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
setenv fdt_addr
|
||||||
|
if test -n "${bootargs}"; then
|
||||||
|
run storebootstate
|
||||||
|
else
|
||||||
|
echo "No valid slot found, resetting tries to 3"
|
||||||
|
setenv BOOT_A_LEFT 3
|
||||||
|
setenv BOOT_B_LEFT 3
|
||||||
|
run storebootstate
|
||||||
|
reset
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Starting kernel"
|
||||||
|
booti ${kernel_addr_r} - ${fdt_org}
|
||||||
|
|
||||||
|
echo "Boot failed, resetting..."
|
||||||
|
reset
|
2
buildroot-external/board/raspberrypi/amber/uboot.config
Normal file
2
buildroot-external/board/raspberrypi/amber/uboot.config
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
CONFIG_CMD_NVME=y
|
||||||
|
CONFIG_NVME=y
|
121
buildroot-external/configs/amber_defconfig
Normal file
121
buildroot-external/configs/amber_defconfig
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
BR2_aarch64=y
|
||||||
|
BR2_cortex_a72=y
|
||||||
|
BR2_ARM_FPU_NEON_VFPV4=y
|
||||||
|
BR2_DL_DIR="/cache/dl"
|
||||||
|
BR2_CCACHE=y
|
||||||
|
BR2_CCACHE_DIR="/cache/cc"
|
||||||
|
BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/amber/patches"
|
||||||
|
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
|
||||||
|
BR2_GCC_VERSION_9_X=y
|
||||||
|
BR2_OPTIMIZE_2=y
|
||||||
|
BR2_SSP_REGULAR=y
|
||||||
|
BR2_SSP_OPTION="-fstack-protector"
|
||||||
|
BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
||||||
|
BR2_BINUTILS_ENABLE_LTO=y
|
||||||
|
BR2_GCC_ENABLE_LTO=y
|
||||||
|
BR2_TARGET_GENERIC_HOSTNAME="homeassistant"
|
||||||
|
BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant"
|
||||||
|
BR2_INIT_SYSTEMD=y
|
||||||
|
# BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
|
||||||
|
BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_HASSOS_PATH)/rootfs-overlay $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rootfs-overlay"
|
||||||
|
BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-build.sh"
|
||||||
|
BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
|
||||||
|
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/amber $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh"
|
||||||
|
BR2_LINUX_KERNEL=y
|
||||||
|
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||||
|
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/1.20210928.tar.gz"
|
||||||
|
BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
|
||||||
|
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config"
|
||||||
|
BR2_LINUX_KERNEL_LZ4=y
|
||||||
|
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||||
|
BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-cm4-ha-amber"
|
||||||
|
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
|
||||||
|
BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y
|
||||||
|
BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config"
|
||||||
|
BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y
|
||||||
|
BR2_PACKAGE_PROCPS_NG=y
|
||||||
|
BR2_PACKAGE_JQ=y
|
||||||
|
BR2_PACKAGE_E2FSPROGS=y
|
||||||
|
BR2_PACKAGE_E2FSPROGS_E2IMAGE=y
|
||||||
|
BR2_PACKAGE_SQUASHFS=y
|
||||||
|
BR2_PACKAGE_OS_AGENT=y
|
||||||
|
BR2_PACKAGE_UDISKS2=y
|
||||||
|
# BR2_PACKAGE_LVM2_STANDARD_INSTALL is not set
|
||||||
|
BR2_PACKAGE_LINUX_FIRMWARE=y
|
||||||
|
BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y
|
||||||
|
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y
|
||||||
|
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
|
||||||
|
BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y
|
||||||
|
BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT=y
|
||||||
|
BR2_PACKAGE_LINUX_FIRMWARE_USB_SERIAL_TI=y
|
||||||
|
BR2_PACKAGE_RPI_FIRMWARE=y
|
||||||
|
BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
|
||||||
|
BR2_PACKAGE_RPI_WIFI_FIRMWARE=y
|
||||||
|
BR2_PACKAGE_GPTFDISK=y
|
||||||
|
BR2_PACKAGE_GPTFDISK_SGDISK=y
|
||||||
|
BR2_PACKAGE_UBOOT_TOOLS=y
|
||||||
|
BR2_PACKAGE_CA_CERTIFICATES=y
|
||||||
|
BR2_PACKAGE_LIBDNET=y
|
||||||
|
BR2_PACKAGE_LIBCGROUP=y
|
||||||
|
BR2_PACKAGE_LIBCGROUP_TOOLS=y
|
||||||
|
BR2_PACKAGE_BLUEZ5_UTILS=y
|
||||||
|
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
|
||||||
|
BR2_PACKAGE_DHCP=y
|
||||||
|
BR2_PACKAGE_DHCP_CLIENT=y
|
||||||
|
BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
|
||||||
|
BR2_PACKAGE_DROPBEAR=y
|
||||||
|
BR2_PACKAGE_DROPBEAR_CLIENT=y
|
||||||
|
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
||||||
|
BR2_PACKAGE_NETWORK_MANAGER=y
|
||||||
|
BR2_PACKAGE_WIRELESS_REGDB=y
|
||||||
|
BR2_PACKAGE_NVME=y
|
||||||
|
BR2_PACKAGE_STRESS_NG=y
|
||||||
|
BR2_PACKAGE_TINI=y
|
||||||
|
BR2_PACKAGE_DOCKER_ENGINE=y
|
||||||
|
BR2_PACKAGE_DOCKER_CLI=y
|
||||||
|
BR2_PACKAGE_RAUC=y
|
||||||
|
BR2_PACKAGE_RAUC_NETWORK=y
|
||||||
|
BR2_PACKAGE_RNG_TOOLS=y
|
||||||
|
# BR2_PACKAGE_SYSTEMD_HWDB is not set
|
||||||
|
# BR2_PACKAGE_SYSTEMD_NETWORKD is not set
|
||||||
|
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
|
||||||
|
BR2_PACKAGE_SYSTEMD_RESOLVED=y
|
||||||
|
BR2_PACKAGE_SYSTEMD_COREDUMP=y
|
||||||
|
BR2_PACKAGE_SYSTEMD_LOGIND=y
|
||||||
|
BR2_PACKAGE_UTIL_LINUX_PARTX=y
|
||||||
|
BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y
|
||||||
|
BR2_PACKAGE_UTIL_LINUX_LOGIN=y
|
||||||
|
BR2_PACKAGE_UTIL_LINUX_NOLOGIN=y
|
||||||
|
BR2_PACKAGE_UTIL_LINUX_SULOGIN=y
|
||||||
|
BR2_PACKAGE_USB_MODESWITCH=y
|
||||||
|
BR2_PACKAGE_USB_MODESWITCH_DATA=y
|
||||||
|
BR2_PACKAGE_INPUT_EVENT_DAEMON=y
|
||||||
|
BR2_TARGET_ROOTFS_SQUASHFS=y
|
||||||
|
BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y
|
||||||
|
# BR2_TARGET_ROOTFS_TAR is not set
|
||||||
|
BR2_TARGET_UBOOT=y
|
||||||
|
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
|
||||||
|
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
|
||||||
|
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10-rc5"
|
||||||
|
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_4"
|
||||||
|
BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/amber/uboot.config"
|
||||||
|
BR2_PACKAGE_HOST_UBOOT_TOOLS=y
|
||||||
|
BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y
|
||||||
|
BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/amber/uboot-boot64.ush"
|
||||||
|
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
|
||||||
|
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
||||||
|
BR2_PACKAGE_HOST_E2FSPROGS=y
|
||||||
|
BR2_PACKAGE_HOST_GPTFDISK=y
|
||||||
|
BR2_PACKAGE_HOST_MTOOLS=y
|
||||||
|
BR2_PACKAGE_HOST_RAUC=y
|
||||||
|
BR2_PACKAGE_HASSIO=y
|
||||||
|
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
||||||
|
BR2_PACKAGE_HASSIO_MACHINE="raspberrypi4-64"
|
||||||
|
BR2_PACKAGE_APPARMOR=y
|
||||||
|
BR2_PACKAGE_APPARMOR_PROFILES=y
|
||||||
|
BR2_PACKAGE_LIBCURL_CURL=y
|
||||||
|
BR2_PACKAGE_BLUETOOTH_BCM43XX=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
||||||
|
BR2_PACKAGE_RPI_RF_MOD=y
|
||||||
|
BR2_PACKAGE_RPI_RF_MOD_DTS=y
|
Loading…
x
Reference in New Issue
Block a user