From: Bdale Garbee Date: Sat, 26 Jul 2025 07:47:54 +0000 (-0600) Subject: try again to deliver our devicetree content as an overlay X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=3a80019cd6ac26cd39af80e69b167899b178844b;p=fw%2Fquantimotor try again to deliver our devicetree content as an overlay --- diff --git a/bcm2837-rpi-zero-2-w.dtb b/bcm2837-rpi-zero-2-w.dtb deleted file mode 100644 index bb70310..0000000 Binary files a/bcm2837-rpi-zero-2-w.dtb and /dev/null differ diff --git a/bcm2837-rpi-zero-2-w.dts b/bcm2837-rpi-zero-2-w.dts deleted file mode 100644 index e0cba2f..0000000 --- a/bcm2837-rpi-zero-2-w.dts +++ /dev/null @@ -1,152 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2022 Stefan Wahren - */ - -/dts-v1/; -#include "bcm2837.dtsi" -#include "bcm2836-rpi.dtsi" -#include "bcm283x-rpi-usb-otg.dtsi" -#include "bcm283x-rpi-wifi-bt.dtsi" - -/ { - compatible = "raspberrypi,model-zero-2-w", "brcm,bcm2837"; - model = "Raspberry Pi Zero 2 W"; - - memory@0 { - device_type = "memory"; - reg = <0 0x20000000>; - }; - - chosen { - /* 8250 auxiliary UART instead of pl011 */ - stdout-path = "serial1:115200n8"; - }; - - leds { - led-act { - gpios = <&gpio 29 GPIO_ACTIVE_LOW>; - }; - }; -}; - -&bt { - shutdown-gpios = <&gpio 42 GPIO_ACTIVE_HIGH>; -}; - -&gpio { - /* - * This is based on the official GPU firmware DT blob. - * - * Legend: - * "NC" = not connected (no rail from the SoC) - * "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 */ - "TXD0", - "RXD0", - "GPIO16", - "GPIO17", - "GPIO18", - "GPIO19", - "GPIO20", - "GPIO21", - "GPIO22", - "GPIO23", - "GPIO24", - "GPIO25", - "GPIO26", - "GPIO27", - "HDMI_HPD_N", - "STATUS_LED_N", - "NC", /* GPIO30 */ - "NC", /* GPIO31 */ - "NC", /* GPIO32 */ - "NC", /* GPIO33 */ - "NC", /* GPIO34 */ - "NC", /* GPIO35 */ - "NC", /* GPIO36 */ - "NC", /* GPIO37 */ - "NC", /* GPIO38 */ - "NC", /* GPIO39 */ - "CAM_GPIO0", /* GPIO40 */ - "WL_ON", /* GPIO41 */ - "BT_ON", /* GPIO42 */ - "WIFI_CLK", /* GPIO43 */ - "SDA0", /* GPIO44 */ - "SCL0", /* GPIO45 */ - "SMPS_SCL", - "SMPS_SDA", - /* Used by SD Card */ - "SD_CLK_R", - "SD_CMD_R", - "SD_DATA0_R", - "SD_DATA1_R", - "SD_DATA2_R", - "SD_DATA3_R"; - - pinctrl-0 = <&gpioout &alt0>; -}; - -&hdmi { - hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>; - power-domains = <&power RPI_POWER_DOMAIN_HDMI>; - status = "okay"; -}; - -&sdhci { - pinctrl-0 = <&emmc_gpio34 &gpclk2_gpio43>; -}; - -&sdhost { - pinctrl-names = "default"; - pinctrl-0 = <&sdhost_gpio48>; - bus-width = <4>; - status = "okay"; -}; - -&uart0 { - pinctrl-names = "default"; - pinctrl-0 = <&uart0_gpio32 &uart0_ctsrts_gpio30>; -}; - -&uart1 { - pinctrl-names = "default"; - pinctrl-0 = <&uart1_gpio14>; - status = "okay"; -}; - -&wifi_pwrseq { - reset-gpios = <&gpio 41 GPIO_ACTIVE_LOW>; -}; - -&spi { - status = "okay"; - - pinctrl-names = "default"; - cs-gpios = <&gpio 8 GPIO_ACTIVE_LOW>, <&gpio 7 GPIO_ACTIVE_LOW>; - - #address-cells = <1>; - #size-cells = <0>; - - ads8688: ads8688@0 { - compatible = "ti,ads8688"; - reg = <0>; - spi-max-frequency = <1000000>; - }; -}; diff --git a/debian/quantimotor.install b/debian/quantimotor.install index 57a9d2f..366a5a8 100644 --- a/debian/quantimotor.install +++ b/debian/quantimotor.install @@ -1,3 +1,4 @@ +devicetree/*.dtbo boot/overlays ui/* usr/share/quantimotor/ui bcm2837-rpi-zero-2-w.dtb usr/share/quantimotor enable_ads.py usr/share/quantimotor @@ -7,4 +8,3 @@ quantimotor.conf etc/modules-load.d raspi-extra-cmdline etc/default raspi-firmware-custom etc/default startup usr/share/quantimotor -z99-quantimotor etc/kernel/postinst.d diff --git a/debian/quantimotor.postinst b/debian/quantimotor.postinst index f9e566d..65b6769 100644 --- a/debian/quantimotor.postinst +++ b/debian/quantimotor.postinst @@ -4,11 +4,8 @@ set -e case "$1" in configure) - # trigger raspi-firmware postinst hook so our gpio config is included + # trigger raspi-firmware postinst hook so our content is included DEB_MAINT_PARAMS="configure" /etc/kernel/postinst.d/z50-raspi-firmware - - # trigger kernel postinst hook to ensure our dtb is in place - DEB_MAINT_PARAMS="configure" /etc/kernel/postinst.d/z99-quantimotor ;; esac diff --git a/devicetree/Makefile b/devicetree/Makefile index 4957e57..65585a5 100644 --- a/devicetree/Makefile +++ b/devicetree/Makefile @@ -1,9 +1,5 @@ -all: append_cmdline.dtbo - -append_cmdline.dtbo: append_cmdline.dts - dtc -I dts -O dtb -o $@ $< +quantimotor.dtbo: quantimotor.dts + dtc -@ -O dtb -o quantimotor.dtbo quantimotor.dts clean: - rm -f append_cmdline.dtbo - -.PHONY: clean + rm -f quantimotor.dtbo diff --git a/devicetree/append_cmdline.dts b/devicetree/append_cmdline.dts deleted file mode 100644 index 3f9509f..0000000 --- a/devicetree/append_cmdline.dts +++ /dev/null @@ -1,16 +0,0 @@ -/dts-v1/; -/plugin/; - -/ { - compatible = "brcm,bcm2835"; - - fragment@0 { - target = <&chosen>; - frag0: __overlay__ { - }; - }; - - __overrides__ { - append = <&frag0>, "bootargs"; - }; -}; diff --git a/devicetree/quantimotor.dts b/devicetree/quantimotor.dts new file mode 100644 index 0000000..30c8e84 --- /dev/null +++ b/devicetree/quantimotor.dts @@ -0,0 +1,19 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "brcm,bcm2837"; +}; + +&spi { + status = "okay"; + + #address-cells = <1>; + #size-cells = <0>; + + ads8688: ads8688@0 { + compatible = "ti,ads8688"; + reg = <0>; + spi-max-frequency = <1000000>; + }; +}; diff --git a/raspi-firmware-custom b/raspi-firmware-custom index 5fe9388..a425860 100644 --- a/raspi-firmware-custom +++ b/raspi-firmware-custom @@ -8,3 +8,6 @@ gpio=27=op,dl # make armed line an input with a pull-up configured so comparator works gpio=12=ip,pu + +# load our devicetree content +dtoverlay=quantimotor diff --git a/z99-quantimotor b/z99-quantimotor deleted file mode 100755 index 3fefa02..0000000 --- a/z99-quantimotor +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -# force /boot/firmware/bcm2837-rpi-zero-2-w.dtb to be the QuantiMotor dtb - -cp /usr/share/quantimotor/bcm2837-rpi-zero-2-w.dtb \ - /boot/firmware/bcm2837-rpi-zero-2-w.dtb -