Skip to content
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

Rp2040 devicetree support #2

Draft
wants to merge 2 commits into
base: rp2040_support
Choose a base branch
from

Conversation

burumaj
Copy link

@burumaj burumaj commented Mar 13, 2021

This adds the devicetree for the RP2040.

Since this is a new SoC this still needs a lot of devicetree bindings, namely:

  • GPIO
  • SPI (arm pl022)
  • I2C (designware apb i2c)
  • Programmable IO
  • clocks
  • flash control / xip control
  • dma
  • USB
  • PWM
  • Timers
  • watchdog
  • RTC

The UART peripheral already has a devicetree binding and accompanying driver.

burumaj added 2 commits March 12, 2021 18:32
Fixes the paths in the KConfig files in the correct directory.

Signed-off-by: Joep Buruma <[email protected]>
Adds the device tree for the rp2040 soc.

Signed-off-by: Joep Buruma <[email protected]>
ioannisg pushed a commit that referenced this pull request Mar 19, 2021
Added function to calculate channel identifier value
required for Channel Selection Algorithm #2.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
ioannisg pushed a commit that referenced this pull request Mar 26, 2021
The fatal log now contains
- Trap type in human readable representation
- Integer registers visible to the program when trap was taken
- Special register values such as PC and PSR
- Backtrace with PC and SP

If CONFIG_EXTRA_EXCEPTION_INFO is enabled, then all the above is
logged. If not, only the special registers are logged.

The format is inspired by the GRMON debug monitor and TSIM simulator.
A quick guide on how to use the values is in fatal.c.

It now looks like this:

E: tt = 0x02, illegal_instruction
E:
E:       INS        LOCALS     OUTS       GLOBALS
E:   0:  00000000   f3900fc0   40007c50   00000000
E:   1:  00000000   40004bf0   40008d30   40008c00
E:   2:  00000000   40004bf4   40008000   00000003
E:   3:  40009158   00000000   40009000   00000002
E:   4:  40008fa8   40003c00   40008fa8   00000008
E:   5:  40009000   f3400fc0   00000000   00000080
E:   6:  4000a1f8   40000050   4000a190   00000000
E:   7:  40002308   00000000   40001fb8   000000c1
E:
E: psr: f30000c7   wim: 00000008   tbr: 40000020   y: 00000000
E:  pc: 4000a1f4   npc: 4000a1f8
E:
E:       pc         sp
E:  #0   4000a1f4   4000a190
E:  #1   40002308   4000a1f8
E:  #2   40003b24   4000a258

Signed-off-by: Martin Åberg <[email protected]>
ioannisg pushed a commit that referenced this pull request May 5, 2021
Reorder Channel Selection Algorithm #2 and Minimum Number of
Used Channels Procedure bits.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
ioannisg pushed a commit that referenced this pull request Jul 26, 2021
Implement the functions required to calculate the SubEvent 1
and SubEvent n mapped channel indices.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
ioannisg pushed a commit that referenced this pull request Jul 26, 2021
Added Bluetooth Specification references to the
implementation of Channel Selection algorithm #2 in the
Controller.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
ioannisg pushed a commit that referenced this pull request Nov 16, 2021
Remove explicit disable of Channel Selection Algorithm #2
in the mesh tests that use Extended Advertising.

Fixes zephyrproject-rtos#39188.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant