diff mbox series

[05/14] linux-firmware: package BCM4354 NVRAM for Jetson TX1

Message ID 20241029161046.110403-6-tmn505@terefe.re
State New
Headers show
Series Add support for NVIDIA Jetson TX1 DevKit | expand

Commit Message

Tomasz Maciej Nowak Oct. 29, 2024, 3:46 p.m. UTC
From: Tomasz Maciej Nowak <tmn505@gmail.com>

Needed for ingerated WiFi module.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
---
 package/firmware/linux-firmware/broadcom.mk   |   9 +
 ...01-brcm-replace-NVRAM-for-Jetson-TX1.patch | 155 ++++++++++++++++++
 2 files changed, 164 insertions(+)
 create mode 100644 package/firmware/linux-firmware/patches/001-brcm-replace-NVRAM-for-Jetson-TX1.patch
diff mbox series

Patch

diff --git a/package/firmware/linux-firmware/broadcom.mk b/package/firmware/linux-firmware/broadcom.mk
index c4e5885f77c2..16ccb7c11533 100644
--- a/package/firmware/linux-firmware/broadcom.mk
+++ b/package/firmware/linux-firmware/broadcom.mk
@@ -155,6 +155,15 @@  define Package/brcmfmac-nvram-43455-sdio/install
 endef
 $(eval $(call BuildPackage,brcmfmac-nvram-43455-sdio))
 
+Package/brcmfmac-nvram-4354-sdio = $(call Package/firmware-default,Broadcom BCM4354 SDIO NVRAM,,LICENCE.cypress)
+define Package/brcmfmac-nvram-4354-sdio/install
+	$(INSTALL_DIR) $(1)/lib/firmware/brcm
+	$(INSTALL_DATA) \
+		$(PKG_BUILD_DIR)/brcm/brcmfmac4354-sdio.nvidia,p2371-2180.txt \
+		$(1)/lib/firmware/brcm/
+endef
+$(eval $(call BuildPackage,brcmfmac-nvram-4354-sdio))
+
 Package/brcmfmac-nvram-4356-sdio = $(call Package/firmware-default,Broadcom BCM4356 SDIO NVRAM,,LICENCE.broadcom_bcm43xx)
 define Package/brcmfmac-nvram-4356-sdio/install
 	$(INSTALL_DIR) $(1)/lib/firmware/brcm
diff --git a/package/firmware/linux-firmware/patches/001-brcm-replace-NVRAM-for-Jetson-TX1.patch b/package/firmware/linux-firmware/patches/001-brcm-replace-NVRAM-for-Jetson-TX1.patch
new file mode 100644
index 000000000000..e06b444510c5
--- /dev/null
+++ b/package/firmware/linux-firmware/patches/001-brcm-replace-NVRAM-for-Jetson-TX1.patch
@@ -0,0 +1,155 @@ 
+From c569ca455c36119f88cdc3d1679be0daffae5924 Mon Sep 17 00:00:00 2001
+From: Tomasz Maciej Nowak <tmn505@gmail.com>
+Date: Wed, 16 Oct 2024 20:02:41 +0200
+Subject: [PATCH] brcm: replace NVRAM for Jetson TX1
+
+The current version is copied from latest Jetson Linux BSP and it's for
+P3310 (TX2) module. While both TX1 and TX2 have same wireless chip,
+possibly the SDIO module slightly differ and both have different NVRAM
+files provided in separate BSP archives. Although TX1 module wireless
+inteface can be brought up with TX2 NVRAM file, the performance is
+slightly degraded, simple download test yielded extra 4MiB/s with proper
+NVRAM file. Thus, replace it with proper file from R32.7.5 BSP, while
+also droping commented-out values, since those are not parsed by the
+driver.
+
+Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
+---
+ brcm/brcmfmac4354-sdio.nvidia,p2371-2180.txt | 61 ++++++++------------
+ 1 file changed, 25 insertions(+), 36 deletions(-)
+
+--- a/brcm/brcmfmac4354-sdio.nvidia,p2371-2180.txt
++++ b/brcm/brcmfmac4354-sdio.nvidia,p2371-2180.txt
+@@ -1,4 +1,5 @@
+ # Sample variables file for BCM94354 WLBGA iPA, iLNA board with SDIO for production package
++# NOTE: UPDATED TSSI PARAMETER FOR JETSON WITH COEX FILTER ON 10/5/2015. SHAILESH SINGH
+ NVRAMRev=$Rev: 373428 $
+ aa2g=3
+ aa5g=3
+@@ -11,58 +12,55 @@ AvVmid_c0=2,140,2,145,2,145,2,145,2,145
+ AvVmid_c1=2,140,2,145,2,145,2,145,2,145
+ AvVmid_c2=0,0,0,0,0,0,0,0,0,0
+ boardflags=0x02400201
+-boardflags2=0x00808200
+-#boardflags2=0xc0800000
++boardflags2=0x00802000
+ boardflags3=0x4000000a
+-#boardnum=57410
+ boardrev=0x1101
+ boardtype=0x06db
+ btc_params122=0
+ btc_params123=0
+ cckbw202gpo=0x0000
+ cckbw20ul2gpo=0x0000
+-ccode=XZ
++ccode=XR
+ devid=0x43a3
+ disable_olpc=0
+ dot11agduphrpo=0x0
+ dot11agduplrpo=0x0
+-dot11agofdmhrbw202gpo=0x5533
+-#enable LNA1 bypass for both 2G & 5G
++dot11agofdmhrbw202gpo=0x6666
+ extpagain2g=2
+ extpagain5g=2
+ femctrl=10
+ ltecxmux=0x534201
+ macaddr=00:90:4c:16:70:01
+ manfid=0x2d0
+-maxp2ga0=72
+-maxp2ga1=72
+-maxp5ga0=72,72,72,72
+-maxp5ga1=72,72,72,72
+-mcsbw202gpo=0xDAA83311
+-mcsbw205ghpo=0xBA442200
+-mcsbw205glpo=0xBA442200
+-mcsbw205gmpo=0xBA442200
+-mcsbw402gpo=0xAAA74422
+-mcsbw405ghpo=0xBA442200
+-mcsbw405glpo=0xBA442200
+-mcsbw405gmpo=0xBA442200
+-mcsbw805ghpo=0xBA553300
+-mcsbw805glpo=0xBA553300
+-mcsbw805gmpo=0xBA553300
++maxp2ga0=74
++maxp2ga1=74
++maxp5ga0=74,74,74,74
++maxp5ga1=74,74,74,74
++mcsbw202gpo=0x99644422
++mcsbw205ghpo=0xdc666663
++mcsbw205glpo=0x88766663
++mcsbw205gmpo=0xd8666663
++mcsbw402gpo=0x99644422
++mcsbw405ghpo=0xaa666663
++mcsbw405glpo=0x88666663
++mcsbw405gmpo=0x88666663
++mcsbw805ghpo=0xdd666665
++mcsbw805glpo=0xbb666665
++mcsbw805gmpo=0xcc666665
+ mcslr5ghpo=0x0000
+ mcslr5glpo=0x0000
+ mcslr5gmpo=0x0000
+ muxenab=0x11
+ nocrc=1
+-ofdmlrbw202gpo=0x0000
++ofdmlrbw202gpo=0x0022
+ olpc_anchor2g=0
+ olpc_anchor5g=0
+ olpc_thresh=0
+ otpimagesize=502
+-pa2ga0=0XFF3E,0X1433,0XFD75
+-pa2ga1=0XFF41,0X14C5,0XFD69
+-pa5ga0=0XFF39,0X1732,0XFD27,0XFF31,0X16A5,0XFD33,0XFF28,0X158F,0XFD49,0XFF45,0X16F3,0XFD25
+-pa5ga1=0XFF3A,0X1707,0XFD2A,0XFF31,0X166C,0XFD38,0XFF22,0X149A,0XFD62,0XFF49,0X1696,0XFD33
++pa2ga0=-164,5202,-656
++pa2ga1=-180,5157,-654
++pa5ga0=-181,6179,-745,-180,6166,-740,-176,6025,-728,-175,5877,-718
++pa5ga1=-199,5842,-726,-198,5855,-728,-191,5691,-712,-170,5809,-715
+ paprdis=1
+ pdgain2g=4
+ pdgain5g=4
+@@ -73,9 +71,8 @@ pdoffset80ma1=0x0000
+ pdoffsetcckma0=0x4
+ pdoffsetcckma1=0x4
+ phycal_tempdelta=255
+-#prodid=0x052e
+ rawtempsense=0x1ff
+-regrev=996
++regrev=122
+ rssicorrnorm5g_c0=1,2,3,1,2,3,6,6,8,6,6,8
+ rssicorrnorm5g_c1=1,2,3,2,2,2,7,7,8,7,7,8
+ rssicorrnorm_c0=4,4
+@@ -85,9 +82,7 @@ rxgains2gelnagaina0=0
+ rxgains2gelnagaina1=0
+ rxgains2gtrelnabypa0=0
+ rxgains2gtrelnabypa1=0
+-#rxgains2gtrisoa0=3
+ rxgains2gtrisoa0=7
+-#rxgains2gtrisoa1=3
+ rxgains2gtrisoa1=7
+ rxgains5gelnagaina0=0
+ rxgains5gelnagaina1=0
+@@ -95,23 +90,17 @@ rxgains5ghelnagaina0=0
+ rxgains5ghelnagaina1=0
+ rxgains5ghtrelnabypa0=0
+ rxgains5ghtrisoa0=12
+-#rxgains5ghtrisoa0=4
+ rxgains5ghtrisoa1=11
+-#rxgains5ghtrisoa1=4
+ rxgains5gmelnagaina0=0
+ rxgains5gmelnagaina1=0
+ rxgains5gmtrelnabypa0=0
+ rxgains5gmtrelnabypa1=0
+ rxgains5gmtrisoa0=13
+-#rxgains5gmtrisoa0=4
+ rxgains5gmtrisoa1=11
+-#rxgains5gmtrisoa1=4
+ rxgains5gtrelnabypa0=0
+ rxgains5gtrelnabypa1=0
+ rxgains5gtrisoa0=11
+-#rxgains5gtrisoa0=4
+ rxgains5gtrisoa1=10
+-#rxgains5gtrisoa1=4
+ sb20in40hrpo=0x0
+ sb20in40lrpo=0x0
+ sb20in80and160hr5ghpo=0x0