- 
                Notifications
    
You must be signed in to change notification settings  - Fork 8.2k
 
stm32wb: Add BLE support through IPM HCI driver #13898
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| 
           Found the following issues, please fix and resubmit: License/Copyright issuesIn most cases you do not need to do anything here, especially if the files reported below are going into ext/ and if license was approved for inclusion into ext/ already. Fix any missing license/copyright issues. The license exception if a JFYI for the maintainers and can be overriden when merging the pull request. 
 Checkpatch issuesCODEOWNERS Issues | 
    
          Codecov Report
 @@           Coverage Diff           @@
##           master   #13898   +/-   ##
=======================================
  Coverage   52.23%   52.23%           
=======================================
  Files         307      307           
  Lines       45447    45447           
  Branches    10514    10514           
=======================================
  Hits        23741    23741           
  Misses      16912    16912           
  Partials     4794     4794
 Continue to review full report at Codecov. 
  | 
    
28a7d7e    to
    9dfc126      
    Compare
  
    a5c1a8d    to
    23eb6e7      
    Compare
  
    This adds the HAL code needed for the SoC for the stm32wb series. Origin: ST Microelectronics License: BSD-3-Clause URL: http://www.st.com/en/embedded-software/stm32cubewb.html Commit: 1.0.0 Purpose: HAL layer for stm32wb Maintained-by: External Signed-off-by: Erwan Gouriou <[email protected]>
Following introduction of STM32Cube for STM32WB, update stm32cube folder to enable build of STM32WB Cube package. Signed-off-by: Erwan Gouriou <[email protected]>
Provide basic soc configuration for STM32WB SoCs support in Zephyr. Signed-off-by: Erwan Gouriou <[email protected]>
Base .dtsi files for stm32wb series and stm32wb55 SoC. Signed-off-by: Erwan Gouriou <[email protected]>
Add support to stm32wb series in stm32 clock_control driver. Ip is similar to stm32l4 one but AHB bus presacler is renamed to "CPU1" and CPU2 and AHB4 prescalers should be defined. Signed-off-by: Erwan Gouriou <[email protected]>
Update exti driver to support STM32WB series. IP is similar to stm32l4. Signed-off-by: Erwan Gouriou <[email protected]>
Add GPIO support to stm32wb series. Only ABCDE and H ports are available for now on this series. Accordingly, update series dtsi file. Signed-off-by: Erwan Gouriou <[email protected]>
Add USART1 and LPUART1 nodes on stm32wb series. Only these 2 ones are available for now on this series. Signed-off-by: Erwan Gouriou <[email protected]>
Add definitions for LPUART1 and USART1. Signed-off-by: Erwan Gouriou <[email protected]>
Basic support for nucleo_wb55rg board. Signed-off-by: Erwan Gouriou <[email protected]>
23eb6e7    to
    12a3d05      
    Compare
  
    Library providing hci driver for host/controller communication over shared RAM Origin: ST Microelectronics License: TBD URL: http://www.st.com/en/embedded-software/stm32cubewb.html Commit: 1.0.0 Purpose: Shared RAM driver for STM32WB Maintained-by: External Signed-off-by: Erwan Gouriou <[email protected]>
bc14103    to
    fa7a115      
    Compare
  
    There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some initial feedback on the HCI driver
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are generic transports for informational purposes. I don't think they need to be controller-specific, so just leave out the "STM32WB" part.
        
          
                drivers/bluetooth/hci/ipm_stm32wb.c
              
                Outdated
          
        
      There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor: two redundant empty lines
        
          
                drivers/bluetooth/hci/ipm_stm32wb.c
              
                Outdated
          
        
      There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor: redundant empty line
Implement HCI driver for STM32WB. It allows host to controller. It is based on ST library allowing communication over RAM shared bewteen chip's C-M4 and C-M0 cores. Signed-off-by: Erwan Gouriou <[email protected]>
Add possibility to define additional RAM sections SRAM1 and SRAM2 in device tree. When defined, these sections are then taken into account in linker script that generates matching sections. Signed-off-by: Erwan Gouriou <[email protected]>
For BLE host to controller communication interprocessor communication, stm32wb HCI driver relies on 2 shared RAM slots, respectively sram2a and sram2b. Define these slots in stm32wb base device tree file. Additionally define requested RAM sections in linker script. Signed-off-by: Erwan Gouriou <[email protected]>
Add requested configuration to enable HCI driver Signed-off-by: Erwan Gouriou <[email protected]>
| 
           @jhedberg , txs for initial review, comments fixed.  | 
    
Add flash driver for stm32wb Signed-off-by: Erwan Gouriou <[email protected]>
Configure flash partitions on nucleo_wb55rg Signed-off-by: Erwan Gouriou <[email protected]>
Add HSEM for Flash access since shared between 2 cores. Signed-off-by: Erwan Gouriou <[email protected]>
We don't want to mess with CM-0 firmware for now. Signed-off-by: Erwan Gouriou <[email protected]>
Add BLE support on nucleo_wb55rg thanks to indroduction of HCI driver.
This pull request is an early work to get feedback on HCI driver implementation.
Based on #13742
EDIT: Added wip flash driver to avoid warnings when using
sample/bluetooth/peripheral