some perf counter enum values missing from rp2350 hardware/structs/busctrl.h #2920

Closed
opened 2026-05-01 17:32:30 -05:00 by kilograham · 3 comments
kilograham commented 2026-05-01 17:32:30 -05:00 (Migrated from github.com)
typedef enum bus_ctrl_perf_counter_rp2350 {
    arbiter_rom_perf_event_access = 19,
    arbiter_rom_perf_event_access_contested = 18,
    arbiter_xip_main_perf_event_access = 17,
    arbiter_xip_main_perf_event_access_contested = 16,
    arbiter_sram0_perf_event_access = 15,
    arbiter_sram0_perf_event_access_contested = 14,
    arbiter_sram1_perf_event_access = 13,
    arbiter_sram1_perf_event_access_contested = 12,
    arbiter_sram2_perf_event_access = 11,
    arbiter_sram2_perf_event_access_contested = 10,
    arbiter_sram3_perf_event_access = 9,
    arbiter_sram3_perf_event_access_contested = 8,
    arbiter_sram4_perf_event_access = 7,
    arbiter_sram4_perf_event_access_contested = 6,
    arbiter_sram5_perf_event_access = 5,
    arbiter_sram5_perf_event_access_contested = 4,
    arbiter_fastperi_perf_event_access = 3,
    arbiter_fastperi_perf_event_access_contested = 2,
    arbiter_apb_perf_event_access = 1,
    arbiter_apb_perf_event_access_contested = 0
} bus_ctrl_perf_counter_t;

there should be a lot more; this matches RP2040 I think

``` typedef enum bus_ctrl_perf_counter_rp2350 { arbiter_rom_perf_event_access = 19, arbiter_rom_perf_event_access_contested = 18, arbiter_xip_main_perf_event_access = 17, arbiter_xip_main_perf_event_access_contested = 16, arbiter_sram0_perf_event_access = 15, arbiter_sram0_perf_event_access_contested = 14, arbiter_sram1_perf_event_access = 13, arbiter_sram1_perf_event_access_contested = 12, arbiter_sram2_perf_event_access = 11, arbiter_sram2_perf_event_access_contested = 10, arbiter_sram3_perf_event_access = 9, arbiter_sram3_perf_event_access_contested = 8, arbiter_sram4_perf_event_access = 7, arbiter_sram4_perf_event_access_contested = 6, arbiter_sram5_perf_event_access = 5, arbiter_sram5_perf_event_access_contested = 4, arbiter_fastperi_perf_event_access = 3, arbiter_fastperi_perf_event_access_contested = 2, arbiter_apb_perf_event_access = 1, arbiter_apb_perf_event_access_contested = 0 } bus_ctrl_perf_counter_t; ``` there should be a lot more; this matches RP2040 I think
lurch commented 2026-05-05 07:33:29 -05:00 (Migrated from github.com)
Looks like https://github.com/raspberrypi/pico-sdk/blob/develop/src/rp2350/hardware_regs/include/hardware/regs/busctrl.h#L98 contains the full list of RP2350 values.
matiasilva commented 2026-05-20 10:29:49 -05:00 (Migrated from github.com)

The numbering on the two are completely different. Names different too. How do we reconcile this?

The numbering on the two are completely different. Names different too. How do we reconcile this?
lurch commented 2026-05-20 11:30:21 -05:00 (Migrated from github.com)

It looks like the current bus_ctrl_perf_counter_rp2350 is actually completely wrong, as it's currently just the same as bus_ctrl_perf_counter_rp2040 https://github.com/raspberrypi/pico-sdk/blob/develop/src/rp2040/hardware_structs/include/hardware/structs/busctrl.h#L28 ?

It _looks_ like the current `bus_ctrl_perf_counter_rp2350` is actually completely wrong, as it's currently just the same as `bus_ctrl_perf_counter_rp2040` https://github.com/raspberrypi/pico-sdk/blob/develop/src/rp2040/hardware_structs/include/hardware/structs/busctrl.h#L28 ?
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
gh-raspberrypi/pico-sdk#2920
No description provided.