You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by GitBox <gi...@apache.org> on 2022/08/13 22:51:00 UTC

[GitHub] [incubator-nuttx] curuvar opened a new pull request, #6850: Added support for Raspberry Pi Pico W

curuvar opened a new pull request, #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850

   ## Summary
   
   Added support for Raspberry Pi Pico W, and refactored some Raspberry Pi code to eliminate duplication of basic initialization software.
   
   _**NOTE:**_ This Pull includes "Added gSPI mode for Infineon CYW43439 WiFi chip. #6845" as the gSPI code is needed to support the Pico W's networking capability.
   
   ## Impact
   
   With the exception of the included gSPI code, nothing should impact the operation of other chips.
   
   ## Testing
   
   Have tested the Pico-W in general and the Pico-w WiFi access using telnet, telnetd, ping and renew.  I can also control the on-board LED which is driven by the CYW43439 chip.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] acassis merged pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
acassis merged PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] xiaoxiang781216 commented on a diff in pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on code in PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#discussion_r946015603


##########
drivers/wireless/ieee80211/bcm43xxx/cyw_chip_43439.c:
##########
@@ -27,25 +27,34 @@
 
 #include "bcmf_interface.h"
 
+#include "../../../cyw43439.nvram.image"

Review Comment:
   How other people replace nvram.image? At least, all firmware related stuff should put inside the board directory as c array or normal files.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] curuvar commented on a diff in pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
curuvar commented on code in PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#discussion_r947134825


##########
drivers/wireless/ieee80211/bcm43xxx/Kconfig:
##########
@@ -40,6 +40,35 @@ config IEEE80211_INFINEON_CYW43439
 	default n
 	select IEEE80211_BROADCOM_HAVE_CLM
 
+config CYW43439_FIRMWARE_BIN_PATH
+	string "Path to Infineon 43439 firmware file"
+	depends on IEEE80211_INFINEON_CYW43439
+	default "${PICO_SDK_PATH}/lib/cyw43-driver/firmware/43439A0-7.95.49.00.combined"
+	---help---
+		This should be a path to a file containing both the cyw43439 firmware and
+		the CLB blob.   The firmware should be padded to a 256 byte boundary and
+		then the CLM blob should be appended.
+
+		If this file is updated, check the CYW43439_FIRMWARE_LEN and 
+		CYW43439_CLM_BLOB_LEN below to make sure they reflect the new, un-padded 
+		lengths of the two parts.
+
+config CYW43439_FIRMWARE_LEN

Review Comment:
   The firmware file we get from pico-sdk actually contains two things concatenated together: the actual firmware and the clm blob.  These to parts are copied to the chip by different methods from different functions. Since the location of the firmware file is a configurable item, it seemed reasonable that the length of (at least) the first part was too.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] xiaoxiang781216 commented on a diff in pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on code in PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#discussion_r945883843


##########
drivers/wireless/ieee80211/bcm43xxx/cyw_chip_43439.c:
##########
@@ -27,25 +27,34 @@
 
 #include "bcmf_interface.h"
 
+#include "../../../cyw43439.nvram.image"

Review Comment:
   can we load image from storage?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] acassis commented on pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
acassis commented on PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#issuecomment-1214381672

   @btashton I think we could create a separate nuttx-firmware to keep these firmwares in the same way as the Linux kernel is doing. This will prevent external links from disappearing unnoticed and the users starting to complain about it.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] xiaoxiang781216 commented on a diff in pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on code in PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#discussion_r946692251


##########
drivers/wireless/ieee80211/bcm43xxx/Kconfig:
##########
@@ -40,6 +40,35 @@ config IEEE80211_INFINEON_CYW43439
 	default n
 	select IEEE80211_BROADCOM_HAVE_CLM
 
+config CYW43439_FIRMWARE_BIN_PATH
+	string "Path to Infineon 43439 firmware file"
+	depends on IEEE80211_INFINEON_CYW43439
+	default "${PICO_SDK_PATH}/lib/cyw43-driver/firmware/43439A0-7.95.49.00.combined"
+	---help---
+		This should be a path to a file containing both the cyw43439 firmware and
+		the CLB blob.   The firmware should be padded to a 256 byte boundary and
+		then the CLM blob should be appended.
+
+		If this file is updated, check the CYW43439_FIRMWARE_LEN and 
+		CYW43439_CLM_BLOB_LEN below to make sure they reflect the new, un-padded 
+		lengths of the two parts.
+
+config CYW43439_FIRMWARE_LEN

Review Comment:
   why not pass len by gobal variable?



##########
drivers/.gitignore:
##########
@@ -1 +1,2 @@
 /platform
+*.image

Review Comment:
   revert the change



##########
drivers/wireless/ieee80211/bcm43xxx/cyw_chip_43439.c:
##########
@@ -37,15 +37,19 @@
  * Public Data
  ****************************************************************************/
 
-extern const char cyw43439_nvram_image[];
-extern const unsigned int cyw43439_nvram_image_len;
+extern const uint8_t    g_cyw43439_nvram_image[];
+extern unsigned int     g_cyw43439_nvram_len;
 
 #ifndef CONFIG_IEEE80211_BROADCOM_FWFILES
-extern const uint8_t cyw43439_firmware_image[];

Review Comment:
   let's use the consistent naming for bcm chip too.(either has or not g_).



##########
drivers/wireless/ieee80211/bcm43xxx/Kconfig:
##########
@@ -40,6 +40,35 @@ config IEEE80211_INFINEON_CYW43439
 	default n
 	select IEEE80211_BROADCOM_HAVE_CLM
 
+config CYW43439_FIRMWARE_BIN_PATH
+	string "Path to Infineon 43439 firmware file"
+	depends on IEEE80211_INFINEON_CYW43439
+	default "${PICO_SDK_PATH}/lib/cyw43-driver/firmware/43439A0-7.95.49.00.combined"
+	---help---
+		This should be a path to a file containing both the cyw43439 firmware and
+		the CLB blob.   The firmware should be padded to a 256 byte boundary and
+		then the CLM blob should be appended.
+
+		If this file is updated, check the CYW43439_FIRMWARE_LEN and 
+		CYW43439_CLM_BLOB_LEN below to make sure they reflect the new, un-padded 
+		lengths of the two parts.
+
+config CYW43439_FIRMWARE_LEN
+	int "Infineon 43439 firmware length (bytes)"
+	depends on IEEE80211_INFINEON_CYW43439
+	default 224190
+	---help---
+		This is the length of the base firmware in the firmware file specified
+		by the "Path to Infineon 43439 firmware file" configuration option.
+
+config CYW43439_CLM_BLOB_LEN
+	int "Infineon 43439 clm blob length (bytes)"
+	depends on IEEE80211_INFINEON_CYW43439
+	default 984

Review Comment:
   ditto



##########
drivers/Makefile:
##########
@@ -82,7 +82,7 @@ OBJS = $(AOBJS) $(COBJS)
 
 BIN = libdrivers$(LIBEXT)
 
-all: $(BIN)
+all:

Review Comment:
   revert



##########
drivers/wireless/ieee80211/bcm43xxx/Kconfig:
##########
@@ -40,6 +40,35 @@ config IEEE80211_INFINEON_CYW43439
 	default n
 	select IEEE80211_BROADCOM_HAVE_CLM
 
+config CYW43439_FIRMWARE_BIN_PATH
+	string "Path to Infineon 43439 firmware file"
+	depends on IEEE80211_INFINEON_CYW43439
+	default "${PICO_SDK_PATH}/lib/cyw43-driver/firmware/43439A0-7.95.49.00.combined"

Review Comment:
   let's move to your board file



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] xiaoxiang781216 commented on a diff in pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on code in PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#discussion_r946015603


##########
drivers/wireless/ieee80211/bcm43xxx/cyw_chip_43439.c:
##########
@@ -27,25 +27,34 @@
 
 #include "bcmf_interface.h"
 
+#include "../../../cyw43439.nvram.image"

Review Comment:
   How other people replace nvram.image? At least, all firmware related stuff should put inside the board directory as c array in some source file or file in some file system.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] curuvar commented on pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
curuvar commented on PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#issuecomment-1217210266

   
   
   > On Aug 16, 2022, at 5:42 PM, Alan Carvalho de Assis ***@***.***> wrote:
   > 
   > 
   > @curuvar <https://github.com/curuvar> it is not finding the file:
   > 
   > make[2]: *** No rule to make target '/lib/cyw43-driver/firmware/43439A0-7.95.49.00.combined', needed by 'src/cyw43439.firmware.image'.
   > make[2]: Target 'depend' not remade because of errors.
   > make[1]: *** [Makefile:199: .depend] Error 2
   > make[1]: Target 'depend' not remade because of errors.
   > make: *** [tools/Unix.mk:583: pass2dep] Error 2
   > make: Target 'all' not remade because of errors.
   > /github/workspace/sources/nuttx/tools/testbuild.sh: line 290: /github/workspace/sources/nuttx/../nuttx/nuttx.manifest: No such file or directory
   >   Normalize raspberrypi-pico-w/telnet
   > —
   > Reply to this email directly, view it on GitHub <https://github.com/apache/incubator-nuttx/pull/6850#issuecomment-1217197874>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AOAJTIRHD4XAVJWG5XUOGDLVZQDN5ANCNFSM56O2RK7A>.
   > You are receiving this because you were mentioned.
   > 
   I saw that and rebuilt the failing defconfig file and resubmitted — but I don’t think it is going to help. 
   
   It may be that the testing framework used by GitHub’s test build has the older pico-sdk.  Pico-sdk was updated when the Pico W was released to add the code to driver the cyw43439 chip, and that’s where I get the 43439A0-7.95.49.00.combined file.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] curuvar commented on pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
curuvar commented on PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#issuecomment-1214584280

   My latest version copies the "43439A0-7.95.49.00.combined" binary from PICO_SDK_PATH (or other path specified in .config) via some code added to the drivers/Makefile
   
   The data is imported into the NuttX build using the ".incbin " assembly as suggested by @yunkya2.
   
   Is the "cyw43439_nvram_image" data in rp2040_wlan_firmware.c ok to include in the repo, or should I do something similar with it.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] acassis commented on pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
acassis commented on PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#issuecomment-1217197874

   @curuvar it is not finding the file: 
   ```
   make[2]: *** No rule to make target '/lib/cyw43-driver/firmware/43439A0-7.95.49.00.combined', needed by 'src/cyw43439.firmware.image'.
   make[2]: Target 'depend' not remade because of errors.
   make[1]: *** [Makefile:199: .depend] Error 2
   make[1]: Target 'depend' not remade because of errors.
   make: *** [tools/Unix.mk:583: pass2dep] Error 2
   make: Target 'all' not remade because of errors.
   /github/workspace/sources/nuttx/tools/testbuild.sh: line 290: /github/workspace/sources/nuttx/../nuttx/nuttx.manifest: No such file or directory
     Normalize raspberrypi-pico-w/telnet
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] xiaoxiang781216 commented on pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#issuecomment-1216063175

   I am fine to embed the firmware either in the image directly as c array or in the filesystem(ROMFS or others), but the firmware should be put into board special folder, not like this:
   #include "../../../cyw43439.nvram.image"
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] curuvar commented on pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
curuvar commented on PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#issuecomment-1214246189

   It comes from pico-sdk which allows its uses with Raspberry Pi chips (which is why it was in the Raspberry Pi Pico directory tree.  I believe the actual code comes originally from Broadcom or Infineon.  
   
   I followed the same idea as for other Broadcom based chips in: boards/arm/stm32/photon/src/stm32_wlan_firmware.c 
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] xiaoxiang781216 commented on a diff in pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on code in PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#discussion_r947420814


##########
drivers/wireless/ieee80211/bcm43xxx/cyw_chip_43439.c:
##########
@@ -70,18 +75,16 @@ const struct bcmf_chip_data cyw43439_config_data =
 
   /* Firmware images */
 
-  /* TODO find something smarter than using image_len references */
-
-  .nvram_image         = (FAR uint8_t *)cyw43439_nvram_image,
-  .nvram_image_size    = (FAR unsigned int *)&cyw43439_nvram_image_len,
+  .nvram_image         = (FAR uint8_t *) g_cyw43439_nvram_image,
+  .nvram_image_size    = (FAR unsigned int *) &g_cyw43439_nvram_len,
 
 #ifndef CONFIG_IEEE80211_BROADCOM_FWFILES
-  .firmware_image      = (FAR uint8_t *)cyw43439_firmware_image,
-  .firmware_image_size = (FAR unsigned int *)&cyw43439_firmware_len,
+  .firmware_image      = (FAR uint8_t *) g_cyw43439_firmware_image,
+  .firmware_image_size = (FAR unsigned int *) &g_cyw43439_firmware_len,
 
 #ifdef CONFIG_IEEE80211_BROADCOM_HAVE_CLM
-  .clm_blob_image      = (FAR uint8_t *)cyw43439_clm_blob_image,
-  .clm_blob_image_size = (FAR unsigned int *)&cyw43439_clm_blob_len
+  .clm_blob_image      = (FAR uint8_t *) g_cyw43439_clm_blob_image,
+  .clm_blob_image_size = (FAR unsigned int *) &g_cyw43439_clm_blob_len

Review Comment:
   remove the space after all cast



##########
arch/arm/src/rp2040/Kconfig:
##########
@@ -685,6 +685,7 @@ config RP2040_BOARD_HAS_WS2812
 	bool "Has ws2812 pixels"
 	default n
 	depends on WS2812
+  select WS2812_NON_SPI_DRIVER

Review Comment:
   tab



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] yunkya2 commented on pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
yunkya2 commented on PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#issuecomment-1214329770

   How about using PICO_SDK_PATH environment variable to get the firmware blob from Pico SDK ?
   This variable is already used in arch/arm/src/rp2040/boot2 to build the 2nd stage bootloader provided by the SDK.
   
   Using ".incbin" directive can incorporate the blob as it is like this:
   https://github.com/apache/incubator-nuttx/blob/548540eb13345e4cca9af7b25daae94fa6374fe2/boards/arm/lpc17xx_40xx/pnev5180b/src/lpc17_40_romfs.c#L69-L85 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] hartmannathan commented on pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
hartmannathan commented on PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#issuecomment-1215621448

   > nvram image is normally specific to your hardware design, so it's always good to put into your board specific folder instead of the common place.
   
   Not sure if I understand correctly: Is this an in-tree board?
   
   If so:
   
   In Kconfig we have "License Setup" menu with ALLOW_BSD_COMPONENTS, ALLOW_GPL_COMPONENTS, ALLOW_MIT_COMPONENTS, and ALLOW_BSDNORDIC_COMPONENTS.
   
   There should be one more: ALLOW_PROPRIETARY_BINARY_BLOBS (or some appropriate name). It should be OFF by default.
   
   Provided the licensing of the binary blob allows it, make sure it is wrapped with the above Kconfig and listed in LICENSE.
   
   If the licensing of the binary blob does not allow it, then we must require the developer to obtain it manually and put it in a suitable location. Then there should be a Kconfig to specify the path to the binary blob.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] btashton commented on pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
btashton commented on PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#issuecomment-1214244581

   This PR includes the wifi firmware blob here [boards/arm/rp2040/raspberrypi-pico-w/src/rp2040_wlan_firmware.c](https://github.com/apache/incubator-nuttx/pull/6850/files#diff-f9f413ed2d4566aba5136875d262acd8fe0aaeb749ba20a8d2d4a32fbd070a76) which We cannot be including in this repo.  Where does this come from?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] btashton commented on pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
btashton commented on PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#issuecomment-1214251383

   Ouch that firmware there is problematic as well. @jerpelea FYI.
   
   What we have done for other chips like this including the esp32 is fetch required blobs at build time from these SDKs or similar.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] curuvar commented on pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
curuvar commented on PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#issuecomment-1214246787

   Would it be acceptable to include a utility to automatically generate this file from pico-sdk so that it would not need to be added to the repository itself?
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] xiaoxiang781216 commented on pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#issuecomment-1214343426

   @curuvar why not enable IEEE80211_BROADCOM_FWFILES to download the firmware from storage instead?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] hartmannathan commented on pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
hartmannathan commented on PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#issuecomment-1214383316

   I like the idea of a PICO_SDK_PATH and a utility to fetch the required blob from there and write it into the required path and format at NuttX build time. Then it becomes the developer's responsibility to get the 3rd party SDK (or at least the binary blob) and organize it in their build environment.
   
   Also this prevents bringing in 3rd party dependencies without the developer's knowledge, which is good for licensing purposes, and also good because your project won't break one day because of a 3rd party external link you didn't know you were using that suddenly disappeared.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] curuvar commented on pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
curuvar commented on PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#issuecomment-1215512998

   I’m not sure how this would work.  The Pico does have a flash chip where the program is loaded but no file system is configured by default.
   
   If we had a filesystem we could easily copy the chip firmware as it is supplied by pico-sdk as a binary file which we could read from anywhere.  Putting this on a filesystem would not actually help though.  It is easy enough to add the binary data to the NuttX image, and it would wind up stored on the same flash chip anyway.  Why add file system overhead.
   
   Loading the nvram image is more of a problem. It is only available from pico-sdk as an include file.  That is useless at run time, and if I were to pull the data out of that include to make a file that could be loaded at run-time, I’d still need to store it somewhere in the repo, which it the issue we’re trying to avoid.
   
   > On Aug 15, 2022, at 11:38 AM, Xiang Xiao ***@***.***> wrote:
   > 
   > 
   > @xiaoxiang781216 commented on this pull request.
   > 
   > In drivers/wireless/ieee80211/bcm43xxx/cyw_chip_43439.c <https://github.com/apache/incubator-nuttx/pull/6850#discussion_r945883843>:
   > 
   > > @@ -27,25 +27,34 @@
   >  
   >  #include "bcmf_interface.h"
   >  
   > +#include "../../../cyw43439.nvram.image"
   > can we load image from storage?
   > 
   > —
   > Reply to this email directly, view it on GitHub <https://github.com/apache/incubator-nuttx/pull/6850#pullrequestreview-1072853730>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AOAJTIXEHMWBRDHXXIDBBU3VZJQBDANCNFSM56O2RK7A>.
   > You are receiving this because you were mentioned.
   > 
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] xiaoxiang781216 commented on a diff in pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on code in PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#discussion_r946015603


##########
drivers/wireless/ieee80211/bcm43xxx/cyw_chip_43439.c:
##########
@@ -27,25 +27,34 @@
 
 #include "bcmf_interface.h"
 
+#include "../../../cyw43439.nvram.image"

Review Comment:
   How other people replace nvram.image? At least, all firmware related stuff should put inside the board directory as c array or file on some file system.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] curuvar commented on pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
curuvar commented on PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#issuecomment-1215958334

   
   
   > On Aug 15, 2022, at 3:06 PM, hartmannathan ***@***.***> wrote:
   > 
   > 
   > nvram image is normally specific to your hardware design, so it's always good to put into your board specific folder instead of the common place.
   > 
   > Not sure if I understand correctly: Is this an in-tree board?
   > 
   > If so:
   > 
   > In Kconfig we have "License Setup" menu with ALLOW_BSD_COMPONENTS, ALLOW_GPL_COMPONENTS, ALLOW_MIT_COMPONENTS, and ALLOW_BSDNORDIC_COMPONENTS.
   > 
   > There should be one more: ALLOW_PROPRIETARY_BINARY_BLOBS (or some appropriate name). It should be OFF by default.
   > 
   > Provided the licensing of the binary blob allows it, make sure it is wrapped with the above Kconfig and listed in LICENSE.
   > 
   > If the licensing of the binary blob does not allow it, then we must require the developer to obtain it manually and put it in a suitable location. Then there should be a Kconfig to specify the path to the binary blob.
   > 
   > —
   > Reply to this email directly, view it on GitHub <https://github.com/apache/incubator-nuttx/pull/6850#issuecomment-1215621448>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AOAJTIRT3HTCOCQBIYYR6VDVZKILPANCNFSM56O2RK7A>.
   > You are receiving this because you were mentioned.
   > 
   I am proposing to add the Raspberry Pi Pico W as an in-tree board along with the other, already present, RP2040 based boards. 
   
   For the Pico W, both the firmware blob and nvram configuration are available in pico-sdk which is already licensed for use with RP2040 based boards.  
   
   The existing NuttX Raspberry Pi Pico makefiles already access the pico-sdk (via the PICO_SDK_PATH environment value) for the elf2uf2 utility, so it  seemed reasonable to use that path, be default, to grab the blob and nvram stuff too.  
   
   Since the pico-sdk needs to be present to build elf2uf2, I don’t have to worry about saving the blob in the NuttX project directory, although that may be a good idea anyway toreduce the possibility of breaking things if pico_sdk changes.
   
   I just need to know what we’re going to allow going forward so I can configure my submission appropriately.
    
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [incubator-nuttx] xiaoxiang781216 commented on pull request #6850: Added support for Raspberry Pi Pico W

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on PR #6850:
URL: https://github.com/apache/incubator-nuttx/pull/6850#issuecomment-1215580496

   > I’m not sure how this would work. The Pico does have a flash chip where the program is loaded but no file system is configured by default. If we had a filesystem we could easily copy the chip firmware as it is supplied by pico-sdk as a binary file which we could read from anywhere. Putting this on a filesystem would not actually help though. It is easy enough to add the binary data to the NuttX image, and it would wind up stored on the same flash chip anyway. Why add file system overhead.
   
   If you don't have the real file system, you can try ROMFS which is bundled into your image directly, here is an example ROMFS usage:
   https://github.com/apache/incubator-nuttx/blob/master/boards/sim/sim/sim/src/Makefile#L58
   
   > Loading the nvram image is more of a problem. It is only available from pico-sdk as an include file. That is useless at run time, and if I were to pull the data out of that include to make a file that could be loaded at run-time, I’d still need to store it somewhere in the repo, which it the issue we’re trying to avoid.
   
   nvram image is normally specific to your hardware design, so it's always good to put into your board specific folder instead of the common place.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org