ShiboSoftwareDev/am625sip-linux-board
This code defines the physical footprint and pin layout for an AM625 System-in-Package (SIP) component, detailing pad positions, pin labels, and package outline for hardware integration.
- Version
- 1.0.24
- License
- unset
- Stars
- 0
components/am625sip.tsx
import type { ChipProps } from "@tscircuit/props"
import { Fragment } from "react"
/**
* AM6254ATLHJAMKR / AMK0425A package map transcribed from TI SPRSP98A,
* Figure 5-1. Tuple fields are ball name, primary signal, zero-based column,
* and zero-based row in the top-view 25 x 25, 0.5 mm grid.
*/
export const AM625SIP_BALLS = [
["A1", "VSS", 0, 0],
["A2", "RSVD1", 1, 0],
["A3", "MCU_OSC0_XO", 2, 0],
["A4", "WKUP_UART0_RTSn", 3, 0],
["A5", "MCU_UART0_TXD", 4, 0],
["A6", "MCU_UART0_CTSn", 5, 0],
["A7", "MCU_SPI0_CLK", 6, 0],
["A8", "MCU_I2C0_SCL", 7, 0],
["A9", "WKUP_I2C0_SDA", 8, 0],
["A10", "TCK", 9, 0],
["A11", "TDI", 10, 0],
["A12", "WKUP_CLKOUT0", 11, 0],
["A13", "SPI0_CS0", 12, 0],
["A14", "SPI0_CLK", 13, 0],
["A15", "UART0_CTSn", 14, 0],
["A16", "I2C0_SDA", 15, 0],
["A17", "I2C1_SDA", 16, 0],
["A18", "EXT_REFCLK1", 17, 0],
["A19", "MCASP0_AXR2", 18, 0],
["A20", "MCASP0_ACLKR", 19, 0],
["A21", "MMC1_CMD", 20, 0],
["A22", "MMC1_DAT0", 21, 0],
["A23", "MMC2_SDCD", 22, 0],
["A24", "VSS", 23, 0],
["A25", "VSS", 24, 0],
["B1", "RSVD0", 0, 1],
["B2", "MCU_OSC0_XI", 1, 1],
["B3", "MCU_MCAN0_RX", 2, 1],
["B4", "WKUP_UART0_RXD", 3, 1],
["B5", "MCU_UART0_RXD", 4, 1],
["B6", "MCU_UART0_RTSn", 5, 1],
["B7", "PMIC_LPM_EN0", 6, 1],
["B8", "MCU_SPI0_CS1", 7, 1],
["B9", "WKUP_I2C0_SCL", 8, 1],
["B10", "TRSTn", 9, 1],
["B11", "TMS", 10, 1],
["B12", "MCU_RESETSTATz", 11, 1],
["B13", "SPI0_D0", 12, 1],
["B14", "SPI0_D1", 13, 1],
["B15", "UART0_RTSn", 14, 1],
["B16", "I2C0_SCL", 15, 1],
["B17", "I2C1_SCL", 16, 1],
["B18", "MCASP0_AXR1", 17, 1],
["B19", "MCASP0_AXR3", 18, 1],
["B20", "MCASP0_ACLKX", 19, 1],
["B21", "MMC1_DAT1", 20, 1],
["B22", "MMC1_CLK", 21, 1],
["B23", "MMC2_SDWP", 22, 1],
["B24", "MMC2_DAT0", 23, 1],
["B25", "VSS", 24, 1],
["C1", "WKUP_LFOSC0_XO", 0, 2],
["C2", "WKUP_LFOSC0_XI", 1, 2],
["C5", "WKUP_UART0_TXD", 4, 2],
["C6", "WKUP_UART0_CTSn", 5, 2],
["C9", "MCU_SPI0_D1", 8, 2],
["C11", "EMU1", 10, 2],
["C13", "SPI0_CS1", 12, 2],
["C15", "MCAN0_TX", 14, 2],
["C17", "MMC1_SDWP", 16, 2],
["C20", "USB0_DRVVBUS", 19, 2],
["C21", "MMC1_DAT2", 20, 2],
["C24", "MMC2_CMD", 23, 2],
["C25", "MMC2_DAT1", 24, 2],
["D1", "MCU_ERRORn", 0, 3],
["D2", "MCU_PORz", 1, 3],
["D4", "MCU_MCAN1_RX", 3, 3],
["D6", "MCU_MCAN0_TX", 5, 3],
["D9", "MCU_SPI0_D0", 8, 3],
["D10", "MCU_I2C0_SDA", 9, 3],
["D12", "TDO", 11, 3],
["D14", "UART0_RXD", 13, 3],
["D16", "EXTINTn", 15, 3],
["D17", "MMC1_SDCD", 16, 3],
["D20", "MCASP0_AFSX", 19, 3],
["D22", "MMC1_DAT3", 21, 3],
["D24", "MMC2_DAT3", 23, 3],
["D25", "MMC2_CLK", 24, 3],
["E1", "VSS", 0, 4],
["E2", "VSS", 1, 4],
["E3", "VSS", 2, 4],
["E5", "MCU_MCAN1_TX", 4, 4],
["E7", "RSVD8", 6, 4],
["E8", "MCU_SPI0_CS0", 7, 4],
["E11", "MCU_RESETz", 10, 4],
["E12", "EMU0", 11, 4],
["E14", "UART0_TXD", 13, 4],
["E15", "MCAN0_RX", 14, 4],
["E18", "MCASP0_AXR0", 17, 4],
["E19", "MCASP0_AFSR", 18, 4],
["E21", "PORz_OUT", 20, 4],
["E23", "MMC2_DAT2", 22, 4],
["E24", "OSPI0_CSn3", 23, 4],
["E25", "OSPI0_D0", 24, 4],
["F1", "VSS", 0, 5],
["F2", "VDDS_MEM_1P1", 1, 5],
["F3", "VSS", 2, 5],
["F4", "VSS", 3, 5],
["F6", "RSVD2", 5, 5],
["F8", "VDD_CANUART", 7, 5],
["F11", "VDDSHV_MCU", 10, 5],
["F13", "VSS", 12, 5],
["F15", "VDDSHV0", 14, 5],
["F18", "USB1_DRVVBUS", 17, 5],
["F20", "RESET_REQz", 19, 5],
["F22", "RESETSTATz", 21, 5],
["F23", "OSPI0_CSn0", 22, 5],
["F24", "OSPI0_D3", 23, 5],
["F25", "OSPI0_D2", 24, 5],
["G1", "DDR0_RESET0_n", 0, 6],
["G2", "VDDS_MEM_1P1", 1, 6],
["G5", "VSS", 4, 6],
["G7", "VDDS_OSC0", 6, 6],
["G9", "CAP_VDDS_CANUART", 8, 6],
["G10", "VMON_1P8_SOC", 9, 6],
["G12", "VDDSHV_MCU", 11, 6],
["G13", "VSS", 12, 6],
["G14", "VDDSHV0", 13, 6],
["G16", "VDDA_TEMP1", 15, 6],
["G17", "VDDSHV5", 16, 6],
["G19", "VSS", 18, 6],
["G21", "OSPI0_CSn1", 20, 6],
["G24", "OSPI0_D1", 23, 6],
["G25", "OSPI0_LBCLKO", 24, 6],
["H1", "VDDS_MEM_1P1", 0, 7],
["H2", "VDDS_MEM_1P1", 1, 7],
["H5", "VSS", 4, 7],
["H6", "VSS", 5, 7],
["H8", "VDD_CORE", 7, 7],
["H9", "VDDSHV_CANUART", 8, 7],
["H10", "VMON_VSYS", 9, 7],
["H11", "CAP_VDDS_MCU", 10, 7],
["H13", "VSS", 12, 7],
["H15", "CAP_VDDS0", 14, 7],
["H16", "VSS", 15, 7],
["H17", "CAP_VDDS5", 16, 7],
["H18", "VSS", 17, 7],
["H20", "VSS", 19, 7],
["H21", "OSPI0_CSn2", 20, 7],
["H24", "OSPI0_CLK", 23, 7],
["H25", "OSPI0_D6", 24, 7],
["J1", "VSS", 0, 8],
["J2", "VSS", 1, 8],
["J3", "VSS", 2, 8],
["J4", "VSS", 3, 8],
["J7", "VSS", 6, 8],
["J8", "VPP", 7, 8],
["J11", "VDD_CORE", 10, 8],
["J12", "VDDR_CORE", 11, 8],
["J13", "VSS", 12, 8],
["J14", "VDD_CORE", 13, 8],
["J18", "VDDSHV6", 17, 8],
["J19", "CAP_VDDS6", 18, 8],
["J22", "OSPI0_D7", 21, 8],
["J23", "OSPI0_D4", 22, 8],
["J24", "OSPI0_DQS", 23, 8],
["J25", "OSPI0_D5", 24, 8],
["K1", "VSS", 0, 9],
["K2", "VSS", 1, 9],
["K3", "VSS", 2, 9],
["K4", "VSS", 3, 9],
["K7", "VSS", 6, 9],
["K9", "VDDS_DDR", 8, 9],
["K10", "VMON_3P3_SOC", 9, 9],
["K13", "VSS", 12, 9],
["K15", "VSS", 14, 9],
["K16", "VDDR_CORE", 15, 9],
["K17", "VDD_CORE", 16, 9],
["K18", "CAP_VDDS1", 17, 9],
["K19", "VSS", 18, 9],
["K22", "GPMC0_CSn2", 21, 9],
["K24", "GPMC0_CSn3", 23, 9],
["K25", "GPMC0_WPn", 24, 9],
["L1", "VSS", 0, 10],
["L2", "VSS", 1, 10],
["L5", "VSS", 4, 10],
["L6", "VSS", 5, 10],
["L8", "VDDS_DDR", 7, 10],
["L11", "VDDA_MCU", 10, 10],
["L12", "VDD_CORE", 11, 10],
["L14", "VDDA_PLL2", 13, 10],
["L15", "VDD_CORE", 14, 10],
["L18", "VDDSHV1", 17, 10],
["L20", "VSS", 19, 10],
["L21", "GPMC0_CSn1", 20, 10],
["L23", "GPMC0_ADVn_ALE", 22, 10],
["L24", "GPMC0_OEn_REn", 23, 10],
["L25", "GPMC0_WEn", 24, 10],
["M1", "VSS", 0, 11],
["M2", "DDR0_CAL0", 1, 11],
["M4", "VDDS_MEM_1P8", 3, 11],
["M5", "VSS", 4, 11],
["M7", "VSS", 6, 11],
["M8", "VSS", 7, 11],
["M9", "VDDS_DDR", 8, 11],
["M10", "VSS", 9, 11],
["M12", "VSS", 11, 11],
["M13", "VSS", 12, 11],
["M16", "VDD_CORE", 15, 11],
["M17", "VSS", 16, 11],
["M18", "VSS", 17, 11],
["M19", "VDDSHV1", 18, 11],
["M21", "GPMC0_CSn0", 20, 11],
["M22", "GPMC0_DIR", 21, 11],
["M24", "GPMC0_BE0n_CLE", 23, 11],
["M25", "GPMC0_AD0", 24, 11],
["N1", "VDDS_MEM_1P1", 0, 12],
["N2", "VDDS_MEM_1P1", 1, 12],
["N3", "VDDS_MEM_1P8", 2, 12],
["N6", "VSS", 5, 12],
["N8", "VDD_CORE", 7, 12],
["N11", "VDD_CORE", 10, 12],
["N12", "VDDR_CORE", 11, 12],
["N13", "VDD_CORE", 12, 12],
["N14", "VDDR_CORE", 13, 12],
["N15", "VSS", 14, 12],
["N18", "VDDSHV3", 17, 12],
["N20", "GPMC0_BE1n", 19, 12],
["N23", "GPMC0_AD1", 22, 12],
["N24", "GPMC0_AD2", 23, 12],
["N25", "GPMC0_AD3", 24, 12],
["P1", "VSS", 0, 13],
["P2", "VDDS_MEM_1P1", 1, 13],
["P4", "VSS", 3, 13],
["P5", "VSS", 4, 13],
["P7", "VSS", 6, 13],
["P9", "VDDS_DDR", 8, 13],
["P10", "VSS", 9, 13],
["P13", "VSS", 12, 13],
["P16", "VDDR_CORE", 15, 13],
["P17", "VDD_CORE", 16, 13],
["P18", "VDDSHV3", 17, 13],
["P19", "CAP_VDDS3", 18, 13],
["P21", "GPMC0_AD6", 20, 13],
["P22", "GPMC0_AD5", 21, 13],
["P24", "GPMC0_AD4", 23, 13],
["P25", "GPMC0_CLK", 24, 13],
["R1", "VSS", 0, 14],
["R2", "VDDS_MEM_1P1", 1, 14],
["R3", "DDR_ZQ", 2, 14],
["R5", "VSS", 4, 14],
["R6", "VSS", 5, 14],
["R8", "VDDS_DDR", 7, 14],
["R11", "VDD_CORE", 10, 14],
["R12", "VDDR_CORE", 11, 14],
["R13", "VSS", 12, 14],
["R14", "VDD_CORE", 13, 14],
["R15", "VSS", 14, 14],
["R18", "VSS", 17, 14],
["R20", "VSS", 19, 14],
["R21", "GPMC0_AD11", 20, 14],
["R23", "GPMC0_AD7", 22, 14],
["R24", "GPMC0_AD8", 23, 14],
["R25", "GPMC0_AD9", 24, 14],
["T1", "VSS", 0, 15],
["T2", "RSVD4", 1, 15],
["T4", "VSS", 3, 15],
["T7", "VDDSHV4", 6, 15],
["T8", "VSS", 7, 15],
["T9", "VDDA_TEMP0", 8, 15],
["T10", "VDDR_CORE", 9, 15],
["T13", "VSS", 12, 15],
["T14", "VSS", 13, 15],
["T16", "VSS", 15, 15],
["T17", "VSS", 16, 15],
["T18", "VSS", 17, 15],
["T19", "VDDSHV3", 18, 15],
["T22", "GPMC0_AD12", 21, 15],
["T24", "GPMC0_AD13", 23, 15],
["T25", "GPMC0_AD10", 24, 15],
["U1", "VDDS_MEM_1P1", 0, 16],
["U2", "VDDS_MEM_1P1", 1, 16],
["U3", "VSS", 2, 16],
["U4", "RSVD5", 3, 16],
["U7", "CAP_VDDS4", 6, 16],
["U8", "VSS", 7, 16],
["U11", "VDDA_PLL0", 10, 16],
["U12", "VDD_CORE", 11, 16],
["U14", "VDDR_CORE", 13, 16],
["U15", "VDDA_PLL1", 14, 16],
["U18", "VDDSHV3", 17, 16],
["U19", "VSS", 18, 16],
["U22", "VOUT0_DATA0", 21, 16],
["U23", "GPMC0_WAIT0", 22, 16],
["U24", "GPMC0_AD15", 23, 16],
["U25", "GPMC0_AD14", 24, 16],
["V1", "VSS", 0, 17],
["V2", "VDDS_MEM_1P1", 1, 17],
["V5", "VSS", 4, 17],
["V6", "VSS", 5, 17],
["V8", "VDD_CORE", 7, 17],
["V9", "VSS", 8, 17],
["V10", "VSS", 9, 17],
["V11", "VSS", 10, 17],
["V13", "VSS", 12, 17],
["V15", "VDD_CORE", 14, 17],
["V16", "VSS", 15, 17],
["V17", "VDD_CORE", 16, 17],
["V18", "VSS", 17, 17],
["V20", "VOUT0_DATA10", 19, 17],
["V21", "VOUT0_DATA8", 20, 17],
["V24", "VOUT0_DATA1", 23, 17],
["V25", "GPMC0_WAIT1", 24, 17],
["W1", "VSS", 0, 18],
["W2", "VDDS_MEM_1P1", 1, 18],
["W5", "VSS", 4, 18],
["W7", "VSS", 6, 18],
["W9", "VDDA_1P8_OLDI0", 8, 18],
["W10", "VDDA_1P8_OLDI0", 9, 18],
["W12", "VDDA_CORE_USB", 11, 18],
["W13", "VDDA_CORE_CSIRX0", 12, 18],
["W14", "VDDA_1P8_CSIRX0", 13, 18],
["W16", "VDDSHV2", 15, 18],
["W17", "CAP_VDDS2", 16, 18],
["W19", "VDDSHV2", 18, 18],
["W21", "VOUT0_DATA9", 20, 18],
["W24", "VOUT0_DATA3", 23, 18],
["W25", "VOUT0_DATA2", 24, 18],
["Y1", "VSS", 0, 19],
["Y2", "VSS", 1, 19],
["Y3", "MMC0_CMD", 2, 19],
["Y4", "MMC0_DAT3", 3, 19],
["Y6", "OLDI0_A0P", 5, 19],
["Y8", "OLDI0_A2N", 7, 19],
["Y11", "VDDA_1P8_USB", 10, 19],
["Y13", "VDDA_3P3_USB", 12, 19],
["Y15", "RSVD7", 14, 19],
["Y18", "RGMII2_TD0", 17, 19],
["Y20", "VOUT0_DE", 19, 19],
["Y22", "VOUT0_DATA14", 21, 19],
["Y23", "VOUT0_DATA6", 22, 19],
["Y24", "VOUT0_DATA5", 23, 19],
["Y25", "VOUT0_DATA4", 24, 19],
["AA1", "MMC0_DAT1", 0, 20],
["AA2", "MMC0_DAT0", 1, 20],
["AA3", "MMC0_DAT2", 2, 20],
["AA5", "OLDI0_A0N", 4, 20],
["AA7", "OLDI0_A3P", 6, 20],
["AA8", "OLDI0_A2P", 7, 20],
["AA11", "VSS", 10, 20],
["AA12", "RSVD6", 11, 20],
["AA14", "CSI0_RXRCALIB", 13, 20],
["AA15", "RGMII1_RD3", 14, 20],
["AA18", "RGMII2_TD1", 17, 20],
["AA19", "RGMII2_TX_CTL", 18, 20],
["AA21", "VOUT0_DATA15", 20, 20],
["AA23", "VOUT0_DATA11", 22, 20],
["AA24", "VOUT0_DATA13", 23, 20],
["AA25", "VOUT0_DATA7", 24, 20],
["AB1", "MMC0_CLK", 0, 21],
["AB2", "MMC0_DAT4", 1, 21],
["AB4", "OLDI0_A1P", 3, 21],
["AB6", "OLDI0_A3N", 5, 21],
["AB9", "VSS", 8, 21],
["AB10", "USB1_VBUS", 9, 21],
["AB12", "CSI0_RXN3", 11, 21],
["AB14", "CSI0_RXN0", 13, 21],
["AB16", "RGMII1_RD2", 15, 21],
["AB17", "RGMII1_RD0", 16, 21],
["AB20", "RGMII2_RD1", 19, 21],
["AB22", "MDIO0_MDIO", 21, 21],
["AB24", "VOUT0_HSYNC", 23, 21],
["AB25", "VOUT0_DATA12", 24, 21],
["AC1", "MMC0_DAT5", 0, 22],
["AC2", "MMC0_DAT7", 1, 22],
["AC5", "OLDI0_A4P", 4, 22],
["AC6", "OLDI0_A4N", 5, 22],
["AC9", "USB1_RCALIB", 8, 22],
["AC11", "USB0_VBUS", 10, 22],
["AC13", "CSI0_RXP3", 12, 22],
["AC15", "CSI0_RXP0", 14, 22],
["AC17", "RGMII1_RD1", 16, 22],
["AC20", "RGMII2_TD3", 19, 22],
["AC21", "RGMII2_RD2", 20, 22],
["AC24", "VOUT0_PCLK", 23, 22],
["AC25", "VOUT0_VSYNC", 24, 22],
["AD1", "VSS", 0, 23],
["AD2", "MMC0_DAT6", 1, 23],
["AD3", "OLDI0_A1N", 2, 23],
["AD4", "OLDI0_CLK0N", 3, 23],
["AD5", "OLDI0_CLK1P", 4, 23],
["AD6", "OLDI0_A5P", 5, 23],
["AD7", "OLDI0_A6P", 6, 23],
["AD8", "OLDI0_A7N", 7, 23],
["AD9", "VSS", 8, 23],
["AD10", "USB1_DM", 9, 23],
["AD11", "USB0_DP", 10, 23],
["AD12", "VSS", 11, 23],
["AD13", "CSI0_RXN2", 12, 23],
["AD14", "CSI0_RXN1", 13, 23],
["AD15", "CSI0_RXCLKN", 14, 23],
["AD16", "VSS", 15, 23],
["AD17", "RGMII1_RXC", 16, 23],
["AD18", "RGMII1_TD3", 17, 23],
["AD19", "RGMII1_TX_CTL", 18, 23],
["AD20", "RGMII1_TD1", 19, 23],
["AD21", "RGMII2_TD2", 20, 23],
["AD22", "RGMII2_RX_CTL", 21, 23],
["AD23", "RGMII2_RXC", 22, 23],
["AD24", "MDIO0_MDC", 23, 23],
["AD25", "VSS", 24, 23],
["AE1", "VSS", 0, 24],
["AE2", "RSVD3", 1, 24],
["AE3", "OLDI0_CLK0P", 2, 24],
["AE4", "OLDI0_CLK1N", 3, 24],
["AE5", "OLDI0_A5N", 4, 24],
["AE6", "OLDI0_A6N", 5, 24],
["AE7", "OLDI0_A7P", 6, 24],
["AE8", "VSS", 7, 24],
["AE9", "USB1_DP", 8, 24],
["AE10", "USB0_RCALIB", 9, 24],
["AE11", "USB0_DM", 10, 24],
["AE12", "VSS", 11, 24],
["AE13", "CSI0_RXP2", 12, 24],
["AE14", "CSI0_RXP1", 13, 24],
["AE15", "CSI0_RXCLKP", 14, 24],
["AE16", "VSS", 15, 24],
["AE17", "RGMII1_RX_CTL", 16, 24],
["AE18", "RGMII1_TD2", 17, 24],
["AE19", "RGMII1_TXC", 18, 24],
["AE20", "RGMII1_TD0", 19, 24],
["AE21", "RGMII2_TXC", 20, 24],
["AE22", "RGMII2_RD3", 21, 24],
["AE23", "RGMII2_RD0", 22, 24],
["AE24", "VSS", 23, 24],
["AE25", "VSS", 24, 24],
] as const
export type Am625SipBallName = (typeof AM625SIP_BALLS)[number][0]
const signalOccurrenceCount = new Map<string, number>()
for (const [, signalName] of AM625SIP_BALLS) {
signalOccurrenceCount.set(
signalName,
(signalOccurrenceCount.get(signalName) ?? 0) + 1,
)
}
export const AM625SIP_PIN_LABELS: Record<string, readonly string[]> =
Object.fromEntries(
AM625SIP_BALLS.map(([ballName, signalName], ballIndex) => [
`pin${ballIndex + 1}`,
[
ballName,
`${ballName}_${signalName}`,
...(signalOccurrenceCount.get(signalName) === 1 ? [signalName] : []),
],
]),
)
const BALL_PITCH_MM = 0.5
const OUTER_BALL_OFFSET_MM = 6
export const Am625Sip = (props: ChipProps) => (
<chip
{...props}
manufacturerPartNumber="AM6254ATLHJAMKR"
pinLabels={AM625SIP_PIN_LABELS}
footprint={
<footprint>
{AM625SIP_BALLS.map(([, , columnIndex, rowIndex], ballIndex) => (
<Fragment key={`am625sip-ball-${ballIndex + 1}`}>
<smtpad
portHints={[`pin${ballIndex + 1}`]}
pcbX={-OUTER_BALL_OFFSET_MM + columnIndex * BALL_PITCH_MM}
pcbY={OUTER_BALL_OFFSET_MM - rowIndex * BALL_PITCH_MM}
radius="0.15mm"
shape="circle"
/>
</Fragment>
))}
<silkscreenpath
route={[
{ x: -6.65, y: -6.65 },
{ x: 6.65, y: -6.65 },
{ x: 6.65, y: 6.65 },
{ x: -6.65, y: 6.65 },
{ x: -6.65, y: -6.65 },
]}
/>
<silkscreencircle pcbX={-6.15} pcbY={6.15} radius="0.18mm" />
</footprint>
}
/>
)