Just FYI, ubuntu 2104 beta bcm2711-rpi-4-b.dtb via sysutils/rpi-firmware's version : not much different; more

Mark Millard via freebsd-arm <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
Just an FYI.

Summary:

ubuntu has wifi-2.4ghz-coexistence and more
brcm,bcm2835-* compatible naming.


Details:

I used .dts files from : dtc -Idtb -Odts -s -o... ...
on FreeBSD to compare the ubuntu 2104 beta, fedora f34
beta, and sysutils/rpi-firmware bcm2711-rpi-4-b.dtb
files. The beta's are just what I happened to have
handy and are fairly recent.

f34 and rpi-firmware matched but ubuntu and
rpi-firmware showed:

# diff -u rpi4-ubuntu_2104_beta.dts rpi4-fbsd_port.dts 
--- rpi4-ubuntu_2104_beta.dts   2021-04-10 14:07:56.241308000 -0700
+++ rpi4-fbsd_port.dts  2021-04-10 14:19:59.503563000 -0700
@@ -839,7 +839,7 @@
 
                        #gpio-cells = <0x2>;
                        #interrupt-cells = <0x2>;
-                       compatible = "brcm,bcm2711-gpio", "brcm,bcm2835-gpio";
+                       compatible = "brcm,bcm2711-gpio";
                        gpio-controller;
                        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", "TXD1", "RXD1", "GPIO16", "GPIO17", "GPIO18", "GPIO19", "GPIO20", "GPIO21", "GPIO22", "GPIO23", "GPIO24", "GPIO25", "GPIO26", "GPIO27", "RGMII_MDIO", "RGMIO_MDC", "CTS0", "RTS0", "TXD0", "RXD0", "SD1_CLK", "SD1_CMD", "SD1_DATA0", "SD1_DATA1", "SD1_DATA2", "SD1_DATA3", "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";
                        interrupt-controller;
@@ -1834,7 +1834,6 @@
                        reg-names = "hdmi", "dvp", "phy", "rm", "packet", "metadata", "csc", "cec", "hd", "intr2";
                        resets = <0x1d 0x0>;
                        status = "disabled";
-                       wifi-2.4ghz-coexistence;
                };
                hdmi@7ef05700 {
 
@@ -1852,7 +1851,6 @@
                        reg-names = "hdmi", "dvp", "phy", "rm", "packet", "metadata", "csc", "cec", "hd", "intr2";
                        resets = <0x1d 0x1>;
                        status = "disabled";
-                       wifi-2.4ghz-coexistence;
                };
                hvs@7e400000 {
 
@@ -2167,7 +2165,7 @@
                        arm,primecell-periphid = <0x241011>;
                        clock-names = "uartclk", "apb_pclk";
                        clocks = <0x7 0x13 0x7 0x14>;
-                       compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell";
+                       compatible = "arm,pl011", "arm,primecell";
                        cts-event-workaround;
                        interrupts = <0x0 0x79 0x4>;
                        phandle = <0x30>;
@@ -2191,7 +2189,7 @@
                        arm,primecell-periphid = <0x241011>;
                        clock-names = "uartclk", "apb_pclk";
                        clocks = <0x7 0x13 0x7 0x14>;
-                       compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell";
+                       compatible = "arm,pl011", "arm,primecell";
                        interrupts = <0x0 0x79 0x4>;
                        phandle = <0xb7>;
                        reg = <0x7e201400 0x200>;
@@ -2202,7 +2200,7 @@
                        arm,primecell-periphid = <0x241011>;
                        clock-names = "uartclk", "apb_pclk";
                        clocks = <0x7 0x13 0x7 0x14>;
-                       compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell";
+                       compatible = "arm,pl011", "arm,primecell";
                        interrupts = <0x0 0x79 0x4>;
                        phandle = <0xb8>;
                        reg = <0x7e201600 0x200>;
@@ -2213,7 +2211,7 @@
                        arm,primecell-periphid = <0x241011>;
                        clock-names = "uartclk", "apb_pclk";
                        clocks = <0x7 0x13 0x7 0x14>;
-                       compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell";
+                       compatible = "arm,pl011", "arm,primecell";
                        interrupts = <0x0 0x79 0x4>;
                        phandle = <0xb9>;
                        reg = <0x7e201800 0x200>;
@@ -2224,7 +2222,7 @@
                        arm,primecell-periphid = <0x241011>;
                        clock-names = "uartclk", "apb_pclk";
                        clocks = <0x7 0x13 0x7 0x14>;
-                       compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell";
+                       compatible = "arm,pl011", "arm,primecell";
                        interrupts = <0x0 0x79 0x4>;
                        phandle = <0xba>;
                        reg = <0x7e201a00 0x200>;

So not much is different (up to live updates during
booting).

sysutils/rpi-firmware is currently based on materials from:

https://github.com/raspberrypi/firmware/tree/1.20210303/

Sufficiently modern snapshot image builds and 13.0-RC[3-5]
ones are based on that sysutils/rpi-firmware vintage as
well. The FreeBSD-13.0-RELEASE-arm64-aarch64-RPI.img.xz
build will be based on the same.

I'll note that a more recent (post-tagged) RPi*
firmware bundled in RPi4_UEFI_Firmware_v1.25.zip
shows:

# diff -u rpi4-RPi4_UEFI_Firmware_v1.25.dts rpi4-fbsd_port.dts | more
--- rpi4-RPi4_UEFI_Firmware_v1.25.dts   2021-04-10 14:58:28.826427000 -0700
+++ rpi4-fbsd_port.dts  2021-04-10 14:19:59.503563000 -0700
@@ -311,10 +311,6 @@
                spi0 = "/soc/spi@7e204000";
                spi1 = "/soc/spi@7e215080";
                spi2 = "/soc/spi@7e2150c0";
-               spi3 = "/soc/spi@7e204600";
-               spi4 = "/soc/spi@7e204800";
-               spi5 = "/soc/spi@7e204a00";
-               spi6 = "/soc/spi@7e204c00";
                thermal = "/soc/avs-monitor@7d5d2000/thermal";
                uart0 = "/soc/serial@7e201000";
                uart1 = "/soc/serial@7e215040";
@@ -1829,7 +1825,7 @@
                        compatible = "brcm,bcm2711-hdmi0";
                        ddc = <0x20>;
                        dma-names = "audio-rx";
-                       dmas = <0xb 0x9fa000a>;
+                       dmas = <0xb 0x9f0000a>;
                        interrupt-names = "cec-tx", "cec-rx", "cec-low", "wakeup", "hpd-connected", "hpd-removed";
                        interrupt-parent = <0x1f>;
                        interrupts = <0x0 0x1 0x2 0x3 0x4 0x5>;
@@ -1846,7 +1842,7 @@
                        compatible = "brcm,bcm2711-hdmi1";
                        ddc = <0x21>;
                        dma-names = "audio-rx";
-                       dmas = <0xb 0x9fa0011>;
+                       dmas = <0xb 0x9f00011>;
                        interrupt-names = "cec-tx", "cec-rx", "cec-low", "wakeup", "hpd-connected", "hpd-removed";
                        interrupt-parent = <0x1f>;
                        interrupts = <0x8 0x7 0x6 0x9 0xa 0xb>;

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-arm
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.