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

AM62Lx scmi PD IDs doc #6

Draft
wants to merge 1 commit into
base: ti-master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/plat/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ Platform Ports
synquacer
st/index
ti-k3
ti-am62l
xilinx-versal-net
xilinx-versal
xilinx-zynqmp
Expand Down
211 changes: 211 additions & 0 deletions docs/plat/ti-am62l.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,211 @@
Texas Instruments AM62L
========================

Trusted Firmware-A (TF-A) implements the EL3 firmware layer for Texas Instruments AM62L SoC.

AM62L Device/ SCMI ID List:
===========================

Below are the SCMI ID's to be used starting with 0.
For eg. in the Linux Kernel DT, for FSS OSPI: power-domains = <&scmi_pds 32>;

+---------+--------------------------------------------+----------------------------+
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please arrange it the other way around? Device Name, String, ID

| SCMI ID | Device Name | String Representation |
+---------+--------------------------------------------+----------------------------+
| 0 | AM62LX_DEV_ADC0 | ADC0 |
+---------+--------------------------------------------+----------------------------+
| 1 | AM62LX_DEV_MAIN_GPIOMUX_INTROUTER0 | MAIN_GPIOMUX_INTROUTER0 |
+---------+--------------------------------------------+----------------------------+
| 2 | AM62LX_DEV_TIMESYNC_INTROUTER0 | TIMESYNC_INTROUTER0 |
+---------+--------------------------------------------+----------------------------+
| 3 | AM62LX_DEV_CPSW0 | CPSW0 |
+---------+--------------------------------------------+----------------------------+
| 4 | AM62LX_DEV_CPT2_AGGR0 | CPT2_AGGR0 |
+---------+--------------------------------------------+----------------------------+
| 5 | AM62LX_DEV_CPT2_AGGR1 | CPT2_AGGR1 |
+---------+--------------------------------------------+----------------------------+
| 6 | AM62LX_DEV_WKUP_CPT2_AGGR0 | WKUP_CPT2_AGGR0 |
+---------+--------------------------------------------+----------------------------+
| 7 | AM62LX_DEV_STM0 | STM0 |
+---------+--------------------------------------------+----------------------------+
| 8 | AM62LX_DEV_DEBUGSS_WRAP0 | DEBUGSS_WRAP0 |
+---------+--------------------------------------------+----------------------------+
| 9 | AM62LX_DEV_DMASS0 | DMASS0 |
+---------+--------------------------------------------+----------------------------+
| 10 | AM62LX_DEV_DMASS0_BCDMA_0 | DMASS0_BCDMA_0 |
+---------+--------------------------------------------+----------------------------+
| 11 | AM62LX_DEV_DMASS0_PKTDMA_0 | DMASS0_PKTDMA_0 |
+---------+--------------------------------------------+----------------------------+
| 12 | AM62LX_DEV_WKUP_DMASS0 | WKUP_DMASS0 |
+---------+--------------------------------------------+----------------------------+
| 13 | AM62LX_DEV_WKUP_DMASS0_DTHE | WKUP_DMASS0_DTHE |
+---------+--------------------------------------------+----------------------------+
| 14 | AM62LX_DEV_WKUP_DMASS0_XLCDMA_0 | WKUP_DMASS0_XLCDMA_0 |
+---------+--------------------------------------------+----------------------------+
| 15 | AM62LX_DEV_TIMER0 | TIMER0 |
+---------+--------------------------------------------+----------------------------+
| 16 | AM62LX_DEV_TIMER1 | TIMER1 |
+---------+--------------------------------------------+----------------------------+
| 17 | AM62LX_DEV_TIMER2 | TIMER2 |
+---------+--------------------------------------------+----------------------------+
| 18 | AM62LX_DEV_TIMER3 | TIMER3 |
+---------+--------------------------------------------+----------------------------+
| 19 | AM62LX_DEV_WKUP_TIMER0 | WKUP_TIMER0 |
+---------+--------------------------------------------+----------------------------+
| 20 | AM62LX_DEV_WKUP_TIMER1 | WKUP_TIMER1 |
+---------+--------------------------------------------+----------------------------+
| 21 | AM62LX_DEV_WKUP_SMS_LITE0 | WKUP_SMS_LITE0 |
+---------+--------------------------------------------+----------------------------+
| 22 | AM62LX_DEV_ECAP0 | ECAP0 |
+---------+--------------------------------------------+----------------------------+
| 23 | AM62LX_DEV_ECAP1 | ECAP1 |
+---------+--------------------------------------------+----------------------------+
| 24 | AM62LX_DEV_ECAP2 | ECAP2 |
+---------+--------------------------------------------+----------------------------+
| 25 | AM62LX_DEV_ELM0 | ELM0 |
+---------+--------------------------------------------+----------------------------+
| 26 | AM62LX_DEV_MMCSD1 | MMCSD1 |
+---------+--------------------------------------------+----------------------------+
| 27 | AM62LX_DEV_MMCSD2 | MMCSD2 |
+---------+--------------------------------------------+----------------------------+
| 28 | AM62LX_DEV_MMCSD0 | MMCSD0 |
+---------+--------------------------------------------+----------------------------+
| 29 | AM62LX_DEV_EQEP0 | EQEP0 |
+---------+--------------------------------------------+----------------------------+
| 30 | AM62LX_DEV_EQEP1 | EQEP1 |
+---------+--------------------------------------------+----------------------------+
| 31 | AM62LX_DEV_EQEP2 | EQEP2 |
+---------+--------------------------------------------+----------------------------+
| 32 | AM62LX_DEV_FSS0 | FSS0 |
+---------+--------------------------------------------+----------------------------+
| 33 | AM62LX_DEV_GICSS0 | GICSS0 |
+---------+--------------------------------------------+----------------------------+
| 34 | AM62LX_DEV_GPIO0 | GPIO0 |
+---------+--------------------------------------------+----------------------------+
| 35 | AM62LX_DEV_GPIO2 | GPIO2 |
+---------+--------------------------------------------+----------------------------+
| 36 | AM62LX_DEV_WKUP_GPIO0 | WKUP_GPIO0 |
+---------+--------------------------------------------+----------------------------+
| 37 | AM62LX_DEV_GPMC0 | GPMC0 |
+---------+--------------------------------------------+----------------------------+
| 38 | AM62LX_DEV_DSS_DSI0 | DSS_DSI0 |
+---------+--------------------------------------------+----------------------------+
| 39 | AM62LX_DEV_DSS0 | DSS0 |
+---------+--------------------------------------------+----------------------------+
| 40 | AM62LX_DEV_EPWM0 | EPWM0 |
+---------+--------------------------------------------+----------------------------+
| 41 | AM62LX_DEV_EPWM1 | EPWM1 |
+---------+--------------------------------------------+----------------------------+
| 42 | AM62LX_DEV_EPWM2 | EPWM2 |
+---------+--------------------------------------------+----------------------------+
| 43 | AM62LX_DEV_LED0 | LED0 |
+---------+--------------------------------------------+----------------------------+
| 44 | AM62LX_DEV_PBIST0 | PBIST0 |
+---------+--------------------------------------------+----------------------------+
| 45 | AM62LX_DEV_WKUP_PBIST0 | WKUP_PBIST0 |
+---------+--------------------------------------------+----------------------------+
| 46 | AM62LX_DEV_WKUP_VTM0 | WKUP_VTM0 |
+---------+--------------------------------------------+----------------------------+
| 47 | AM62LX_DEV_MCAN0 | MCAN0 |
+---------+--------------------------------------------+----------------------------+
| 48 | AM62LX_DEV_MCAN1 | MCAN1 |
+---------+--------------------------------------------+----------------------------+
| 49 | AM62LX_DEV_MCAN2 | MCAN2 |
+---------+--------------------------------------------+----------------------------+
| 50 | AM62LX_DEV_MCASP0 | MCASP0 |
+---------+--------------------------------------------+----------------------------+
| 51 | AM62LX_DEV_MCASP1 | MCASP1 |
+---------+--------------------------------------------+----------------------------+
| 52 | AM62LX_DEV_MCASP2 | MCASP2 |
+---------+--------------------------------------------+----------------------------+
| 53 | AM62LX_DEV_I2C0 | I2C0 |
+---------+--------------------------------------------+----------------------------+
| 54 | AM62LX_DEV_I2C1 | I2C1 |
+---------+--------------------------------------------+----------------------------+
| 55 | AM62LX_DEV_I2C2 | I2C2 |
+---------+--------------------------------------------+----------------------------+
| 56 | AM62LX_DEV_I2C3 | I2C3 |
+---------+--------------------------------------------+----------------------------+
| 57 | AM62LX_DEV_WKUP_I2C0 | WKUP_I2C0 |
+---------+--------------------------------------------+----------------------------+
| 58 | AM62LX_DEV_WKUP_GTC0 | WKUP_GTC0 |
+---------+--------------------------------------------+----------------------------+
| 59 | AM62LX_DEV_WKUP_RTCSS0 | WKUP_RTCSS0 |
+---------+--------------------------------------------+----------------------------+
| 60 | AM62LX_DEV_RTI0 | RTI0 |
+---------+--------------------------------------------+----------------------------+
| 61 | AM62LX_DEV_RTI1 | RTI1 |
+---------+--------------------------------------------+----------------------------+
| 62 | AM62LX_DEV_DEBUGSS0 | DEBUGSS0 |
+---------+--------------------------------------------+----------------------------+
| 63 | AM62LX_DEV_MSRAM_96K0 | MSRAM_96K0 |
+---------+--------------------------------------------+----------------------------+
| 64 | AM62LX_DEV_WKUP_PSRAM_64K0 | WKUP_PSRAM_64K0 |
+---------+--------------------------------------------+----------------------------+
| 65 | AM62LX_DEV_ROM0 | ROM0 |
+---------+--------------------------------------------+----------------------------+
| 66 | AM62LX_DEV_PSC0 | PSC0 |
+---------+--------------------------------------------+----------------------------+
| 67 | AM62LX_DEV_WKUP_DEEPSLEEP_SOURCES0 | WKUP_DEEPSLEEP_SOURCES0 |
+---------+--------------------------------------------+----------------------------+
| 68 | AM62LX_DEV_MCU_MCU_16FF0 | MCU_MCU_16FF0 |
+---------+--------------------------------------------+----------------------------+
| 69 | AM62LX_DEV_COMPUTE_CLUSTER0_ARM_COREPACK_0 | ARM_COREPACK_0 |
+---------+--------------------------------------------+----------------------------+
| 70 | AM62LX_DEV_DDR16SS0 | DDR16SS0 |
+---------+--------------------------------------------+----------------------------+
| 71 | AM62LX_DEV_WKUP_DFTSS0 | WKUP_DFTSS0 |
+---------+--------------------------------------------+----------------------------+
| 72 | AM62LX_DEV_MCSPI0 | MCSPI0 |
+---------+--------------------------------------------+----------------------------+
| 73 | AM62LX_DEV_MCSPI1 | MCSPI1 |
+---------+--------------------------------------------+----------------------------+
| 74 | AM62LX_DEV_MCSPI2 | MCSPI2 |
+---------+--------------------------------------------+----------------------------+
| 75 | AM62LX_DEV_MCSPI3 | MCSPI3 |
+---------+--------------------------------------------+----------------------------+
| 76 | AM62LX_DEV_TRNG_DRBG_EIP76D_WRAP0 | TRNG_DRBG_EIP76D_WRAP0 |
+---------+--------------------------------------------+----------------------------+
| 77 | AM62LX_DEV_UART1 | UART1 |
+---------+--------------------------------------------+----------------------------+
| 78 | AM62LX_DEV_UART2 | UART2 |
+---------+--------------------------------------------+----------------------------+
| 79 | AM62LX_DEV_UART3 | UART3 |
+---------+--------------------------------------------+----------------------------+
| 80 | AM62LX_DEV_UART4 | UART4 |
+---------+--------------------------------------------+----------------------------+
| 81 | AM62LX_DEV_UART5 | UART5 |
+---------+--------------------------------------------+----------------------------+
| 82 | AM62LX_DEV_UART6 | UART6 |
+---------+--------------------------------------------+----------------------------+
| 83 | AM62LX_DEV_WKUP_UART0 | WKUP_UART0 |
+---------+--------------------------------------------+----------------------------+
| 84 | AM62LX_DEV_USB0 | USB0 |
+---------+--------------------------------------------+----------------------------+
| 85 | AM62LX_DEV_USB1 | USB1 |
+---------+--------------------------------------------+----------------------------+
| 86 | AM62LX_DEV_DPHY_TX0 | DPHY_TX0 |
+---------+--------------------------------------------+----------------------------+
| 87 | AM62LX_DEV_COMPUTE_CLUSTER0_CLKDIV_0 | CLKDIV_0 |
+---------+--------------------------------------------+----------------------------+
| 88 | AM62LX_DEV_COMPUTE_CLUSTER0_PBIST_0 | PBIST_0 |
+---------+--------------------------------------------+----------------------------+
| 89 | AM62LX_DEV_UART0 | UART0 |
+---------+--------------------------------------------+----------------------------+
| 90 | AM62LX_DEV_BOARD0 | BOARD0 |
+---------+--------------------------------------------+----------------------------+
| 91 | AM62LX_DEV_WKUP_GTCCLK_SEL_DEV_VD | WKUP_GTCCLK_SEL_DEV_VD |
+---------+--------------------------------------------+----------------------------+
| 92 | AM62LX_DEV_WKUP_OBSCLK_MUX_SEL_DEV_VD | WKUP_OBSCLK_MUX_SEL_DEV_VD |
+---------+--------------------------------------------+----------------------------+
| 93 | AM62LX_DEV_WKUP_CLKOUT_SEL_DEV_VD | WKUP_CLKOUT_SEL_DEV_VD |
+---------+--------------------------------------------+----------------------------+
| 94 | AM62LX_DEV_OBSCLK0_MUX_SEL_DEV_VD | OBSCLK0_MUX_SEL_DEV_VD |
+---------+--------------------------------------------+----------------------------+
| 95 | AM62LX_DEV_MAIN_USB0_ISO_VD | USB0_ISO_VD |
+---------+--------------------------------------------+----------------------------+
| 96 | AM62LX_DEV_MAIN_USB1_ISO_VD | USB1_ISO_VD |
+---------+--------------------------------------------+----------------------------+
| 97 | AM62LX_DEV_CLK_32K_RC_SEL_DEV_VD | CLK_32K_RC |
+---------+--------------------------------------------+----------------------------+

37 changes: 37 additions & 0 deletions tools/scmi_id_gen_pd.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/usr/bin/python3

def extract_power_domains(filename):
table = [["SCMI ID", "Device Name", "String Representation"]]
i = 0
with open(filename, 'r') as file:
for line in file:
if "AM62L_POWER_DOMAIN" in line:
line1 = line.split('(')
else:
continue
if (len(line1) > 2):
line2 = line1[1].rstrip(", str")
line3 = line1[2][:-4]
table.append([str(i), line2, line3])
i += 1

return table

def print_table(table):
col_widths = [max(len(row[i]) for row in table) for i in range(len(table[0]))]

# Print the table header separator
print("+" + "+".join("-" * (w + 2) for w in col_widths) + "+")

for i, row in enumerate(table):
# Print the row content
print("| " + " | ".join(cell.ljust(col_widths[j]) for j, cell in enumerate(row)) + " |")

# Print the separator after the header and after every row
print("+" + "+".join("-" * (w + 2) for w in col_widths) + "+")

if __name__ == "__main__":
filename = "plat/ti/k3/board/am62l/scmi/scmi_pd_data.h" # Change this to your actual C file name
table = extract_power_domains(filename)
print_table(table)