astra/am3352-sbc

A 4-layer AM3352 single-board computer with 128‑MiB DDR3, PMIC power regulation, USB‑C 5‑V PD input, dual USB host ports, HDMI output with ESD protection, microSD/UART/JTAG interfaces, addressable RGB indicators, and a PWM-driven buzzer.

Version
0.1.19
License
unset
Stars
0

components/am3352.tsx

import type { ChipProps } from "@tscircuit/props"
import ballMap from "../design/am3352-ballmap.json"
// TI SPRS717L, ZCZ top-view maps, pages 15–17. Numeric selectors preserve imported ordering.
export const pinLabels = {
  pin1: ["A1", "VSS_A1"],
  pin2: ["B1", "DDR_A5_B1"],
  pin3: ["C1", "DDR_A9_C1"],
  pin4: ["D1", "DDR_CKn_D1"],
  pin5: ["E1", "DDR_BA1_E1"],
  pin6: ["F1", "DDR_CASn_F1"],
  pin7: ["G1", "DDR_ODT_G1"],
  pin8: ["H1", "DDR_A1_H1"],
  pin9: ["J1", "DDR_D8_J1"],
  pin10: ["K1", "DDR_D9_K1"],
  pin11: ["L1", "DDR_DQS1_L1"],
  pin12: ["M1", "DDR_D15_M1"],
  pin13: ["N1", "DDR_D2_N1"],
  pin14: ["P1", "DDR_DQS0_P1"],
  pin15: ["R1", "LCD_DATA0_R1"],
  pin16: ["T1", "LCD_DATA4_T1"],
  pin17: ["U1", "LCD_DATA8_U1"],
  pin18: ["V1", "VSS_V1"],
  pin19: ["A2", "VDD_MPU_MON_A2"],
  pin20: ["B2", "DDR_WEn_B2"],
  pin21: ["C2", "DDR_A4_C2"],
  pin22: ["D2", "DDR_CK_D2"],
  pin23: ["E2", "DDR_A7_E2"],
  pin24: ["F2", "DDR_A11_F2"],
  pin25: ["G2", "DDR_RESETn_G2"],
  pin26: ["H2", "DDR_CSn0_H2"],
  pin27: ["J2", "DDR_DQM1_J2"],
  pin28: ["K2", "DDR_D10_K2"],
  pin29: ["L2", "DDR_DQSn1_L2"],
  pin30: ["M2", "DDR_DQM0_M2"],
  pin31: ["N2", "DDR_D3_N2"],
  pin32: ["P2", "DDR_DQSn0_P2"],
  pin33: ["R2", "LCD_DATA1_R2"],
  pin34: ["T2", "LCD_DATA5_T2"],
  pin35: ["U2", "LCD_DATA9_U2"],
  pin36: ["V2", "LCD_DATA12_V2"],
  pin37: ["A3", "RESERVED_A3"],
  pin38: ["B3", "DDR_BA2_B3"],
  pin39: ["C3", "DDR_A3_C3"],
  pin40: ["D3", "DDR_A15_D3"],
  pin41: ["E3", "DDR_A12_E3"],
  pin42: ["F3", "DDR_A0_F3"],
  pin43: ["G3", "DDR_CKE_G3"],
  pin44: ["H3", "DDR_A13_H3"],
  pin45: ["J3", "DDR_VTP_J3"],
  pin46: ["K3", "DDR_D11_K3"],
  pin47: ["L3", "DDR_D13_L3"],
  pin48: ["M3", "DDR_D0_M3"],
  pin49: ["N3", "DDR_D4_N3"],
  pin50: ["P3", "DDR_D6_P3"],
  pin51: ["R3", "LCD_DATA2_R3"],
  pin52: ["T3", "LCD_DATA6_T3"],
  pin53: ["U3", "LCD_DATA10_U3"],
  pin54: ["V3", "LCD_DATA13_V3"],
  pin55: ["A4", "RTC_XTALOUT_A4"],
  pin56: ["B4", "RTC_KALDO_ENn_B4"],
  pin57: ["C4", "DDR_BA0_C4"],
  pin58: ["D4", "DDR_A8_D4"],
  pin59: ["E4", "DDR_A2_E4"],
  pin60: ["F4", "DDR_A10_F4"],
  pin61: ["G4", "DDR_RASn_G4"],
  pin62: ["H4", "DDR_A14_H4"],
  pin63: ["J4", "DDR_VREF_J4"],
  pin64: ["K4", "DDR_D12_K4"],
  pin65: ["L4", "DDR_D14_L4"],
  pin66: ["M4", "DDR_D1_M4"],
  pin67: ["N4", "DDR_D5_N4"],
  pin68: ["P4", "DDR_D7_P4"],
  pin69: ["R4", "LCD_DATA3_R4"],
  pin70: ["T4", "LCD_DATA7_T4"],
  pin71: ["U4", "LCD_DATA11_U4"],
  pin72: ["V4", "LCD_DATA14_V4"],
  pin73: ["A5", "VSS_RTC_A5"],
  pin74: ["B5", "RTC_PWRONRSTn_B5"],
  pin75: ["C5", "EXT_WAKEUP_C5"],
  pin76: ["D5", "DDR_A6_D5"],
  pin77: ["E5", "VDDS_DDR_E5"],
  pin78: ["F5", "VDDS_DDR_F5"],
  pin79: ["G5", "VDDS_DDR_G5"],
  pin80: ["H5", "VDDS_DDR_H5"],
  pin81: ["J5", "VDDS_DDR_J5"],
  pin82: ["K5", "VDDS_DDR_K5"],
  pin83: ["L5", "VDDS_DDR_L5"],
  pin84: ["M5", "VPP_M5"],
  pin85: ["N5", "VDDSHV6_N5"],
  pin86: ["P5", "VDDSHV6_P5"],
  pin87: ["R5", "LCD_HSYNC_R5"],
  pin88: ["T5", "LCD_DATA15_T5"],
  pin89: ["U5", "LCD_VSYNC_U5"],
  pin90: ["V5", "LCD_PCLK_V5"],
  pin91: ["A6", "RTC_XTALIN_A6"],
  pin92: ["B6", "AIN0_B6"],
  pin93: ["C6", "PMIC_POWER_EN_C6"],
  pin94: ["D6", "CAP_VDD_RTC_D6"],
  pin95: ["E6", "VDDS_E6"],
  pin96: ["F6", "VDD_CORE_F6"],
  pin97: ["G6", "VDD_CORE_G6"],
  pin98: ["H6", "VSS_H6"],
  pin99: ["J6", "VSS_J6"],
  pin100: ["K6", "VDD_CORE_K6"],
  pin101: ["L6", "VDD_CORE_L6"],
  pin102: ["M6", "VSS_M6"],
  pin103: ["N6", "VDDS_N6"],
  pin104: ["P6", "VDDSHV6_P6"],
  pin105: ["R6", "LCD_AC_BIAS_EN_R6"],
  pin106: ["T6", "GPMC_BEn0_CLE_T6"],
  pin107: ["U6", "GPMC_WEn_U6"],
  pin108: ["V6", "GPMC_CSn0_V6"],
  pin109: ["A7", "AIN3_A7"],
  pin110: ["B7", "AIN2_B7"],
  pin111: ["C7", "AIN1_C7"],
  pin112: ["D7", "VDDS_RTC_D7"],
  pin113: ["E7", "VDDS_PLL_DDR_E7"],
  pin114: ["F7", "VDD_CORE_F7"],
  pin115: ["G7", "VDD_CORE_G7"],
  pin116: ["H7", "VSS_H7"],
  pin117: ["J7", "VSS_J7"],
  pin118: ["K7", "VSS_K7"],
  pin119: ["L7", "VDD_CORE_L7"],
  pin120: ["M7", "VSS_M7"],
  pin121: ["N7", "VSS_N7"],
  pin122: ["P7", "VDDSHV1_P7"],
  pin123: ["R7", "GPMC_ADVn_ALE_R7"],
  pin124: ["T7", "GPMC_OEn_REn_T7"],
  pin125: ["U7", "GPMC_AD0_U7"],
  pin126: ["V7", "GPMC_AD1_V7"],
  pin127: ["A8", "AIN6_A8"],
  pin128: ["B8", "AIN5_B8"],
  pin129: ["C8", "AIN4_C8"],
  pin130: ["D8", "VDDA_ADC_D8"],
  pin131: ["E8", "VSSA_ADC_E8"],
  pin132: ["F8", "VSS_F8"],
  pin133: ["G8", "VSS_G8"],
  pin134: ["H8", "VSS_H8"],
  pin135: ["J8", "VSS_J8"],
  pin136: ["K8", "VDD_CORE_K8"],
  pin137: ["L8", "VDD_CORE_L8"],
  pin138: ["M8", "VSS_M8"],
  pin139: ["N8", "VDD_CORE_N8"],
  pin140: ["P8", "VDDSHV1_P8"],
  pin141: ["R8", "GPMC_AD2_R8"],
  pin142: ["T8", "GPMC_AD3_T8"],
  pin143: ["U8", "GPMC_AD4_U8"],
  pin144: ["V8", "GPMC_AD5_V8"],
  pin145: ["A9", "VREFN_A9"],
  pin146: ["B9", "VREFP_B9"],
  pin147: ["C9", "AIN7_C9"],
  pin148: ["D9", "CAP_VDD_SRAM_CORE_D9"],
  pin149: ["E9", "VDDS_SRAM_CORE_BG_E9"],
  pin150: ["F9", "VDDS_F9"],
  pin151: ["G9", "VSS_G9"],
  pin152: ["H9", "VSS_H9"],
  pin153: ["J9", "VSS_J9"],
  pin154: ["K9", "VSS_K9"],
  pin155: ["L9", "VDD_CORE_L9"],
  pin156: ["M9", "VSS_M9"],
  pin157: ["N9", "VDD_CORE_N9"],
  pin158: ["P9", "VDDS_P9"],
  pin159: ["R9", "GPMC_AD6_R9"],
  pin160: ["T9", "GPMC_AD7_T9"],
  pin161: ["U9", "GPMC_CSn1_U9"],
  pin162: ["V9", "GPMC_CSn2_V9"],
  pin163: ["A10", "WARMRSTn_A10"],
  pin164: ["B10", "TRSTn_B10"],
  pin165: ["C10", "CAP_VBB_MPU_C10"],
  pin166: ["D10", "VDDS_SRAM_MPU_BB_D10"],
  pin167: ["E10", "VDDSHV6_E10"],
  pin168: ["F10", "VDD_MPU_F10"],
  pin169: ["G10", "VDD_CORE_G10"],
  pin170: ["H10", "VSS_H10"],
  pin171: ["J10", "VSS_J10"],
  pin172: ["K10", "VSS_K10"],
  pin173: ["L10", "VSS_L10"],
  pin174: ["M10", "VSS_M10"],
  pin175: ["N10", "VSS_N10"],
  pin176: ["P10", "VDDSHV2_P10"],
  pin177: ["R10", "VDDS_PLL_CORE_LCD_R10"],
  pin178: ["T10", "GPMC_AD9_T10"],
  pin179: ["U10", "GPMC_AD8_U10"],
  pin180: ["V10", "XTALIN_V10"],
  pin181: ["A11", "TDO_A11"],
  pin182: ["B11", "TDI_B11"],
  pin183: ["C11", "TMS_C11"],
  pin184: ["D11", "CAP_VDD_SRAM_MPU_D11"],
  pin185: ["E11", "VDDSHV6_E11"],
  pin186: ["F11", "VDD_MPU_F11"],
  pin187: ["G11", "VSS_G11"],
  pin188: ["H11", "VDD_CORE_H11"],
  pin189: ["J11", "VSS_J11"],
  pin190: ["K11", "VSS_K11"],
  pin191: ["L11", "VSS_L11"],
  pin192: ["M11", "VDD_CORE_M11"],
  pin193: ["N11", "VSS_N11"],
  pin194: ["P11", "VDDSHV2_P11"],
  pin195: ["R11", "VDDS_OSC_R11"],
  pin196: ["T11", "GPMC_AD10_T11"],
  pin197: ["U11", "XTALOUT_U11"],
  pin198: ["V11", "VSS_OSC_V11"],
  pin199: ["A12", "TCK_A12"],
  pin200: ["B12", "MCASP0_ACLKR_B12"],
  pin201: ["C12", "MCASP0_AHCLKR_C12"],
  pin202: ["D12", "MCASP0_AXR0_D12"],
  pin203: ["E12", "VDDSHV6_E12"],
  pin204: ["F12", "VDD_MPU_F12"],
  pin205: ["G12", "VSS_G12"],
  pin206: ["H12", "VSS_H12"],
  pin207: ["J12", "VDD_CORE_J12"],
  pin208: ["K12", "VDD_CORE_K12"],
  pin209: ["L12", "VSS_L12"],
  pin210: ["M12", "VSS_M12"],
  pin211: ["N12", "VDD_CORE_N12"],
  pin212: ["P12", "VDDSHV3_P12"],
  pin213: ["R12", "GPMC_AD13_R12"],
  pin214: ["T12", "GPMC_AD12_T12"],
  pin215: ["U12", "GPMC_AD11_U12"],
  pin216: ["V12", "GPMC_CLK_V12"],
  pin217: ["A13", "MCASP0_ACLKX_A13"],
  pin218: ["B13", "MCASP0_FSX_B13"],
  pin219: ["C13", "MCASP0_FSR_C13"],
  pin220: ["D13", "MCASP0_AXR1_D13"],
  pin221: ["E13", "VDDSHV6_E13"],
  pin222: ["F13", "VDD_MPU_F13"],
  pin223: ["G13", "VDD_MPU_G13"],
  pin224: ["H13", "VDD_MPU_H13"],
  pin225: ["J13", "VDD_MPU_J13"],
  pin226: ["K13", "VDDS_K13"],
  pin227: ["L13", "VSS_L13"],
  pin228: ["M13", "VDD_CORE_M13"],
  pin229: ["N13", "VDD_CORE_N13"],
  pin230: ["P13", "VDDSHV3_P13"],
  pin231: ["R13", "GPMC_A0_R13"],
  pin232: ["T13", "GPMC_CSn3_T13"],
  pin233: ["U13", "GPMC_AD15_U13"],
  pin234: ["V13", "GPMC_AD14_V13"],
  pin235: ["A14", "MCASP0_AHCLKX_A14"],
  pin236: ["B14", "EMU1_B14"],
  pin237: ["C14", "EMU0_C14"],
  pin238: ["D14", "XDMA_EVENT_INTR1_D14"],
  pin239: ["E14", "VDDS_E14"],
  pin240: ["F14", "VDDSHV6_F14"],
  pin241: ["G14", "VDDSHV6_G14"],
  pin242: ["H14", "VDDSHV4_H14"],
  pin243: ["J14", "VDDSHV4_J14"],
  pin244: ["K14", "VDDSHV5_K14"],
  pin245: ["L14", "VDDSHV5_L14"],
  pin246: ["M14", "VSSA_USB_M14"],
  pin247: ["N14", "VSSA_USB_N14"],
  pin248: ["P14", "VDDS_P14"],
  pin249: ["R14", "GPMC_A4_R14"],
  pin250: ["T14", "GPMC_A3_T14"],
  pin251: ["U14", "GPMC_A2_U14"],
  pin252: ["V14", "GPMC_A1_V14"],
  pin253: ["A15", "XDMA_EVENT_INTR0_A15"],
  pin254: ["B15", "PWRONRSTn_B15"],
  pin255: ["C15", "SPI0_CS1_C15"],
  pin256: ["D15", "UART1_TXD_D15"],
  pin257: ["E15", "UART0_RXD_E15"],
  pin258: ["F15", "USB1_DRVVBUS_F15"],
  pin259: ["G15", "MMC0_DAT1_G15"],
  pin260: ["H15", "VDDS_PLL_MPU_H15"],
  pin261: ["J15", "MII1_RX_ER_J15"],
  pin262: ["K15", "MII1_TXD2_K15"],
  pin263: ["L15", "MII1_RXD1_L15"],
  pin264: ["M15", "USB0_CE_M15"],
  pin265: ["N15", "VDDA3P3V_USB0_N15"],
  pin266: ["P15", "USB0_VBUS_P15"],
  pin267: ["R15", "VDDA3P3V_USB1_R15"],
  pin268: ["T15", "GPMC_A7_T15"],
  pin269: ["U15", "GPMC_A6_U15"],
  pin270: ["V15", "GPMC_A5_V15"],
  pin271: ["A16", "SPI0_CS0_A16"],
  pin272: ["B16", "SPI0_D1_B16"],
  pin273: ["C16", "I2C0_SCL_C16"],
  pin274: ["D16", "UART1_RXD_D16"],
  pin275: ["E16", "UART0_TXD_E16"],
  pin276: ["F16", "USB0_DRVVBUS_F16"],
  pin277: ["G16", "MMC0_DAT0_G16"],
  pin278: ["H16", "MII1_COL_H16"],
  pin279: ["J16", "MII1_TX_EN_J16"],
  pin280: ["K16", "MII1_TXD1_K16"],
  pin281: ["L16", "MII1_RXD2_L16"],
  pin282: ["M16", "MII1_RXD0_M16"],
  pin283: ["N16", "VDDA1P8V_USB0_N16"],
  pin284: ["P16", "USB0_ID_P16"],
  pin285: ["R16", "VDDA1P8V_USB1_R16"],
  pin286: ["T16", "GPMC_A10_T16"],
  pin287: ["U16", "GPMC_A9_U16"],
  pin288: ["V16", "GPMC_A8_V16"],
  pin289: ["A17", "SPI0_SCLK_A17"],
  pin290: ["B17", "SPI0_D0_B17"],
  pin291: ["C17", "I2C0_SDA_C17"],
  pin292: ["D17", "UART1_RTSn_D17"],
  pin293: ["E17", "UART0_RTSn_E17"],
  pin294: ["F17", "MMC0_DAT3_F17"],
  pin295: ["G17", "MMC0_CLK_G17"],
  pin296: ["H17", "MII1_CRS_H17"],
  pin297: ["J17", "MII1_RX_DV_J17"],
  pin298: ["K17", "MII1_TXD0_K17"],
  pin299: ["L17", "MII1_RXD3_L17"],
  pin300: ["M17", "MDIO_M17"],
  pin301: ["N17", "USB0_DP_N17"],
  pin302: ["P17", "USB1_ID_P17"],
  pin303: ["R17", "USB1_DP_R17"],
  pin304: ["T17", "GPMC_WAIT0_T17"],
  pin305: ["U17", "GPMC_WPn_U17"],
  pin306: ["V17", "GPMC_A11_V17"],
  pin307: ["A18", "VSS_A18"],
  pin308: ["B18", "EXTINTn_B18"],
  pin309: ["C18", "ECAP0_IN_PWM0_OUT_C18"],
  pin310: ["D18", "UART1_CTSn_D18"],
  pin311: ["E18", "UART0_CTSn_E18"],
  pin312: ["F18", "MMC0_DAT2_F18"],
  pin313: ["G18", "MMC0_CMD_G18"],
  pin314: ["H18", "RMII1_REF_CLK_H18"],
  pin315: ["J18", "MII1_TXD3_J18"],
  pin316: ["K18", "MII1_TX_CLK_K18"],
  pin317: ["L18", "MII1_RX_CLK_L18"],
  pin318: ["M18", "MDC_M18"],
  pin319: ["N18", "USB0_DM_N18"],
  pin320: ["P18", "USB1_CE_P18"],
  pin321: ["R18", "USB1_DM_R18"],
  pin322: ["T18", "USB1_VBUS_T18"],
  pin323: ["U18", "GPMC_BEn1_U18"],
  pin324: ["V18", "VSS_V18"],
} as const
export function AM3352(props: ChipProps<typeof pinLabels>) {
  return (
    <chip
      {...props}
      manufacturerPartNumber="AM3352BZCZ100"
      supplierPartNumbers={{ jlcpcb: ["C468247"] }}
      pinLabels={pinLabels}
      footprint={
        <footprint>
          {Object.entries(pinLabels).map(([pin, [ball]]) => (
            <smtpad
              portHints={[pin, ball]}
              pcbX={("ABCDEFGHJKLMNPRTUV".indexOf(ball[0]) - 8.5) * 0.8}
              pcbY={(Number(ball.slice(1)) - 9.5) * 0.8}
              shape="circle"
              radius={0.2}
            />
          ))}
          <courtyardrect pcbX={0} pcbY={0} width={16} height={16} />
          <silkscreenrect pcbX={0} pcbY={0} width={15.4} height={15.4} />
          <silkscreencircle pcbX={-7.8} pcbY={-7.8} radius={0.3} />
        </footprint>
      }
    />
  )
}
export { ballMap }