diff --git a/external_tree/board/iminc/raspberrypi-4b-system-agent/config.tmpl.txt b/external_tree/board/iminc/raspberrypi-4b-system-agent/config.tmpl.txt index bb7403f..3ed456e 100644 --- a/external_tree/board/iminc/raspberrypi-4b-system-agent/config.tmpl.txt +++ b/external_tree/board/iminc/raspberrypi-4b-system-agent/config.tmpl.txt @@ -4,5 +4,11 @@ dtparam=spi=on # Add PCF8574A GPIO expander -dtoverlay=pcf8574a,addr=0x38,interrupt=22 +dtoverlay=i2c-pcf8574a,addr=0x38,interrupt=22 + +# Add DS3231 driver +dtoverlay=i2c-rtc,ds3231 + +# Add BME280 sensor +dtoverlay=i2c-bme280,addr=0x76 diff --git a/external_tree/board/iminc/raspberrypi-4b-system-agent/overlays/i2c-bme280.dts b/external_tree/board/iminc/raspberrypi-4b-system-agent/overlays/i2c-bme280.dts new file mode 100644 index 0000000..813c109 --- /dev/null +++ b/external_tree/board/iminc/raspberrypi-4b-system-agent/overlays/i2c-bme280.dts @@ -0,0 +1,25 @@ +// Device tree overlay for I2C connected BME280 DHT sensor. +/dts-v1/; +/plugin/; + +/ { + compatible = "brcm,bcm2835"; + + fragment@0 { + target = <&i2c1>; + __overlay__ { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + bme280: bme280@76 { + compatible = "bosch,bme280"; + reg = <0x76>; + }; + }; + }; + + __overrides__ { + addr = <&bme280>,"reg:0"; + }; +}; diff --git a/external_tree/board/iminc/raspberrypi-4b-system-agent/overlays/pcf8574a.dts b/external_tree/board/iminc/raspberrypi-4b-system-agent/overlays/i2c-pcf8574a.dts similarity index 74% rename from external_tree/board/iminc/raspberrypi-4b-system-agent/overlays/pcf8574a.dts rename to external_tree/board/iminc/raspberrypi-4b-system-agent/overlays/i2c-pcf8574a.dts index 691a533..9168d81 100644 --- a/external_tree/board/iminc/raspberrypi-4b-system-agent/overlays/pcf8574a.dts +++ b/external_tree/board/iminc/raspberrypi-4b-system-agent/overlays/i2c-pcf8574a.dts @@ -1,4 +1,4 @@ -// Device tree overlay for I2C connected Goodix gt9271 multiple touch controller +// Device tree overlay for I2C connected PCF8574AT GPIO expander /dts-v1/; /plugin/; @@ -9,8 +9,8 @@ target = <&gpio>; __overlay__ { pcf8574a_pins: pcf8574a_pins { - brcm,pins = <4>; // interrupt and reset - brcm,function = <0>; // in + brcm,pins = <22>; // IRQ + brcm,function = <0>; // input brcm,pull = <2>; // pull-up }; }; @@ -33,8 +33,8 @@ interrupt-parent = <&gpio>; interrupt-controller; #interrupt-cells = <2>; - interrupts = <4>; // high-to-low edge triggered - irq-gpios = <&gpio 4>; // Pin7 on GPIO header + interrupts = <22 2>; // GPIO 22, falling edge triggered. + irq-gpios = <&gpio 22 1>; // GPIO 22, on 40p header. }; }; }; diff --git a/external_tree/board/iminc/raspberrypi-4b-system-agent/post-image.sh b/external_tree/board/iminc/raspberrypi-4b-system-agent/post-image.sh index 40cf3fb..837c8c4 100755 --- a/external_tree/board/iminc/raspberrypi-4b-system-agent/post-image.sh +++ b/external_tree/board/iminc/raspberrypi-4b-system-agent/post-image.sh @@ -58,7 +58,8 @@ ROOTPATH_TMP="$(mktemp -d)" rm -rf "${GENIMAGE_TMP}" -cp "${BINARIES_DIR}/pcf8574a.dtb" "${BINARIES_DIR}/rpi-firmware/overlays/pcf8574a.dtbo" +cp "${BINARIES_DIR}/i2c-pcf8574a.dtb" "${BINARIES_DIR}/rpi-firmware/overlays/i2c-pcf8574a.dtbo" +cp "${BINARIES_DIR}/i2c-bme280.dtb" "${BINARIES_DIR}/rpi-firmware/overlays/i2c-bme280.dtbo" genimage \ --rootpath "${ROOTPATH_TMP}" \ diff --git a/external_tree/configs/system_agent_raspberrypi_4b_defconfig b/external_tree/configs/system_agent_raspberrypi_4b_defconfig index 940a039..ea0fd6a 100644 --- a/external_tree/configs/system_agent_raspberrypi_4b_defconfig +++ b/external_tree/configs/system_agent_raspberrypi_4b_defconfig @@ -31,7 +31,7 @@ BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_system_agent_PATH)/board/iminc/raspberrypi-4b-system-agent/linux.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-4-b" -BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="$(BR2_EXTERNAL_system_agent_PATH)/board/iminc/raspberrypi-4b-system-agent/overlays/pcf8574a.dts" +BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="$(BR2_EXTERNAL_system_agent_PATH)/board/iminc/raspberrypi-4b-system-agent/overlays/i2c-pcf8574a.dts $(BR2_EXTERNAL_system_agent_PATH)/board/iminc/raspberrypi-4b-system-agent/overlays/i2c-bme280.dts" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_LINUX_TOOLS_CPUPOWER=y BR2_PACKAGE_LINUX_TOOLS_GPIO=y @@ -41,6 +41,7 @@ BR2_PACKAGE_E2FSPROGS_E4DEFRAG=y BR2_PACKAGE_E2FSPROGS_RESIZE2FS=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_GDISK=y BR2_PACKAGE_GPTFDISK_SGDISK=y @@ -67,6 +68,13 @@ BR2_PACKAGE_NETWORK_MANAGER=y BR2_PACKAGE_NETWORK_MANAGER_TUI=y BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER=y BR2_PACKAGE_OPENSSH=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y +BR2_PACKAGE_WPA_SUPPLICANT_WPA3=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y +BR2_PACKAGE_WPA_SUPPLICANT_DBUS=y +BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y BR2_PACKAGE_BASH_COMPLETION=y BR2_PACKAGE_FILE=y BR2_PACKAGE_SUDO=y