All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC 0/4] ARM: dts: Add Raspberry Pi Zero 2 W support
@ 2022-01-01 20:26 ` Stefan Wahren
  0 siblings, 0 replies; 22+ messages in thread
From: Stefan Wahren @ 2022-01-01 20:26 UTC (permalink / raw)
  To: Rob Herring, Florian Fainelli, Nicolas Saenz Julienne,
	Arend van Spriel, Franky Lin, Hante Meuleman, Chi-hsien Lin,
	Wright Feng, Chung-hsien Hsu, Kalle Valo
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, Arnd Bergmann,
	Olof Johansson, Phil Elwell, devicetree, soc, linux-arm-kernel,
	linux-wireless, brcm80211-dev-list.pdl, linux-rpi-kernel,
	Stefan Wahren

This small series tries to add support for the Raspberry Pi Zero 2 W.

Stefan Wahren (4):
  brcmfmac: use separate firmware for 43430 revision 4
  dt-bindings: arm: bcm2835: Add Raspberry Pi Zero 2 W
  ARM: dts: Add Raspberry Pi Zero 2 W
  arm64: dts: broadcom: Add reference to RPi Zero 2 W

 .../devicetree/bindings/arm/bcm/bcm2835.yaml       |   1 +
 arch/arm/boot/dts/Makefile                         |   1 +
 arch/arm/boot/dts/bcm2837-rpi-zero-2-w.dts         | 136 +++++++++++++++++++++
 arch/arm64/boot/dts/broadcom/Makefile              |   3 +-
 .../boot/dts/broadcom/bcm2837-rpi-zero-2-w.dts     |   2 +
 .../wireless/broadcom/brcm80211/brcmfmac/sdio.c    |   4 +-
 6 files changed, 145 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm/boot/dts/bcm2837-rpi-zero-2-w.dts
 create mode 100644 arch/arm64/boot/dts/broadcom/bcm2837-rpi-zero-2-w.dts

-- 
2.7.4


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH RFC 0/4] ARM: dts: Add Raspberry Pi Zero 2 W support
@ 2022-01-01 20:26 ` Stefan Wahren
  0 siblings, 0 replies; 22+ messages in thread
From: Stefan Wahren @ 2022-01-01 20:26 UTC (permalink / raw)
  To: Rob Herring, Florian Fainelli, Nicolas Saenz Julienne,
	Arend van Spriel, Franky Lin, Hante Meuleman, Chi-hsien Lin,
	Wright Feng, Chung-hsien Hsu, Kalle Valo
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, Arnd Bergmann,
	Olof Johansson, Phil Elwell, devicetree, soc, linux-arm-kernel,
	linux-wireless, brcm80211-dev-list.pdl, linux-rpi-kernel,
	Stefan Wahren

This small series tries to add support for the Raspberry Pi Zero 2 W.

Stefan Wahren (4):
  brcmfmac: use separate firmware for 43430 revision 4
  dt-bindings: arm: bcm2835: Add Raspberry Pi Zero 2 W
  ARM: dts: Add Raspberry Pi Zero 2 W
  arm64: dts: broadcom: Add reference to RPi Zero 2 W

 .../devicetree/bindings/arm/bcm/bcm2835.yaml       |   1 +
 arch/arm/boot/dts/Makefile                         |   1 +
 arch/arm/boot/dts/bcm2837-rpi-zero-2-w.dts         | 136 +++++++++++++++++++++
 arch/arm64/boot/dts/broadcom/Makefile              |   3 +-
 .../boot/dts/broadcom/bcm2837-rpi-zero-2-w.dts     |   2 +
 .../wireless/broadcom/brcm80211/brcmfmac/sdio.c    |   4 +-
 6 files changed, 145 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm/boot/dts/bcm2837-rpi-zero-2-w.dts
 create mode 100644 arch/arm64/boot/dts/broadcom/bcm2837-rpi-zero-2-w.dts

-- 
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH RFC 1/4] brcmfmac: use separate firmware for 43430 revision 4
  2022-01-01 20:26 ` Stefan Wahren
@ 2022-01-01 20:26   ` Stefan Wahren
  -1 siblings, 0 replies; 22+ messages in thread
From: Stefan Wahren @ 2022-01-01 20:26 UTC (permalink / raw)
  To: Rob Herring, Florian Fainelli, Nicolas Saenz Julienne,
	Arend van Spriel, Franky Lin, Hante Meuleman, Chi-hsien Lin,
	Wright Feng, Chung-hsien Hsu, Kalle Valo
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, Arnd Bergmann,
	Olof Johansson, Phil Elwell, devicetree, soc, linux-arm-kernel,
	linux-wireless, brcm80211-dev-list.pdl, linux-rpi-kernel,
	Stefan Wahren

A separate firmware is needed, for Broadcom 43430 revision 4. This
chip can be found on e.g. certain revisions of Raspberry Pi Zero 2 W.
Original firmware file from IC vendor is named 'brcmfmac43436-sdio.bin',
but brcmfmac and also btbcm drivers report chip id 43430, so requested
firmware file name is 'brcmfmac43430c0-sdio.bin' in line with other
43430 revisions.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
---

Hi,
i'm not sure about all these mappings. All i can say is that the wifi
interface of the RPi Zero 2 cames up with this patch.

 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
index 8effeb7..c79bd47 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
@@ -618,6 +618,7 @@ BRCMF_FW_DEF(43430A0, "brcmfmac43430a0-sdio");
 /* Note the names are not postfixed with a1 for backward compatibility */
 BRCMF_FW_CLM_DEF(43430A1, "brcmfmac43430-sdio");
 BRCMF_FW_DEF(43430B0, "brcmfmac43430b0-sdio");
+BRCMF_FW_CLM_DEF(43430C0, "brcmfmac43430c0-sdio");
 BRCMF_FW_CLM_DEF(43455, "brcmfmac43455-sdio");
 BRCMF_FW_DEF(43456, "brcmfmac43456-sdio");
 BRCMF_FW_CLM_DEF(4354, "brcmfmac4354-sdio");
@@ -649,7 +650,8 @@ static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = {
 	BRCMF_FW_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339),
 	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000001, 43430A0),
 	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000002, 43430A1),
-	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFFC, 43430B0),
+	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000004, 43430C0),
+	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFF8, 43430B0),
 	BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0x00000200, 43456),
 	BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0xFFFFFDC0, 43455),
 	BRCMF_FW_ENTRY(BRCM_CC_4354_CHIP_ID, 0xFFFFFFFF, 4354),
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH RFC 1/4] brcmfmac: use separate firmware for 43430 revision 4
@ 2022-01-01 20:26   ` Stefan Wahren
  0 siblings, 0 replies; 22+ messages in thread
From: Stefan Wahren @ 2022-01-01 20:26 UTC (permalink / raw)
  To: Rob Herring, Florian Fainelli, Nicolas Saenz Julienne,
	Arend van Spriel, Franky Lin, Hante Meuleman, Chi-hsien Lin,
	Wright Feng, Chung-hsien Hsu, Kalle Valo
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, Arnd Bergmann,
	Olof Johansson, Phil Elwell, devicetree, soc, linux-arm-kernel,
	linux-wireless, brcm80211-dev-list.pdl, linux-rpi-kernel,
	Stefan Wahren

A separate firmware is needed, for Broadcom 43430 revision 4. This
chip can be found on e.g. certain revisions of Raspberry Pi Zero 2 W.
Original firmware file from IC vendor is named 'brcmfmac43436-sdio.bin',
but brcmfmac and also btbcm drivers report chip id 43430, so requested
firmware file name is 'brcmfmac43430c0-sdio.bin' in line with other
43430 revisions.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
---

Hi,
i'm not sure about all these mappings. All i can say is that the wifi
interface of the RPi Zero 2 cames up with this patch.

 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
index 8effeb7..c79bd47 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
@@ -618,6 +618,7 @@ BRCMF_FW_DEF(43430A0, "brcmfmac43430a0-sdio");
 /* Note the names are not postfixed with a1 for backward compatibility */
 BRCMF_FW_CLM_DEF(43430A1, "brcmfmac43430-sdio");
 BRCMF_FW_DEF(43430B0, "brcmfmac43430b0-sdio");
+BRCMF_FW_CLM_DEF(43430C0, "brcmfmac43430c0-sdio");
 BRCMF_FW_CLM_DEF(43455, "brcmfmac43455-sdio");
 BRCMF_FW_DEF(43456, "brcmfmac43456-sdio");
 BRCMF_FW_CLM_DEF(4354, "brcmfmac4354-sdio");
@@ -649,7 +650,8 @@ static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = {
 	BRCMF_FW_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339),
 	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000001, 43430A0),
 	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000002, 43430A1),
-	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFFC, 43430B0),
+	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000004, 43430C0),
+	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFF8, 43430B0),
 	BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0x00000200, 43456),
 	BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0xFFFFFDC0, 43455),
 	BRCMF_FW_ENTRY(BRCM_CC_4354_CHIP_ID, 0xFFFFFFFF, 4354),
-- 
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH RFC 2/4] dt-bindings: arm: bcm2835: Add Raspberry Pi Zero 2 W
  2022-01-01 20:26 ` Stefan Wahren
@ 2022-01-01 20:26   ` Stefan Wahren
  -1 siblings, 0 replies; 22+ messages in thread
From: Stefan Wahren @ 2022-01-01 20:26 UTC (permalink / raw)
  To: Rob Herring, Florian Fainelli, Nicolas Saenz Julienne,
	Arend van Spriel, Franky Lin, Hante Meuleman, Chi-hsien Lin,
	Wright Feng, Chung-hsien Hsu, Kalle Valo
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, Arnd Bergmann,
	Olof Johansson, Phil Elwell, devicetree, soc, linux-arm-kernel,
	linux-wireless, brcm80211-dev-list.pdl, linux-rpi-kernel,
	Stefan Wahren

Add the Raspberry Pi Zero 2 W to DT schema.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
---
 Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml b/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml
index 5dc4824..8051a75 100644
--- a/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml
+++ b/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml
@@ -51,6 +51,7 @@ properties:
               - raspberrypi,3-model-b-plus
               - raspberrypi,3-compute-module
               - raspberrypi,3-compute-module-lite
+              - raspberrypi,model-zero-2-w
           - const: brcm,bcm2837
 
 additionalProperties: true
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH RFC 2/4] dt-bindings: arm: bcm2835: Add Raspberry Pi Zero 2 W
@ 2022-01-01 20:26   ` Stefan Wahren
  0 siblings, 0 replies; 22+ messages in thread
From: Stefan Wahren @ 2022-01-01 20:26 UTC (permalink / raw)
  To: Rob Herring, Florian Fainelli, Nicolas Saenz Julienne,
	Arend van Spriel, Franky Lin, Hante Meuleman, Chi-hsien Lin,
	Wright Feng, Chung-hsien Hsu, Kalle Valo
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, Arnd Bergmann,
	Olof Johansson, Phil Elwell, devicetree, soc, linux-arm-kernel,
	linux-wireless, brcm80211-dev-list.pdl, linux-rpi-kernel,
	Stefan Wahren

Add the Raspberry Pi Zero 2 W to DT schema.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
---
 Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml b/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml
index 5dc4824..8051a75 100644
--- a/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml
+++ b/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml
@@ -51,6 +51,7 @@ properties:
               - raspberrypi,3-model-b-plus
               - raspberrypi,3-compute-module
               - raspberrypi,3-compute-module-lite
+              - raspberrypi,model-zero-2-w
           - const: brcm,bcm2837
 
 additionalProperties: true
-- 
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH RFC 3/4] ARM: dts: Add Raspberry Pi Zero 2 W
  2022-01-01 20:26 ` Stefan Wahren
@ 2022-01-01 20:26   ` Stefan Wahren
  -1 siblings, 0 replies; 22+ messages in thread
From: Stefan Wahren @ 2022-01-01 20:26 UTC (permalink / raw)
  To: Rob Herring, Florian Fainelli, Nicolas Saenz Julienne,
	Arend van Spriel, Franky Lin, Hante Meuleman, Chi-hsien Lin,
	Wright Feng, Chung-hsien Hsu, Kalle Valo
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, Arnd Bergmann,
	Olof Johansson, Phil Elwell, devicetree, soc, linux-arm-kernel,
	linux-wireless, brcm80211-dev-list.pdl, linux-rpi-kernel,
	Stefan Wahren

The Raspberry Pi Zero 2 W mostly bases on the Raspberry Pi Zero W with
the following differences:
* Broadcom BCM2710A1, quad-core 64-bit SoC @ 1 GHz
* Synaptics BCM43436, 2.4GHz IEEE 802.11b/g/n wireless LAN

Contrary to the Raspberry Pi 3 boards there is no GPIO expander.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
---
 arch/arm/boot/dts/Makefile                 |   1 +
 arch/arm/boot/dts/bcm2837-rpi-zero-2-w.dts | 136 +++++++++++++++++++++++++++++
 2 files changed, 137 insertions(+)
 create mode 100644 arch/arm/boot/dts/bcm2837-rpi-zero-2-w.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index e41eca7..3d5785a 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -93,6 +93,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
 	bcm2837-rpi-3-b.dtb \
 	bcm2837-rpi-3-b-plus.dtb \
 	bcm2837-rpi-cm3-io3.dtb \
+	bcm2837-rpi-zero-2-w.dtb \
 	bcm2711-rpi-400.dtb \
 	bcm2711-rpi-4-b.dtb \
 	bcm2711-rpi-cm4-io.dtb \
diff --git a/arch/arm/boot/dts/bcm2837-rpi-zero-2-w.dts b/arch/arm/boot/dts/bcm2837-rpi-zero-2-w.dts
new file mode 100644
index 0000000..60e6880
--- /dev/null
+++ b/arch/arm/boot/dts/bcm2837-rpi-zero-2-w.dts
@@ -0,0 +1,136 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2022 Stefan Wahren <stefan.wahren@i2se.com>
+ */
+
+/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>;
+};
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH RFC 3/4] ARM: dts: Add Raspberry Pi Zero 2 W
@ 2022-01-01 20:26   ` Stefan Wahren
  0 siblings, 0 replies; 22+ messages in thread
From: Stefan Wahren @ 2022-01-01 20:26 UTC (permalink / raw)
  To: Rob Herring, Florian Fainelli, Nicolas Saenz Julienne,
	Arend van Spriel, Franky Lin, Hante Meuleman, Chi-hsien Lin,
	Wright Feng, Chung-hsien Hsu, Kalle Valo
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, Arnd Bergmann,
	Olof Johansson, Phil Elwell, devicetree, soc, linux-arm-kernel,
	linux-wireless, brcm80211-dev-list.pdl, linux-rpi-kernel,
	Stefan Wahren

The Raspberry Pi Zero 2 W mostly bases on the Raspberry Pi Zero W with
the following differences:
* Broadcom BCM2710A1, quad-core 64-bit SoC @ 1 GHz
* Synaptics BCM43436, 2.4GHz IEEE 802.11b/g/n wireless LAN

Contrary to the Raspberry Pi 3 boards there is no GPIO expander.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
---
 arch/arm/boot/dts/Makefile                 |   1 +
 arch/arm/boot/dts/bcm2837-rpi-zero-2-w.dts | 136 +++++++++++++++++++++++++++++
 2 files changed, 137 insertions(+)
 create mode 100644 arch/arm/boot/dts/bcm2837-rpi-zero-2-w.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index e41eca7..3d5785a 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -93,6 +93,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
 	bcm2837-rpi-3-b.dtb \
 	bcm2837-rpi-3-b-plus.dtb \
 	bcm2837-rpi-cm3-io3.dtb \
+	bcm2837-rpi-zero-2-w.dtb \
 	bcm2711-rpi-400.dtb \
 	bcm2711-rpi-4-b.dtb \
 	bcm2711-rpi-cm4-io.dtb \
diff --git a/arch/arm/boot/dts/bcm2837-rpi-zero-2-w.dts b/arch/arm/boot/dts/bcm2837-rpi-zero-2-w.dts
new file mode 100644
index 0000000..60e6880
--- /dev/null
+++ b/arch/arm/boot/dts/bcm2837-rpi-zero-2-w.dts
@@ -0,0 +1,136 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2022 Stefan Wahren <stefan.wahren@i2se.com>
+ */
+
+/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>;
+};
-- 
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH RFC 4/4] arm64: dts: broadcom: Add reference to RPi Zero 2 W
  2022-01-01 20:26 ` Stefan Wahren
@ 2022-01-01 20:26   ` Stefan Wahren
  -1 siblings, 0 replies; 22+ messages in thread
From: Stefan Wahren @ 2022-01-01 20:26 UTC (permalink / raw)
  To: Rob Herring, Florian Fainelli, Nicolas Saenz Julienne,
	Arend van Spriel, Franky Lin, Hante Meuleman, Chi-hsien Lin,
	Wright Feng, Chung-hsien Hsu, Kalle Valo
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, Arnd Bergmann,
	Olof Johansson, Phil Elwell, devicetree, soc, linux-arm-kernel,
	linux-wireless, brcm80211-dev-list.pdl, linux-rpi-kernel,
	Stefan Wahren

This adds a reference to the dts of the Raspberry Pi Zero 2 W,
so we don't need to maintain the content in arm64.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
---
 arch/arm64/boot/dts/broadcom/Makefile                 | 3 ++-
 arch/arm64/boot/dts/broadcom/bcm2837-rpi-zero-2-w.dts | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm64/boot/dts/broadcom/bcm2837-rpi-zero-2-w.dts

diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile
index c688203..5082fcd 100644
--- a/arch/arm64/boot/dts/broadcom/Makefile
+++ b/arch/arm64/boot/dts/broadcom/Makefile
@@ -5,7 +5,8 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-400.dtb \
 			      bcm2837-rpi-3-a-plus.dtb \
 			      bcm2837-rpi-3-b.dtb \
 			      bcm2837-rpi-3-b-plus.dtb \
-			      bcm2837-rpi-cm3-io3.dtb
+			      bcm2837-rpi-cm3-io3.dtb \
+			      bcm2837-rpi-zero-2-w.dtb
 
 subdir-y	+= bcm4908
 subdir-y	+= northstar2
diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-zero-2-w.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-zero-2-w.dts
new file mode 100644
index 0000000..307ae69
--- /dev/null
+++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-zero-2-w.dts
@@ -0,0 +1,2 @@
+// SPDX-License-Identifier: GPL-2.0
+#include "arm/bcm2837-rpi-zero-2-w.dts"
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH RFC 4/4] arm64: dts: broadcom: Add reference to RPi Zero 2 W
@ 2022-01-01 20:26   ` Stefan Wahren
  0 siblings, 0 replies; 22+ messages in thread
From: Stefan Wahren @ 2022-01-01 20:26 UTC (permalink / raw)
  To: Rob Herring, Florian Fainelli, Nicolas Saenz Julienne,
	Arend van Spriel, Franky Lin, Hante Meuleman, Chi-hsien Lin,
	Wright Feng, Chung-hsien Hsu, Kalle Valo
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, Arnd Bergmann,
	Olof Johansson, Phil Elwell, devicetree, soc, linux-arm-kernel,
	linux-wireless, brcm80211-dev-list.pdl, linux-rpi-kernel,
	Stefan Wahren

This adds a reference to the dts of the Raspberry Pi Zero 2 W,
so we don't need to maintain the content in arm64.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
---
 arch/arm64/boot/dts/broadcom/Makefile                 | 3 ++-
 arch/arm64/boot/dts/broadcom/bcm2837-rpi-zero-2-w.dts | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm64/boot/dts/broadcom/bcm2837-rpi-zero-2-w.dts

diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile
index c688203..5082fcd 100644
--- a/arch/arm64/boot/dts/broadcom/Makefile
+++ b/arch/arm64/boot/dts/broadcom/Makefile
@@ -5,7 +5,8 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-400.dtb \
 			      bcm2837-rpi-3-a-plus.dtb \
 			      bcm2837-rpi-3-b.dtb \
 			      bcm2837-rpi-3-b-plus.dtb \
-			      bcm2837-rpi-cm3-io3.dtb
+			      bcm2837-rpi-cm3-io3.dtb \
+			      bcm2837-rpi-zero-2-w.dtb
 
 subdir-y	+= bcm4908
 subdir-y	+= northstar2
diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-zero-2-w.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-zero-2-w.dts
new file mode 100644
index 0000000..307ae69
--- /dev/null
+++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-zero-2-w.dts
@@ -0,0 +1,2 @@
+// SPDX-License-Identifier: GPL-2.0
+#include "arm/bcm2837-rpi-zero-2-w.dts"
-- 
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH RFC 2/4] dt-bindings: arm: bcm2835: Add Raspberry Pi Zero 2 W
  2022-01-01 20:26   ` Stefan Wahren
@ 2022-01-10 20:53     ` Rob Herring
  -1 siblings, 0 replies; 22+ messages in thread
From: Rob Herring @ 2022-01-10 20:53 UTC (permalink / raw)
  To: Stefan Wahren
  Cc: Nicolas Saenz Julienne, Arend van Spriel, soc, Chung-hsien Hsu,
	Kalle Valo, linux-arm-kernel, Franky Lin, Chi-hsien Lin,
	linux-wireless, Olof Johansson, Ray Jui, Wright Feng,
	linux-rpi-kernel, Scott Branden, bcm-kernel-feedback-list,
	Florian Fainelli, Phil Elwell, devicetree, Rob Herring,
	Arnd Bergmann, brcm80211-dev-list.pdl, Hante Meuleman

On Sat, 01 Jan 2022 21:26:50 +0100, Stefan Wahren wrote:
> Add the Raspberry Pi Zero 2 W to DT schema.
> 
> Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
> ---
>  Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 

Acked-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH RFC 2/4] dt-bindings: arm: bcm2835: Add Raspberry Pi Zero 2 W
@ 2022-01-10 20:53     ` Rob Herring
  0 siblings, 0 replies; 22+ messages in thread
From: Rob Herring @ 2022-01-10 20:53 UTC (permalink / raw)
  To: Stefan Wahren
  Cc: Nicolas Saenz Julienne, Arend van Spriel, soc, Chung-hsien Hsu,
	Kalle Valo, linux-arm-kernel, Franky Lin, Chi-hsien Lin,
	linux-wireless, Olof Johansson, Ray Jui, Wright Feng,
	linux-rpi-kernel, Scott Branden, bcm-kernel-feedback-list,
	Florian Fainelli, Phil Elwell, devicetree, Rob Herring,
	Arnd Bergmann, brcm80211-dev-list.pdl, Hante Meuleman

On Sat, 01 Jan 2022 21:26:50 +0100, Stefan Wahren wrote:
> Add the Raspberry Pi Zero 2 W to DT schema.
> 
> Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
> ---
>  Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 

Acked-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH RFC 1/4] brcmfmac: use separate firmware for 43430 revision 4
  2022-01-01 20:26   ` Stefan Wahren
@ 2022-01-22 12:35     ` Stefan Wahren
  -1 siblings, 0 replies; 22+ messages in thread
From: Stefan Wahren @ 2022-01-22 12:35 UTC (permalink / raw)
  To: Rob Herring, Florian Fainelli, Nicolas Saenz Julienne,
	Arend van Spriel, Franky Lin, Hante Meuleman, Chi-hsien Lin,
	Wright Feng, Chung-hsien Hsu, Kalle Valo
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, Arnd Bergmann,
	Olof Johansson, Phil Elwell, devicetree, soc, linux-arm-kernel,
	linux-wireless, brcm80211-dev-list.pdl, linux-rpi-kernel

Am 01.01.22 um 21:26 schrieb Stefan Wahren:
> A separate firmware is needed, for Broadcom 43430 revision 4. This
> chip can be found on e.g. certain revisions of Raspberry Pi Zero 2 W.
> Original firmware file from IC vendor is named 'brcmfmac43436-sdio.bin',
> but brcmfmac and also btbcm drivers report chip id 43430, so requested
> firmware file name is 'brcmfmac43430c0-sdio.bin' in line with other
> 43430 revisions.
>
> Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
> ---
>
> Hi,
> i'm not sure about all these mappings. All i can say is that the wifi
> interface of the RPi Zero 2 cames up with this patch.
gentle ping (yes, i'm aware of the merge window)
>
>  drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
> index 8effeb7..c79bd47 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
> @@ -618,6 +618,7 @@ BRCMF_FW_DEF(43430A0, "brcmfmac43430a0-sdio");
>  /* Note the names are not postfixed with a1 for backward compatibility */
>  BRCMF_FW_CLM_DEF(43430A1, "brcmfmac43430-sdio");
>  BRCMF_FW_DEF(43430B0, "brcmfmac43430b0-sdio");
> +BRCMF_FW_CLM_DEF(43430C0, "brcmfmac43430c0-sdio");
>  BRCMF_FW_CLM_DEF(43455, "brcmfmac43455-sdio");
>  BRCMF_FW_DEF(43456, "brcmfmac43456-sdio");
>  BRCMF_FW_CLM_DEF(4354, "brcmfmac4354-sdio");
> @@ -649,7 +650,8 @@ static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = {
>  	BRCMF_FW_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339),
>  	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000001, 43430A0),
>  	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000002, 43430A1),
> -	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFFC, 43430B0),
> +	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000004, 43430C0),
> +	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFF8, 43430B0),
>  	BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0x00000200, 43456),
>  	BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0xFFFFFDC0, 43455),
>  	BRCMF_FW_ENTRY(BRCM_CC_4354_CHIP_ID, 0xFFFFFFFF, 4354),

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH RFC 1/4] brcmfmac: use separate firmware for 43430 revision 4
@ 2022-01-22 12:35     ` Stefan Wahren
  0 siblings, 0 replies; 22+ messages in thread
From: Stefan Wahren @ 2022-01-22 12:35 UTC (permalink / raw)
  To: Rob Herring, Florian Fainelli, Nicolas Saenz Julienne,
	Arend van Spriel, Franky Lin, Hante Meuleman, Chi-hsien Lin,
	Wright Feng, Chung-hsien Hsu, Kalle Valo
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, Arnd Bergmann,
	Olof Johansson, Phil Elwell, devicetree, soc, linux-arm-kernel,
	linux-wireless, brcm80211-dev-list.pdl, linux-rpi-kernel

Am 01.01.22 um 21:26 schrieb Stefan Wahren:
> A separate firmware is needed, for Broadcom 43430 revision 4. This
> chip can be found on e.g. certain revisions of Raspberry Pi Zero 2 W.
> Original firmware file from IC vendor is named 'brcmfmac43436-sdio.bin',
> but brcmfmac and also btbcm drivers report chip id 43430, so requested
> firmware file name is 'brcmfmac43430c0-sdio.bin' in line with other
> 43430 revisions.
>
> Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
> ---
>
> Hi,
> i'm not sure about all these mappings. All i can say is that the wifi
> interface of the RPi Zero 2 cames up with this patch.
gentle ping (yes, i'm aware of the merge window)
>
>  drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
> index 8effeb7..c79bd47 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
> @@ -618,6 +618,7 @@ BRCMF_FW_DEF(43430A0, "brcmfmac43430a0-sdio");
>  /* Note the names are not postfixed with a1 for backward compatibility */
>  BRCMF_FW_CLM_DEF(43430A1, "brcmfmac43430-sdio");
>  BRCMF_FW_DEF(43430B0, "brcmfmac43430b0-sdio");
> +BRCMF_FW_CLM_DEF(43430C0, "brcmfmac43430c0-sdio");
>  BRCMF_FW_CLM_DEF(43455, "brcmfmac43455-sdio");
>  BRCMF_FW_DEF(43456, "brcmfmac43456-sdio");
>  BRCMF_FW_CLM_DEF(4354, "brcmfmac4354-sdio");
> @@ -649,7 +650,8 @@ static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = {
>  	BRCMF_FW_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339),
>  	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000001, 43430A0),
>  	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000002, 43430A1),
> -	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFFC, 43430B0),
> +	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000004, 43430C0),
> +	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFF8, 43430B0),
>  	BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0x00000200, 43456),
>  	BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0xFFFFFDC0, 43455),
>  	BRCMF_FW_ENTRY(BRCM_CC_4354_CHIP_ID, 0xFFFFFFFF, 4354),

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH RFC 1/4] brcmfmac: use separate firmware for 43430 revision 4
  2022-01-22 12:35     ` Stefan Wahren
@ 2022-01-24  9:43       ` Arend van Spriel
  -1 siblings, 0 replies; 22+ messages in thread
From: Arend van Spriel @ 2022-01-24  9:43 UTC (permalink / raw)
  To: Stefan Wahren, Rob Herring, Florian Fainelli,
	Nicolas Saenz Julienne, Arend van Spriel, Franky Lin,
	Hante Meuleman, Chi-hsien Lin, Wright Feng, Chung-hsien Hsu,
	Kalle Valo
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, Arnd Bergmann,
	Olof Johansson, Phil Elwell, devicetree, soc, linux-arm-kernel,
	linux-wireless, brcm80211-dev-list.pdl, linux-rpi-kernel

[-- Attachment #1: Type: text/plain, Size: 2575 bytes --]

On 1/22/2022 1:35 PM, Stefan Wahren wrote:
> Am 01.01.22 um 21:26 schrieb Stefan Wahren:
>> A separate firmware is needed, for Broadcom 43430 revision 4. This
>> chip can be found on e.g. certain revisions of Raspberry Pi Zero 2 W.
>> Original firmware file from IC vendor is named 'brcmfmac43436-sdio.bin',
>> but brcmfmac and also btbcm drivers report chip id 43430, so requested
>> firmware file name is 'brcmfmac43430c0-sdio.bin' in line with other
>> 43430 revisions.
>>
>> Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
>> ---
>>
>> Hi,
>> i'm not sure about all these mappings. All i can say is that the wifi
>> interface of the RPi Zero 2 cames up with this patch.
> gentle ping (yes, i'm aware of the merge window)

Sorry, Stefan

Should have seen this earlier, but here it is....

>>
>>   drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>> index 8effeb7..c79bd47 100644
>> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>> @@ -618,6 +618,7 @@ BRCMF_FW_DEF(43430A0, "brcmfmac43430a0-sdio");
>>   /* Note the names are not postfixed with a1 for backward compatibility */
>>   BRCMF_FW_CLM_DEF(43430A1, "brcmfmac43430-sdio");
>>   BRCMF_FW_DEF(43430B0, "brcmfmac43430b0-sdio");
>> +BRCMF_FW_CLM_DEF(43430C0, "brcmfmac43430c0-sdio");
>>   BRCMF_FW_CLM_DEF(43455, "brcmfmac43455-sdio");
>>   BRCMF_FW_DEF(43456, "brcmfmac43456-sdio");
>>   BRCMF_FW_CLM_DEF(4354, "brcmfmac4354-sdio");
>> @@ -649,7 +650,8 @@ static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = {
>>   	BRCMF_FW_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339),
>>   	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000001, 43430A0),
>>   	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000002, 43430A1),
>> -	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFFC, 43430B0),
>> +	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000004, 43430C0),

According to the revision mask your firmware seems to be for numerical 
revision 2 of this chip...

>> +	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFF8, 43430B0),

and for the b0 the chip revision is 3 (or higher). So the alphanumeric 
revision of your chip would be 'a2' instead of 'c0'.

>>   	BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0x00000200, 43456),
>>   	BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0xFFFFFDC0, 43455),
>>   	BRCMF_FW_ENTRY(BRCM_CC_4354_CHIP_ID, 0xFFFFFFFF, 4354),

[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4219 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH RFC 1/4] brcmfmac: use separate firmware for 43430 revision 4
@ 2022-01-24  9:43       ` Arend van Spriel
  0 siblings, 0 replies; 22+ messages in thread
From: Arend van Spriel @ 2022-01-24  9:43 UTC (permalink / raw)
  To: Stefan Wahren, Rob Herring, Florian Fainelli,
	Nicolas Saenz Julienne, Arend van Spriel, Franky Lin,
	Hante Meuleman, Chi-hsien Lin, Wright Feng, Chung-hsien Hsu,
	Kalle Valo
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, Arnd Bergmann,
	Olof Johansson, Phil Elwell, devicetree, soc, linux-arm-kernel,
	linux-wireless, brcm80211-dev-list.pdl, linux-rpi-kernel


[-- Attachment #1.1: Type: text/plain, Size: 2575 bytes --]

On 1/22/2022 1:35 PM, Stefan Wahren wrote:
> Am 01.01.22 um 21:26 schrieb Stefan Wahren:
>> A separate firmware is needed, for Broadcom 43430 revision 4. This
>> chip can be found on e.g. certain revisions of Raspberry Pi Zero 2 W.
>> Original firmware file from IC vendor is named 'brcmfmac43436-sdio.bin',
>> but brcmfmac and also btbcm drivers report chip id 43430, so requested
>> firmware file name is 'brcmfmac43430c0-sdio.bin' in line with other
>> 43430 revisions.
>>
>> Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
>> ---
>>
>> Hi,
>> i'm not sure about all these mappings. All i can say is that the wifi
>> interface of the RPi Zero 2 cames up with this patch.
> gentle ping (yes, i'm aware of the merge window)

Sorry, Stefan

Should have seen this earlier, but here it is....

>>
>>   drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>> index 8effeb7..c79bd47 100644
>> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>> @@ -618,6 +618,7 @@ BRCMF_FW_DEF(43430A0, "brcmfmac43430a0-sdio");
>>   /* Note the names are not postfixed with a1 for backward compatibility */
>>   BRCMF_FW_CLM_DEF(43430A1, "brcmfmac43430-sdio");
>>   BRCMF_FW_DEF(43430B0, "brcmfmac43430b0-sdio");
>> +BRCMF_FW_CLM_DEF(43430C0, "brcmfmac43430c0-sdio");
>>   BRCMF_FW_CLM_DEF(43455, "brcmfmac43455-sdio");
>>   BRCMF_FW_DEF(43456, "brcmfmac43456-sdio");
>>   BRCMF_FW_CLM_DEF(4354, "brcmfmac4354-sdio");
>> @@ -649,7 +650,8 @@ static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = {
>>   	BRCMF_FW_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339),
>>   	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000001, 43430A0),
>>   	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000002, 43430A1),
>> -	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFFC, 43430B0),
>> +	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000004, 43430C0),

According to the revision mask your firmware seems to be for numerical 
revision 2 of this chip...

>> +	BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFF8, 43430B0),

and for the b0 the chip revision is 3 (or higher). So the alphanumeric 
revision of your chip would be 'a2' instead of 'c0'.

>>   	BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0x00000200, 43456),
>>   	BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0xFFFFFDC0, 43455),
>>   	BRCMF_FW_ENTRY(BRCM_CC_4354_CHIP_ID, 0xFFFFFFFF, 4354),

[-- Attachment #1.2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4219 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH RFC 1/4] brcmfmac: use separate firmware for 43430 revision 4
  2022-01-24  9:43       ` Arend van Spriel
@ 2022-01-30 11:35         ` Stefan Wahren
  -1 siblings, 0 replies; 22+ messages in thread
From: Stefan Wahren @ 2022-01-30 11:35 UTC (permalink / raw)
  To: Arend van Spriel, Rob Herring, Florian Fainelli,
	Nicolas Saenz Julienne, Arend van Spriel, Franky Lin,
	Hante Meuleman, Chi-hsien Lin, Wright Feng, Chung-hsien Hsu,
	Kalle Valo
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, Arnd Bergmann,
	Olof Johansson, Phil Elwell, devicetree, soc, linux-arm-kernel,
	linux-wireless, brcm80211-dev-list.pdl, linux-rpi-kernel

Hi Arend,

Am 24.01.22 um 10:43 schrieb Arend van Spriel:
> On 1/22/2022 1:35 PM, Stefan Wahren wrote:
>> Am 01.01.22 um 21:26 schrieb Stefan Wahren:
>>> A separate firmware is needed, for Broadcom 43430 revision 4. This
>>> chip can be found on e.g. certain revisions of Raspberry Pi Zero 2 W.
>>> Original firmware file from IC vendor is named
>>> 'brcmfmac43436-sdio.bin',
>>> but brcmfmac and also btbcm drivers report chip id 43430, so requested
>>> firmware file name is 'brcmfmac43430c0-sdio.bin' in line with other
>>> 43430 revisions.
>>>
>>> Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
>>> ---
>>>
>>> Hi,
>>> i'm not sure about all these mappings. All i can say is that the wifi
>>> interface of the RPi Zero 2 cames up with this patch.
>> gentle ping (yes, i'm aware of the merge window)
>
> Sorry, Stefan
>
> Should have seen this earlier, but here it is....
>
>>>
>>>   drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 4 +++-
>>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>> b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>> index 8effeb7..c79bd47 100644
>>> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>> @@ -618,6 +618,7 @@ BRCMF_FW_DEF(43430A0, "brcmfmac43430a0-sdio");
>>>   /* Note the names are not postfixed with a1 for backward
>>> compatibility */
>>>   BRCMF_FW_CLM_DEF(43430A1, "brcmfmac43430-sdio");
>>>   BRCMF_FW_DEF(43430B0, "brcmfmac43430b0-sdio");
>>> +BRCMF_FW_CLM_DEF(43430C0, "brcmfmac43430c0-sdio");
>>>   BRCMF_FW_CLM_DEF(43455, "brcmfmac43455-sdio");
>>>   BRCMF_FW_DEF(43456, "brcmfmac43456-sdio");
>>>   BRCMF_FW_CLM_DEF(4354, "brcmfmac4354-sdio");
>>> @@ -649,7 +650,8 @@ static const struct brcmf_firmware_mapping
>>> brcmf_sdio_fwnames[] = {
>>>       BRCMF_FW_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339),
>>>       BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000001, 43430A0),
>>>       BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000002, 43430A1),
>>> -    BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFFC, 43430B0),
>>> +    BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000004, 43430C0),
>
> According to the revision mask your firmware seems to be for numerical
> revision 2 of this chip...
>
>>> +    BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFF8, 43430B0),
>
> and for the b0 the chip revision is 3 (or higher). So the alphanumeric
> revision of your chip would be 'a2' instead of 'c0'.

i changed this to a2 for the next version of this series. But before i
send them out, please doublecheck the kernel log 5.17-rc1 of my RPi Zero
2 W. I confuses me that the bluetooth part tells about BCM43430B0:

[    9.653199] Bluetooth: hci0: BCM: chip id 115
[    9.653749] Bluetooth: hci0: BCM: features 0x0e
[    9.655466] Bluetooth: hci0: BCM43430B0
[    9.655502] Bluetooth: hci0: BCM43430B0 (002.001.012) build 0000
[    9.659512] vc4-drm soc:gpu: bound 3f400000.hvs (ops
vc4_drm_unregister [vc4])
[    9.667047] Bluetooth: hci0: BCM43430B0 'brcm/BCM43430B0.hcd' Patch
[    9.668052] brcmfmac: brcmf_fw_alloc_request: using
brcm/brcmfmac43430a2-sdio for chip BCM43430/2
[    9.668567] brcmfmac mmc1:0001:1: Direct firmware load for
brcm/brcmfmac43430a2-sdio.raspberrypi,model-zero-2-w.bin failed with
error -2
[    9.673724] vc4-drm soc:gpu: bound 3f400000.hvs (ops
vc4_drm_unregister [vc4])
[    9.697996] brcmfmac mmc1:0001:1: Direct firmware load for
brcm/brcmfmac43430a2-sdio.raspberrypi,model-zero-2-w.txt failed with
error -2
[    9.816030] brcmfmac: brcmf_fw_alloc_request: using
brcm/brcmfmac43430a2-sdio for chip BCM43430/2
[    9.840128] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/2
wl0: Oct  9 2020 14:44:32 version 9.88.4.65 (test) (f149b32@shgit) 
(r679549) FWID 01-f40f3270
[    9.919182] random: crng init done
[    9.919200] random: 7 urandom warning(s) missed due to ratelimiting
[   10.105524] vc4-drm soc:gpu: bound 3f400000.hvs (ops
vc4_drm_unregister [vc4])
[   10.118011] vc4-drm soc:gpu: bound 3f902000.hdmi (ops
vc4_drm_unregister [vc4])
[   10.118190] vc4-drm soc:gpu: bound 3f806000.vec (ops
vc4_drm_unregister [vc4])
[   10.118364] vc4-drm soc:gpu: bound 3f004000.txp (ops
vc4_drm_unregister [vc4])
[   10.118503] vc4-drm soc:gpu: bound 3f206000.pixelvalve (ops
vc4_drm_unregister [vc4])
[   10.118625] vc4-drm soc:gpu: bound 3f207000.pixelvalve (ops
vc4_drm_unregister [vc4])
[   10.118747] vc4-drm soc:gpu: bound 3f807000.pixelvalve (ops
vc4_drm_unregister [vc4])
[   10.118847] vc4-drm soc:gpu: bound 3fc00000.v3d (ops
vc4_drm_unregister [vc4])
[   10.119331] checking generic (1e330000 8ca000) vs hw (0 ffffffff)
[   10.119339] fb0: switching to vc4 from simple
[   10.122443] Console: switching to colour dummy device 80x30
[   10.125147] [drm] Initialized vc4 0.0.0 20140616 for soc:gpu on minor 0
[   10.203822] Console: switching to colour frame buffer device 240x75
[   10.241067] vc4-drm soc:gpu: [drm] fb0: vc4drmfb frame buffer device
[   10.414793] Bluetooth: hci0: BCM4343B0 37.4MHz wlbga_iLNA_iTR
[Baseline: 0092]
[   10.414822] Bluetooth: hci0: BCM43430B0 (002.001.012) build 0092

Thanks



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH RFC 1/4] brcmfmac: use separate firmware for 43430 revision 4
@ 2022-01-30 11:35         ` Stefan Wahren
  0 siblings, 0 replies; 22+ messages in thread
From: Stefan Wahren @ 2022-01-30 11:35 UTC (permalink / raw)
  To: Arend van Spriel, Rob Herring, Florian Fainelli,
	Nicolas Saenz Julienne, Arend van Spriel, Franky Lin,
	Hante Meuleman, Chi-hsien Lin, Wright Feng, Chung-hsien Hsu,
	Kalle Valo
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, Arnd Bergmann,
	Olof Johansson, Phil Elwell, devicetree, soc, linux-arm-kernel,
	linux-wireless, brcm80211-dev-list.pdl, linux-rpi-kernel

Hi Arend,

Am 24.01.22 um 10:43 schrieb Arend van Spriel:
> On 1/22/2022 1:35 PM, Stefan Wahren wrote:
>> Am 01.01.22 um 21:26 schrieb Stefan Wahren:
>>> A separate firmware is needed, for Broadcom 43430 revision 4. This
>>> chip can be found on e.g. certain revisions of Raspberry Pi Zero 2 W.
>>> Original firmware file from IC vendor is named
>>> 'brcmfmac43436-sdio.bin',
>>> but brcmfmac and also btbcm drivers report chip id 43430, so requested
>>> firmware file name is 'brcmfmac43430c0-sdio.bin' in line with other
>>> 43430 revisions.
>>>
>>> Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
>>> ---
>>>
>>> Hi,
>>> i'm not sure about all these mappings. All i can say is that the wifi
>>> interface of the RPi Zero 2 cames up with this patch.
>> gentle ping (yes, i'm aware of the merge window)
>
> Sorry, Stefan
>
> Should have seen this earlier, but here it is....
>
>>>
>>>   drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 4 +++-
>>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>> b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>> index 8effeb7..c79bd47 100644
>>> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>> @@ -618,6 +618,7 @@ BRCMF_FW_DEF(43430A0, "brcmfmac43430a0-sdio");
>>>   /* Note the names are not postfixed with a1 for backward
>>> compatibility */
>>>   BRCMF_FW_CLM_DEF(43430A1, "brcmfmac43430-sdio");
>>>   BRCMF_FW_DEF(43430B0, "brcmfmac43430b0-sdio");
>>> +BRCMF_FW_CLM_DEF(43430C0, "brcmfmac43430c0-sdio");
>>>   BRCMF_FW_CLM_DEF(43455, "brcmfmac43455-sdio");
>>>   BRCMF_FW_DEF(43456, "brcmfmac43456-sdio");
>>>   BRCMF_FW_CLM_DEF(4354, "brcmfmac4354-sdio");
>>> @@ -649,7 +650,8 @@ static const struct brcmf_firmware_mapping
>>> brcmf_sdio_fwnames[] = {
>>>       BRCMF_FW_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339),
>>>       BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000001, 43430A0),
>>>       BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000002, 43430A1),
>>> -    BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFFC, 43430B0),
>>> +    BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000004, 43430C0),
>
> According to the revision mask your firmware seems to be for numerical
> revision 2 of this chip...
>
>>> +    BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFF8, 43430B0),
>
> and for the b0 the chip revision is 3 (or higher). So the alphanumeric
> revision of your chip would be 'a2' instead of 'c0'.

i changed this to a2 for the next version of this series. But before i
send them out, please doublecheck the kernel log 5.17-rc1 of my RPi Zero
2 W. I confuses me that the bluetooth part tells about BCM43430B0:

[    9.653199] Bluetooth: hci0: BCM: chip id 115
[    9.653749] Bluetooth: hci0: BCM: features 0x0e
[    9.655466] Bluetooth: hci0: BCM43430B0
[    9.655502] Bluetooth: hci0: BCM43430B0 (002.001.012) build 0000
[    9.659512] vc4-drm soc:gpu: bound 3f400000.hvs (ops
vc4_drm_unregister [vc4])
[    9.667047] Bluetooth: hci0: BCM43430B0 'brcm/BCM43430B0.hcd' Patch
[    9.668052] brcmfmac: brcmf_fw_alloc_request: using
brcm/brcmfmac43430a2-sdio for chip BCM43430/2
[    9.668567] brcmfmac mmc1:0001:1: Direct firmware load for
brcm/brcmfmac43430a2-sdio.raspberrypi,model-zero-2-w.bin failed with
error -2
[    9.673724] vc4-drm soc:gpu: bound 3f400000.hvs (ops
vc4_drm_unregister [vc4])
[    9.697996] brcmfmac mmc1:0001:1: Direct firmware load for
brcm/brcmfmac43430a2-sdio.raspberrypi,model-zero-2-w.txt failed with
error -2
[    9.816030] brcmfmac: brcmf_fw_alloc_request: using
brcm/brcmfmac43430a2-sdio for chip BCM43430/2
[    9.840128] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/2
wl0: Oct  9 2020 14:44:32 version 9.88.4.65 (test) (f149b32@shgit) 
(r679549) FWID 01-f40f3270
[    9.919182] random: crng init done
[    9.919200] random: 7 urandom warning(s) missed due to ratelimiting
[   10.105524] vc4-drm soc:gpu: bound 3f400000.hvs (ops
vc4_drm_unregister [vc4])
[   10.118011] vc4-drm soc:gpu: bound 3f902000.hdmi (ops
vc4_drm_unregister [vc4])
[   10.118190] vc4-drm soc:gpu: bound 3f806000.vec (ops
vc4_drm_unregister [vc4])
[   10.118364] vc4-drm soc:gpu: bound 3f004000.txp (ops
vc4_drm_unregister [vc4])
[   10.118503] vc4-drm soc:gpu: bound 3f206000.pixelvalve (ops
vc4_drm_unregister [vc4])
[   10.118625] vc4-drm soc:gpu: bound 3f207000.pixelvalve (ops
vc4_drm_unregister [vc4])
[   10.118747] vc4-drm soc:gpu: bound 3f807000.pixelvalve (ops
vc4_drm_unregister [vc4])
[   10.118847] vc4-drm soc:gpu: bound 3fc00000.v3d (ops
vc4_drm_unregister [vc4])
[   10.119331] checking generic (1e330000 8ca000) vs hw (0 ffffffff)
[   10.119339] fb0: switching to vc4 from simple
[   10.122443] Console: switching to colour dummy device 80x30
[   10.125147] [drm] Initialized vc4 0.0.0 20140616 for soc:gpu on minor 0
[   10.203822] Console: switching to colour frame buffer device 240x75
[   10.241067] vc4-drm soc:gpu: [drm] fb0: vc4drmfb frame buffer device
[   10.414793] Bluetooth: hci0: BCM4343B0 37.4MHz wlbga_iLNA_iTR
[Baseline: 0092]
[   10.414822] Bluetooth: hci0: BCM43430B0 (002.001.012) build 0092

Thanks



_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH RFC 1/4] brcmfmac: use separate firmware for 43430 revision 4
  2022-01-30 11:35         ` Stefan Wahren
@ 2022-01-30 12:56           ` Arend Van Spriel
  -1 siblings, 0 replies; 22+ messages in thread
From: Arend Van Spriel @ 2022-01-30 12:56 UTC (permalink / raw)
  To: Stefan Wahren, Rob Herring, Florian Fainelli,
	Nicolas Saenz Julienne, Arend van Spriel, Franky Lin,
	Hante Meuleman, Chi-hsien Lin, Wright Feng, Chung-hsien Hsu,
	Kalle Valo
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, Arnd Bergmann,
	Olof Johansson, Phil Elwell, devicetree, soc, linux-arm-kernel,
	linux-wireless, brcm80211-dev-list.pdl, linux-rpi-kernel

[-- Attachment #1: Type: text/plain, Size: 5688 bytes --]

I am also a bit confused. The subject mentions revision 4, but your log 
shows 43430/2. Took some digging but found that numerical rev 2 matches 
'b0' and rev 3 matches 'b1'. The BT part is unknown territory for me so can 
not clarify things there.

Regards,
Arend

On January 30, 2022 12:35:35 PM Stefan Wahren <stefan.wahren@i2se.com> wrote:

> Hi Arend,
>
> Am 24.01.22 um 10:43 schrieb Arend van Spriel:
>> On 1/22/2022 1:35 PM, Stefan Wahren wrote:
>>> Am 01.01.22 um 21:26 schrieb Stefan Wahren:
>>>> A separate firmware is needed, for Broadcom 43430 revision 4. This
>>>> chip can be found on e.g. certain revisions of Raspberry Pi Zero 2 W.
>>>> Original firmware file from IC vendor is named
>>>> 'brcmfmac43436-sdio.bin',
>>>> but brcmfmac and also btbcm drivers report chip id 43430, so requested
>>>> firmware file name is 'brcmfmac43430c0-sdio.bin' in line with other
>>>> 43430 revisions.
>>>>
>>>> Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
>>>> ---
>>>>
>>>> Hi,
>>>> i'm not sure about all these mappings. All i can say is that the wifi
>>>> interface of the RPi Zero 2 cames up with this patch.
>>> gentle ping (yes, i'm aware of the merge window)
>>
>> Sorry, Stefan
>>
>> Should have seen this earlier, but here it is....
>>
>>>>
>>>>  drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 4 +++-
>>>>  1 file changed, 3 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>>> b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>>> index 8effeb7..c79bd47 100644
>>>> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>>> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>>> @@ -618,6 +618,7 @@ BRCMF_FW_DEF(43430A0, "brcmfmac43430a0-sdio");
>>>>  /* Note the names are not postfixed with a1 for backward
>>>> compatibility */
>>>>  BRCMF_FW_CLM_DEF(43430A1, "brcmfmac43430-sdio");
>>>>  BRCMF_FW_DEF(43430B0, "brcmfmac43430b0-sdio");
>>>> +BRCMF_FW_CLM_DEF(43430C0, "brcmfmac43430c0-sdio");
>>>>  BRCMF_FW_CLM_DEF(43455, "brcmfmac43455-sdio");
>>>>  BRCMF_FW_DEF(43456, "brcmfmac43456-sdio");
>>>>  BRCMF_FW_CLM_DEF(4354, "brcmfmac4354-sdio");
>>>> @@ -649,7 +650,8 @@ static const struct brcmf_firmware_mapping
>>>> brcmf_sdio_fwnames[] = {
>>>>      BRCMF_FW_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339),
>>>>      BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000001, 43430A0),
>>>>      BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000002, 43430A1),
>>>> -    BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFFC, 43430B0),
>>>> +    BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000004, 43430C0),
>>
>> According to the revision mask your firmware seems to be for numerical
>> revision 2 of this chip...
>>
>>>> +    BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFF8, 43430B0),
>>
>> and for the b0 the chip revision is 3 (or higher). So the alphanumeric
>> revision of your chip would be 'a2' instead of 'c0'.
>
> i changed this to a2 for the next version of this series. But before i
> send them out, please doublecheck the kernel log 5.17-rc1 of my RPi Zero
> 2 W. I confuses me that the bluetooth part tells about BCM43430B0:
>
> [    9.653199] Bluetooth: hci0: BCM: chip id 115
> [    9.653749] Bluetooth: hci0: BCM: features 0x0e
> [    9.655466] Bluetooth: hci0: BCM43430B0
> [    9.655502] Bluetooth: hci0: BCM43430B0 (002.001.012) build 0000
> [    9.659512] vc4-drm soc:gpu: bound 3f400000.hvs (ops
> vc4_drm_unregister [vc4])
> [    9.667047] Bluetooth: hci0: BCM43430B0 'brcm/BCM43430B0.hcd' Patch
> [    9.668052] brcmfmac: brcmf_fw_alloc_request: using
> brcm/brcmfmac43430a2-sdio for chip BCM43430/2
> [    9.668567] brcmfmac mmc1:0001:1: Direct firmware load for
> brcm/brcmfmac43430a2-sdio.raspberrypi,model-zero-2-w.bin failed with
> error -2
> [    9.673724] vc4-drm soc:gpu: bound 3f400000.hvs (ops
> vc4_drm_unregister [vc4])
> [    9.697996] brcmfmac mmc1:0001:1: Direct firmware load for
> brcm/brcmfmac43430a2-sdio.raspberrypi,model-zero-2-w.txt failed with
> error -2
> [    9.816030] brcmfmac: brcmf_fw_alloc_request: using
> brcm/brcmfmac43430a2-sdio for chip BCM43430/2
> [    9.840128] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/2
> wl0: Oct  9 2020 14:44:32 version 9.88.4.65 (test) (f149b32@shgit)
> (r679549) FWID 01-f40f3270
> [    9.919182] random: crng init done
> [    9.919200] random: 7 urandom warning(s) missed due to ratelimiting
> [   10.105524] vc4-drm soc:gpu: bound 3f400000.hvs (ops
> vc4_drm_unregister [vc4])
> [   10.118011] vc4-drm soc:gpu: bound 3f902000.hdmi (ops
> vc4_drm_unregister [vc4])
> [   10.118190] vc4-drm soc:gpu: bound 3f806000.vec (ops
> vc4_drm_unregister [vc4])
> [   10.118364] vc4-drm soc:gpu: bound 3f004000.txp (ops
> vc4_drm_unregister [vc4])
> [   10.118503] vc4-drm soc:gpu: bound 3f206000.pixelvalve (ops
> vc4_drm_unregister [vc4])
> [   10.118625] vc4-drm soc:gpu: bound 3f207000.pixelvalve (ops
> vc4_drm_unregister [vc4])
> [   10.118747] vc4-drm soc:gpu: bound 3f807000.pixelvalve (ops
> vc4_drm_unregister [vc4])
> [   10.118847] vc4-drm soc:gpu: bound 3fc00000.v3d (ops
> vc4_drm_unregister [vc4])
> [   10.119331] checking generic (1e330000 8ca000) vs hw (0 ffffffff)
> [   10.119339] fb0: switching to vc4 from simple
> [   10.122443] Console: switching to colour dummy device 80x30
> [   10.125147] [drm] Initialized vc4 0.0.0 20140616 for soc:gpu on minor 0
> [   10.203822] Console: switching to colour frame buffer device 240x75
> [   10.241067] vc4-drm soc:gpu: [drm] fb0: vc4drmfb frame buffer device
> [   10.414793] Bluetooth: hci0: BCM4343B0 37.4MHz wlbga_iLNA_iTR
> [Baseline: 0092]
> [   10.414822] Bluetooth: hci0: BCM43430B0 (002.001.012) build 0092
>
> Thanks




[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4219 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH RFC 1/4] brcmfmac: use separate firmware for 43430 revision 4
@ 2022-01-30 12:56           ` Arend Van Spriel
  0 siblings, 0 replies; 22+ messages in thread
From: Arend Van Spriel @ 2022-01-30 12:56 UTC (permalink / raw)
  To: Stefan Wahren, Rob Herring, Florian Fainelli,
	Nicolas Saenz Julienne, Arend van Spriel, Franky Lin,
	Hante Meuleman, Chi-hsien Lin, Wright Feng, Chung-hsien Hsu,
	Kalle Valo
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, Arnd Bergmann,
	Olof Johansson, Phil Elwell, devicetree, soc, linux-arm-kernel,
	linux-wireless, brcm80211-dev-list.pdl, linux-rpi-kernel


[-- Attachment #1.1: Type: text/plain, Size: 5688 bytes --]

I am also a bit confused. The subject mentions revision 4, but your log 
shows 43430/2. Took some digging but found that numerical rev 2 matches 
'b0' and rev 3 matches 'b1'. The BT part is unknown territory for me so can 
not clarify things there.

Regards,
Arend

On January 30, 2022 12:35:35 PM Stefan Wahren <stefan.wahren@i2se.com> wrote:

> Hi Arend,
>
> Am 24.01.22 um 10:43 schrieb Arend van Spriel:
>> On 1/22/2022 1:35 PM, Stefan Wahren wrote:
>>> Am 01.01.22 um 21:26 schrieb Stefan Wahren:
>>>> A separate firmware is needed, for Broadcom 43430 revision 4. This
>>>> chip can be found on e.g. certain revisions of Raspberry Pi Zero 2 W.
>>>> Original firmware file from IC vendor is named
>>>> 'brcmfmac43436-sdio.bin',
>>>> but brcmfmac and also btbcm drivers report chip id 43430, so requested
>>>> firmware file name is 'brcmfmac43430c0-sdio.bin' in line with other
>>>> 43430 revisions.
>>>>
>>>> Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
>>>> ---
>>>>
>>>> Hi,
>>>> i'm not sure about all these mappings. All i can say is that the wifi
>>>> interface of the RPi Zero 2 cames up with this patch.
>>> gentle ping (yes, i'm aware of the merge window)
>>
>> Sorry, Stefan
>>
>> Should have seen this earlier, but here it is....
>>
>>>>
>>>>  drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 4 +++-
>>>>  1 file changed, 3 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>>> b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>>> index 8effeb7..c79bd47 100644
>>>> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>>> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>>> @@ -618,6 +618,7 @@ BRCMF_FW_DEF(43430A0, "brcmfmac43430a0-sdio");
>>>>  /* Note the names are not postfixed with a1 for backward
>>>> compatibility */
>>>>  BRCMF_FW_CLM_DEF(43430A1, "brcmfmac43430-sdio");
>>>>  BRCMF_FW_DEF(43430B0, "brcmfmac43430b0-sdio");
>>>> +BRCMF_FW_CLM_DEF(43430C0, "brcmfmac43430c0-sdio");
>>>>  BRCMF_FW_CLM_DEF(43455, "brcmfmac43455-sdio");
>>>>  BRCMF_FW_DEF(43456, "brcmfmac43456-sdio");
>>>>  BRCMF_FW_CLM_DEF(4354, "brcmfmac4354-sdio");
>>>> @@ -649,7 +650,8 @@ static const struct brcmf_firmware_mapping
>>>> brcmf_sdio_fwnames[] = {
>>>>      BRCMF_FW_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339),
>>>>      BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000001, 43430A0),
>>>>      BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000002, 43430A1),
>>>> -    BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFFC, 43430B0),
>>>> +    BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000004, 43430C0),
>>
>> According to the revision mask your firmware seems to be for numerical
>> revision 2 of this chip...
>>
>>>> +    BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFF8, 43430B0),
>>
>> and for the b0 the chip revision is 3 (or higher). So the alphanumeric
>> revision of your chip would be 'a2' instead of 'c0'.
>
> i changed this to a2 for the next version of this series. But before i
> send them out, please doublecheck the kernel log 5.17-rc1 of my RPi Zero
> 2 W. I confuses me that the bluetooth part tells about BCM43430B0:
>
> [    9.653199] Bluetooth: hci0: BCM: chip id 115
> [    9.653749] Bluetooth: hci0: BCM: features 0x0e
> [    9.655466] Bluetooth: hci0: BCM43430B0
> [    9.655502] Bluetooth: hci0: BCM43430B0 (002.001.012) build 0000
> [    9.659512] vc4-drm soc:gpu: bound 3f400000.hvs (ops
> vc4_drm_unregister [vc4])
> [    9.667047] Bluetooth: hci0: BCM43430B0 'brcm/BCM43430B0.hcd' Patch
> [    9.668052] brcmfmac: brcmf_fw_alloc_request: using
> brcm/brcmfmac43430a2-sdio for chip BCM43430/2
> [    9.668567] brcmfmac mmc1:0001:1: Direct firmware load for
> brcm/brcmfmac43430a2-sdio.raspberrypi,model-zero-2-w.bin failed with
> error -2
> [    9.673724] vc4-drm soc:gpu: bound 3f400000.hvs (ops
> vc4_drm_unregister [vc4])
> [    9.697996] brcmfmac mmc1:0001:1: Direct firmware load for
> brcm/brcmfmac43430a2-sdio.raspberrypi,model-zero-2-w.txt failed with
> error -2
> [    9.816030] brcmfmac: brcmf_fw_alloc_request: using
> brcm/brcmfmac43430a2-sdio for chip BCM43430/2
> [    9.840128] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/2
> wl0: Oct  9 2020 14:44:32 version 9.88.4.65 (test) (f149b32@shgit)
> (r679549) FWID 01-f40f3270
> [    9.919182] random: crng init done
> [    9.919200] random: 7 urandom warning(s) missed due to ratelimiting
> [   10.105524] vc4-drm soc:gpu: bound 3f400000.hvs (ops
> vc4_drm_unregister [vc4])
> [   10.118011] vc4-drm soc:gpu: bound 3f902000.hdmi (ops
> vc4_drm_unregister [vc4])
> [   10.118190] vc4-drm soc:gpu: bound 3f806000.vec (ops
> vc4_drm_unregister [vc4])
> [   10.118364] vc4-drm soc:gpu: bound 3f004000.txp (ops
> vc4_drm_unregister [vc4])
> [   10.118503] vc4-drm soc:gpu: bound 3f206000.pixelvalve (ops
> vc4_drm_unregister [vc4])
> [   10.118625] vc4-drm soc:gpu: bound 3f207000.pixelvalve (ops
> vc4_drm_unregister [vc4])
> [   10.118747] vc4-drm soc:gpu: bound 3f807000.pixelvalve (ops
> vc4_drm_unregister [vc4])
> [   10.118847] vc4-drm soc:gpu: bound 3fc00000.v3d (ops
> vc4_drm_unregister [vc4])
> [   10.119331] checking generic (1e330000 8ca000) vs hw (0 ffffffff)
> [   10.119339] fb0: switching to vc4 from simple
> [   10.122443] Console: switching to colour dummy device 80x30
> [   10.125147] [drm] Initialized vc4 0.0.0 20140616 for soc:gpu on minor 0
> [   10.203822] Console: switching to colour frame buffer device 240x75
> [   10.241067] vc4-drm soc:gpu: [drm] fb0: vc4drmfb frame buffer device
> [   10.414793] Bluetooth: hci0: BCM4343B0 37.4MHz wlbga_iLNA_iTR
> [Baseline: 0092]
> [   10.414822] Bluetooth: hci0: BCM43430B0 (002.001.012) build 0092
>
> Thanks




[-- Attachment #1.2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4219 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH RFC 1/4] brcmfmac: use separate firmware for 43430 revision 4
  2022-01-30 12:56           ` Arend Van Spriel
@ 2022-01-31 17:25             ` Stefan Wahren
  -1 siblings, 0 replies; 22+ messages in thread
From: Stefan Wahren @ 2022-01-31 17:25 UTC (permalink / raw)
  To: Arend Van Spriel, Rob Herring, Florian Fainelli,
	Nicolas Saenz Julienne, Arend van Spriel, Franky Lin,
	Hante Meuleman, Chi-hsien Lin, Wright Feng, Chung-hsien Hsu,
	Kalle Valo
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, Arnd Bergmann,
	Olof Johansson, Phil Elwell, devicetree, soc, linux-arm-kernel,
	linux-wireless, brcm80211-dev-list.pdl, linux-rpi-kernel,
	Mikhail Rudenko

Hi Arend,

Am 30.01.22 um 13:56 schrieb Arend Van Spriel:
> I am also a bit confused. The subject mentions revision 4, but your
> log shows 43430/2. Took some digging but found that numerical rev 2
> matches 'b0' and rev 3 matches 'b1'. The BT part is unknown territory
> for me so can not clarify things there.

my patch based on a similar patch [1] by Mikhail Rudenko. I falsely
assumed that the Ampak AP6212 and Raspberry Pi Zero 2 W are using
different wifi chips. But now it i think they are identical. If i grep
the firmware blob for the Raspberry Pi Zero 2 W, i getting this:

# strings firmware.bin | grep 4343
43436b0-roml/sdio-g-pool-p2p-pno-pktfilter-keepalive-aoe-mchan-proptxstatus-ampduhostreorder-lpc-wl11u-fmc-wepso-anqpo-srmem-srfast-11nprop-ob-ndoe-rssiindur-bcol-gtr-mfp-sdiorxenhance-extsae
Version: 9.88.4.65 (test) (f149b32@shgit)  (r679549) CRC: 3e0bc4b6 Date:
Fri 2020-10-09 14:45:07 CST Ucode Ver: 1043.20742 FWID: 01-f40f3270

So i will drop this patch from the series and hope the firmware isn't
customized.

Best regards

[1]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v5.17-rc2&id=f8d6523891cf07468f0bfe21aba8b562a6f75780

>
> Regards,
> Arend
>
> On January 30, 2022 12:35:35 PM Stefan Wahren <stefan.wahren@i2se.com>
> wrote:
>
>> Hi Arend,
>>
>> Am 24.01.22 um 10:43 schrieb Arend van Spriel:
>>> On 1/22/2022 1:35 PM, Stefan Wahren wrote:
>>>> Am 01.01.22 um 21:26 schrieb Stefan Wahren:
>>>>> A separate firmware is needed, for Broadcom 43430 revision 4. This
>>>>> chip can be found on e.g. certain revisions of Raspberry Pi Zero 2 W.
>>>>> Original firmware file from IC vendor is named
>>>>> 'brcmfmac43436-sdio.bin',
>>>>> but brcmfmac and also btbcm drivers report chip id 43430, so
>>>>> requested
>>>>> firmware file name is 'brcmfmac43430c0-sdio.bin' in line with other
>>>>> 43430 revisions.
>>>>>
>>>>> Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
>>>>> ---
>>>>>
>>>>> Hi,
>>>>> i'm not sure about all these mappings. All i can say is that the wifi
>>>>> interface of the RPi Zero 2 cames up with this patch.
>>>> gentle ping (yes, i'm aware of the merge window)
>>>
>>> Sorry, Stefan
>>>
>>> Should have seen this earlier, but here it is....
>>>
>>>>>
>>>>>  drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 4 +++-
>>>>>  1 file changed, 3 insertions(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>>>> b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>>>> index 8effeb7..c79bd47 100644
>>>>> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>>>> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>>>> @@ -618,6 +618,7 @@ BRCMF_FW_DEF(43430A0, "brcmfmac43430a0-sdio");
>>>>>  /* Note the names are not postfixed with a1 for backward
>>>>> compatibility */
>>>>>  BRCMF_FW_CLM_DEF(43430A1, "brcmfmac43430-sdio");
>>>>>  BRCMF_FW_DEF(43430B0, "brcmfmac43430b0-sdio");
>>>>> +BRCMF_FW_CLM_DEF(43430C0, "brcmfmac43430c0-sdio");
>>>>>  BRCMF_FW_CLM_DEF(43455, "brcmfmac43455-sdio");
>>>>>  BRCMF_FW_DEF(43456, "brcmfmac43456-sdio");
>>>>>  BRCMF_FW_CLM_DEF(4354, "brcmfmac4354-sdio");
>>>>> @@ -649,7 +650,8 @@ static const struct brcmf_firmware_mapping
>>>>> brcmf_sdio_fwnames[] = {
>>>>>      BRCMF_FW_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339),
>>>>>      BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000001, 43430A0),
>>>>>      BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000002, 43430A1),
>>>>> -    BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFFC, 43430B0),
>>>>> +    BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000004, 43430C0),
>>>
>>> According to the revision mask your firmware seems to be for numerical
>>> revision 2 of this chip...
>>>
>>>>> +    BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFF8, 43430B0),
>>>
>>> and for the b0 the chip revision is 3 (or higher). So the alphanumeric
>>> revision of your chip would be 'a2' instead of 'c0'.
>>
>> i changed this to a2 for the next version of this series. But before i
>> send them out, please doublecheck the kernel log 5.17-rc1 of my RPi Zero
>> 2 W. I confuses me that the bluetooth part tells about BCM43430B0:
>>
>> [    9.653199] Bluetooth: hci0: BCM: chip id 115
>> [    9.653749] Bluetooth: hci0: BCM: features 0x0e
>> [    9.655466] Bluetooth: hci0: BCM43430B0
>> [    9.655502] Bluetooth: hci0: BCM43430B0 (002.001.012) build 0000
>> [    9.659512] vc4-drm soc:gpu: bound 3f400000.hvs (ops
>> vc4_drm_unregister [vc4])
>> [    9.667047] Bluetooth: hci0: BCM43430B0 'brcm/BCM43430B0.hcd' Patch
>> [    9.668052] brcmfmac: brcmf_fw_alloc_request: using
>> brcm/brcmfmac43430a2-sdio for chip BCM43430/2
>> [    9.668567] brcmfmac mmc1:0001:1: Direct firmware load for
>> brcm/brcmfmac43430a2-sdio.raspberrypi,model-zero-2-w.bin failed with
>> error -2
>> [    9.673724] vc4-drm soc:gpu: bound 3f400000.hvs (ops
>> vc4_drm_unregister [vc4])
>> [    9.697996] brcmfmac mmc1:0001:1: Direct firmware load for
>> brcm/brcmfmac43430a2-sdio.raspberrypi,model-zero-2-w.txt failed with
>> error -2
>> [    9.816030] brcmfmac: brcmf_fw_alloc_request: using
>> brcm/brcmfmac43430a2-sdio for chip BCM43430/2
>> [    9.840128] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/2
>> wl0: Oct  9 2020 14:44:32 version 9.88.4.65 (test) (f149b32@shgit)
>> (r679549) FWID 01-f40f3270
>> [    9.919182] random: crng init done
>> [    9.919200] random: 7 urandom warning(s) missed due to ratelimiting
>> [   10.105524] vc4-drm soc:gpu: bound 3f400000.hvs (ops
>> vc4_drm_unregister [vc4])
>> [   10.118011] vc4-drm soc:gpu: bound 3f902000.hdmi (ops
>> vc4_drm_unregister [vc4])
>> [   10.118190] vc4-drm soc:gpu: bound 3f806000.vec (ops
>> vc4_drm_unregister [vc4])
>> [   10.118364] vc4-drm soc:gpu: bound 3f004000.txp (ops
>> vc4_drm_unregister [vc4])
>> [   10.118503] vc4-drm soc:gpu: bound 3f206000.pixelvalve (ops
>> vc4_drm_unregister [vc4])
>> [   10.118625] vc4-drm soc:gpu: bound 3f207000.pixelvalve (ops
>> vc4_drm_unregister [vc4])
>> [   10.118747] vc4-drm soc:gpu: bound 3f807000.pixelvalve (ops
>> vc4_drm_unregister [vc4])
>> [   10.118847] vc4-drm soc:gpu: bound 3fc00000.v3d (ops
>> vc4_drm_unregister [vc4])
>> [   10.119331] checking generic (1e330000 8ca000) vs hw (0 ffffffff)
>> [   10.119339] fb0: switching to vc4 from simple
>> [   10.122443] Console: switching to colour dummy device 80x30
>> [   10.125147] [drm] Initialized vc4 0.0.0 20140616 for soc:gpu on
>> minor 0
>> [   10.203822] Console: switching to colour frame buffer device 240x75
>> [   10.241067] vc4-drm soc:gpu: [drm] fb0: vc4drmfb frame buffer device
>> [   10.414793] Bluetooth: hci0: BCM4343B0 37.4MHz wlbga_iLNA_iTR
>> [Baseline: 0092]
>> [   10.414822] Bluetooth: hci0: BCM43430B0 (002.001.012) build 0092
>>
>> Thanks
>
>
>


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH RFC 1/4] brcmfmac: use separate firmware for 43430 revision 4
@ 2022-01-31 17:25             ` Stefan Wahren
  0 siblings, 0 replies; 22+ messages in thread
From: Stefan Wahren @ 2022-01-31 17:25 UTC (permalink / raw)
  To: Arend Van Spriel, Rob Herring, Florian Fainelli,
	Nicolas Saenz Julienne, Arend van Spriel, Franky Lin,
	Hante Meuleman, Chi-hsien Lin, Wright Feng, Chung-hsien Hsu,
	Kalle Valo
  Cc: Ray Jui, Scott Branden, bcm-kernel-feedback-list, Arnd Bergmann,
	Olof Johansson, Phil Elwell, devicetree, soc, linux-arm-kernel,
	linux-wireless, brcm80211-dev-list.pdl, linux-rpi-kernel,
	Mikhail Rudenko

Hi Arend,

Am 30.01.22 um 13:56 schrieb Arend Van Spriel:
> I am also a bit confused. The subject mentions revision 4, but your
> log shows 43430/2. Took some digging but found that numerical rev 2
> matches 'b0' and rev 3 matches 'b1'. The BT part is unknown territory
> for me so can not clarify things there.

my patch based on a similar patch [1] by Mikhail Rudenko. I falsely
assumed that the Ampak AP6212 and Raspberry Pi Zero 2 W are using
different wifi chips. But now it i think they are identical. If i grep
the firmware blob for the Raspberry Pi Zero 2 W, i getting this:

# strings firmware.bin | grep 4343
43436b0-roml/sdio-g-pool-p2p-pno-pktfilter-keepalive-aoe-mchan-proptxstatus-ampduhostreorder-lpc-wl11u-fmc-wepso-anqpo-srmem-srfast-11nprop-ob-ndoe-rssiindur-bcol-gtr-mfp-sdiorxenhance-extsae
Version: 9.88.4.65 (test) (f149b32@shgit)  (r679549) CRC: 3e0bc4b6 Date:
Fri 2020-10-09 14:45:07 CST Ucode Ver: 1043.20742 FWID: 01-f40f3270

So i will drop this patch from the series and hope the firmware isn't
customized.

Best regards

[1]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v5.17-rc2&id=f8d6523891cf07468f0bfe21aba8b562a6f75780

>
> Regards,
> Arend
>
> On January 30, 2022 12:35:35 PM Stefan Wahren <stefan.wahren@i2se.com>
> wrote:
>
>> Hi Arend,
>>
>> Am 24.01.22 um 10:43 schrieb Arend van Spriel:
>>> On 1/22/2022 1:35 PM, Stefan Wahren wrote:
>>>> Am 01.01.22 um 21:26 schrieb Stefan Wahren:
>>>>> A separate firmware is needed, for Broadcom 43430 revision 4. This
>>>>> chip can be found on e.g. certain revisions of Raspberry Pi Zero 2 W.
>>>>> Original firmware file from IC vendor is named
>>>>> 'brcmfmac43436-sdio.bin',
>>>>> but brcmfmac and also btbcm drivers report chip id 43430, so
>>>>> requested
>>>>> firmware file name is 'brcmfmac43430c0-sdio.bin' in line with other
>>>>> 43430 revisions.
>>>>>
>>>>> Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
>>>>> ---
>>>>>
>>>>> Hi,
>>>>> i'm not sure about all these mappings. All i can say is that the wifi
>>>>> interface of the RPi Zero 2 cames up with this patch.
>>>> gentle ping (yes, i'm aware of the merge window)
>>>
>>> Sorry, Stefan
>>>
>>> Should have seen this earlier, but here it is....
>>>
>>>>>
>>>>>  drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 4 +++-
>>>>>  1 file changed, 3 insertions(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>>>> b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>>>> index 8effeb7..c79bd47 100644
>>>>> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>>>> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
>>>>> @@ -618,6 +618,7 @@ BRCMF_FW_DEF(43430A0, "brcmfmac43430a0-sdio");
>>>>>  /* Note the names are not postfixed with a1 for backward
>>>>> compatibility */
>>>>>  BRCMF_FW_CLM_DEF(43430A1, "brcmfmac43430-sdio");
>>>>>  BRCMF_FW_DEF(43430B0, "brcmfmac43430b0-sdio");
>>>>> +BRCMF_FW_CLM_DEF(43430C0, "brcmfmac43430c0-sdio");
>>>>>  BRCMF_FW_CLM_DEF(43455, "brcmfmac43455-sdio");
>>>>>  BRCMF_FW_DEF(43456, "brcmfmac43456-sdio");
>>>>>  BRCMF_FW_CLM_DEF(4354, "brcmfmac4354-sdio");
>>>>> @@ -649,7 +650,8 @@ static const struct brcmf_firmware_mapping
>>>>> brcmf_sdio_fwnames[] = {
>>>>>      BRCMF_FW_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339),
>>>>>      BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000001, 43430A0),
>>>>>      BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000002, 43430A1),
>>>>> -    BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFFC, 43430B0),
>>>>> +    BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000004, 43430C0),
>>>
>>> According to the revision mask your firmware seems to be for numerical
>>> revision 2 of this chip...
>>>
>>>>> +    BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFF8, 43430B0),
>>>
>>> and for the b0 the chip revision is 3 (or higher). So the alphanumeric
>>> revision of your chip would be 'a2' instead of 'c0'.
>>
>> i changed this to a2 for the next version of this series. But before i
>> send them out, please doublecheck the kernel log 5.17-rc1 of my RPi Zero
>> 2 W. I confuses me that the bluetooth part tells about BCM43430B0:
>>
>> [    9.653199] Bluetooth: hci0: BCM: chip id 115
>> [    9.653749] Bluetooth: hci0: BCM: features 0x0e
>> [    9.655466] Bluetooth: hci0: BCM43430B0
>> [    9.655502] Bluetooth: hci0: BCM43430B0 (002.001.012) build 0000
>> [    9.659512] vc4-drm soc:gpu: bound 3f400000.hvs (ops
>> vc4_drm_unregister [vc4])
>> [    9.667047] Bluetooth: hci0: BCM43430B0 'brcm/BCM43430B0.hcd' Patch
>> [    9.668052] brcmfmac: brcmf_fw_alloc_request: using
>> brcm/brcmfmac43430a2-sdio for chip BCM43430/2
>> [    9.668567] brcmfmac mmc1:0001:1: Direct firmware load for
>> brcm/brcmfmac43430a2-sdio.raspberrypi,model-zero-2-w.bin failed with
>> error -2
>> [    9.673724] vc4-drm soc:gpu: bound 3f400000.hvs (ops
>> vc4_drm_unregister [vc4])
>> [    9.697996] brcmfmac mmc1:0001:1: Direct firmware load for
>> brcm/brcmfmac43430a2-sdio.raspberrypi,model-zero-2-w.txt failed with
>> error -2
>> [    9.816030] brcmfmac: brcmf_fw_alloc_request: using
>> brcm/brcmfmac43430a2-sdio for chip BCM43430/2
>> [    9.840128] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/2
>> wl0: Oct  9 2020 14:44:32 version 9.88.4.65 (test) (f149b32@shgit)
>> (r679549) FWID 01-f40f3270
>> [    9.919182] random: crng init done
>> [    9.919200] random: 7 urandom warning(s) missed due to ratelimiting
>> [   10.105524] vc4-drm soc:gpu: bound 3f400000.hvs (ops
>> vc4_drm_unregister [vc4])
>> [   10.118011] vc4-drm soc:gpu: bound 3f902000.hdmi (ops
>> vc4_drm_unregister [vc4])
>> [   10.118190] vc4-drm soc:gpu: bound 3f806000.vec (ops
>> vc4_drm_unregister [vc4])
>> [   10.118364] vc4-drm soc:gpu: bound 3f004000.txp (ops
>> vc4_drm_unregister [vc4])
>> [   10.118503] vc4-drm soc:gpu: bound 3f206000.pixelvalve (ops
>> vc4_drm_unregister [vc4])
>> [   10.118625] vc4-drm soc:gpu: bound 3f207000.pixelvalve (ops
>> vc4_drm_unregister [vc4])
>> [   10.118747] vc4-drm soc:gpu: bound 3f807000.pixelvalve (ops
>> vc4_drm_unregister [vc4])
>> [   10.118847] vc4-drm soc:gpu: bound 3fc00000.v3d (ops
>> vc4_drm_unregister [vc4])
>> [   10.119331] checking generic (1e330000 8ca000) vs hw (0 ffffffff)
>> [   10.119339] fb0: switching to vc4 from simple
>> [   10.122443] Console: switching to colour dummy device 80x30
>> [   10.125147] [drm] Initialized vc4 0.0.0 20140616 for soc:gpu on
>> minor 0
>> [   10.203822] Console: switching to colour frame buffer device 240x75
>> [   10.241067] vc4-drm soc:gpu: [drm] fb0: vc4drmfb frame buffer device
>> [   10.414793] Bluetooth: hci0: BCM4343B0 37.4MHz wlbga_iLNA_iTR
>> [Baseline: 0092]
>> [   10.414822] Bluetooth: hci0: BCM43430B0 (002.001.012) build 0092
>>
>> Thanks
>
>
>


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2022-01-31 17:40 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-01 20:26 [PATCH RFC 0/4] ARM: dts: Add Raspberry Pi Zero 2 W support Stefan Wahren
2022-01-01 20:26 ` Stefan Wahren
2022-01-01 20:26 ` [PATCH RFC 1/4] brcmfmac: use separate firmware for 43430 revision 4 Stefan Wahren
2022-01-01 20:26   ` Stefan Wahren
2022-01-22 12:35   ` Stefan Wahren
2022-01-22 12:35     ` Stefan Wahren
2022-01-24  9:43     ` Arend van Spriel
2022-01-24  9:43       ` Arend van Spriel
2022-01-30 11:35       ` Stefan Wahren
2022-01-30 11:35         ` Stefan Wahren
2022-01-30 12:56         ` Arend Van Spriel
2022-01-30 12:56           ` Arend Van Spriel
2022-01-31 17:25           ` Stefan Wahren
2022-01-31 17:25             ` Stefan Wahren
2022-01-01 20:26 ` [PATCH RFC 2/4] dt-bindings: arm: bcm2835: Add Raspberry Pi Zero 2 W Stefan Wahren
2022-01-01 20:26   ` Stefan Wahren
2022-01-10 20:53   ` Rob Herring
2022-01-10 20:53     ` Rob Herring
2022-01-01 20:26 ` [PATCH RFC 3/4] ARM: dts: " Stefan Wahren
2022-01-01 20:26   ` Stefan Wahren
2022-01-01 20:26 ` [PATCH RFC 4/4] arm64: dts: broadcom: Add reference to RPi " Stefan Wahren
2022-01-01 20:26   ` Stefan Wahren

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.