krishnax12/t113-minimal-linux

Allwinner T113-S3 dual-Cortex-A7 SoC with integrated 128MB DDR3, multi-rail decoupling, 24MHz and 32.768kHz oscillators, filtering, and exposed test points.

Version
0.1.1
License
unset
Stars
0

circuits/soc-pinmap.ts

/**
 * Verified against Allwinner T113-S3 Datasheet v1.6 §4.2 (all 128 leads)
 * and MangoPi MQ-Dual v1.6 (EPAD129). Do not substitute T113-i/BGA map.
 * Source: https://dl.linux-sunxi.org/T113-S3/T113-S3_Datasheet_v1.6_20220303.pdf
 * The imported T113_S3.tsx labels were checked and are already correct.
 * Underscore aliases below are optional selector-friendly equivalents.
 */

export const t113PinLabels = {
  pin1: ["PG6"],
  pin2: ["PG7"],
  pin3: ["PG8"],
  pin4: ["PG9"],
  pin5: ["PG10"],
  pin6: ["PG11"],
  pin7: ["PF0"],
  pin8: ["PF1"],
  pin9: ["PF2"],
  pin10: ["PF3"],
  pin11: ["PF4"],
  pin12: ["PF5"],
  pin13: ["PF6"],
  pin14: ["PC7"],
  pin15: ["PC6"],
  pin16: ["PC5"],
  pin17: ["PC4"],
  pin18: ["PC3"],
  pin19: ["PC2"],
  pin20: ["VCC_PLL", "VCC-PLL"],
  pin21: ["REFCLK_OUT", "REFCLK-OUT"],
  pin22: ["DXOUT"],
  pin23: ["DXIN"],
  pin24: ["X32KOUT"],
  pin25: ["X32KIN"],
  pin26: ["VCC_RTC", "VCC-RTC"],
  pin27: ["RESET"],
  pin28: ["LDOA_OUT", "LDOA-OUT"],
  pin29: ["LDO_IN", "LDO-IN"],
  pin30: ["LDOB_OUT", "LDOB-OUT"],
  pin31: ["PE13"],
  pin32: ["PE12"],
  pin33: ["PE3"],
  pin34: ["VCC_PE", "VCC-PE"],
  pin35: ["PE2"],
  pin36: ["PE11"],
  pin37: ["PE10"],
  pin38: ["PE9"],
  pin39: ["PE8"],
  pin40: ["PE7"],
  pin41: ["PE6"],
  pin42: ["PE5"],
  pin43: ["PE4"],
  pin44: ["PE0"],
  pin45: ["PE1"],
  pin46: ["VDD_SYS0", "VDD-SYS0"],
  pin47: ["DZQ"],
  pin48: ["VCC_DRAM0", "VCC-DRAM0"],
  pin49: ["VCC_DRAM1", "VCC-DRAM1"],
  pin50: ["VDD18_DRAM", "VDD18-DRAM"],
  pin51: ["VDD_SYS1", "VDD-SYS1"],
  pin52: ["PD22"],
  pin53: ["PD21"],
  pin54: ["PD20"],
  pin55: ["PD0"],
  pin56: ["PD1"],
  pin57: ["PD2"],
  pin58: ["PD3"],
  pin59: ["PD4"],
  pin60: ["PD5"],
  pin61: ["PD6"],
  pin62: ["PD7"],
  pin63: ["PD8"],
  pin64: ["PD9"],
  pin65: ["VCC_LVDS", "VCC-LVDS"],
  pin66: ["VCC_PD", "VCC-PD"],
  pin67: ["PD10"],
  pin68: ["PD11"],
  pin69: ["PD13"],
  pin70: ["PD12"],
  pin71: ["PD14"],
  pin72: ["PD15"],
  pin73: ["PD16"],
  pin74: ["PD17"],
  pin75: ["PD18"],
  pin76: ["PD19"],
  pin77: ["VCC_TVOUT", "VCC-TVOUT"],
  pin78: ["TVOUT0"],
  pin79: ["PB7"],
  pin80: ["PB6"],
  pin81: ["VDD_SYS2", "VDD-SYS2"],
  pin82: ["PB5"],
  pin83: ["VCC_IO", "VCC-IO"],
  pin84: ["PB4"],
  pin85: ["PB3"],
  pin86: ["PB2"],
  pin87: ["MICIN3P"],
  pin88: ["MICIN3N"],
  pin89: ["AVCC"],
  pin90: ["VRA2"],
  pin91: ["AGND"],
  pin92: ["VRA1"],
  pin93: ["FMINR"],
  pin94: ["FMINL"],
  pin95: ["LINEINR"],
  pin96: ["LINEINL"],
  pin97: ["HPVCC"],
  pin98: ["HPOUTR"],
  pin99: ["HPOUTL"],
  pin100: ["HPOUTFB"],
  pin101: ["GPADC0"],
  pin102: ["TP_X1", "TP-X1"],
  pin103: ["TP_X2", "TP-X2"],
  pin104: ["TP_Y1", "TP-Y1"],
  pin105: ["TP_Y2", "TP-Y2"],
  pin106: ["NC0"],
  pin107: ["VCC_TVIN", "VCC-TVIN"],
  pin108: ["TVIN0"],
  pin109: ["TVIN1"],
  pin110: ["TVIN_VRP", "TVIN-VRP"],
  pin111: ["TVIN_VRN", "TVIN-VRN"],
  pin112: ["USB1_DP", "USB1-DP"],
  pin113: ["USB1_DM", "USB1-DM"],
  pin114: ["USB0_DM", "USB0-DM"],
  pin115: ["USB0_DP", "USB0-DP"],
  pin116: ["VDD_CORE0", "VDD-CORE0"],
  pin117: ["VDD_CORE1", "VDD-CORE1"],
  pin118: ["PG1"],
  pin119: ["PG2"],
  pin120: ["PG0"],
  pin121: ["PG3"],
  pin122: ["PG5"],
  pin123: ["PG4"],
  pin124: ["PG12"],
  pin125: ["PG13"],
  pin126: ["PG14"],
  pin127: ["PG15"],
  pin128: ["VCC_PG", "VCC-PG"],
  pin129: ["EPAD"],
} as const

export const t113PinsByName = {
  PG6: "pin1",
  PG7: "pin2",
  PG8: "pin3",
  PG9: "pin4",
  PG10: "pin5",
  PG11: "pin6",
  PF0: "pin7",
  PF1: "pin8",
  PF2: "pin9",
  PF3: "pin10",
  PF4: "pin11",
  PF5: "pin12",
  PF6: "pin13",
  PC7: "pin14",
  PC6: "pin15",
  PC5: "pin16",
  PC4: "pin17",
  PC3: "pin18",
  PC2: "pin19",
  VCC_PLL: "pin20",
  REFCLK_OUT: "pin21",
  DXOUT: "pin22",
  DXIN: "pin23",
  X32KOUT: "pin24",
  X32KIN: "pin25",
  VCC_RTC: "pin26",
  RESET: "pin27",
  LDOA_OUT: "pin28",
  LDO_IN: "pin29",
  LDOB_OUT: "pin30",
  PE13: "pin31",
  PE12: "pin32",
  PE3: "pin33",
  VCC_PE: "pin34",
  PE2: "pin35",
  PE11: "pin36",
  PE10: "pin37",
  PE9: "pin38",
  PE8: "pin39",
  PE7: "pin40",
  PE6: "pin41",
  PE5: "pin42",
  PE4: "pin43",
  PE0: "pin44",
  PE1: "pin45",
  VDD_SYS0: "pin46",
  DZQ: "pin47",
  VCC_DRAM0: "pin48",
  VCC_DRAM1: "pin49",
  VDD18_DRAM: "pin50",
  VDD_SYS1: "pin51",
  PD22: "pin52",
  PD21: "pin53",
  PD20: "pin54",
  PD0: "pin55",
  PD1: "pin56",
  PD2: "pin57",
  PD3: "pin58",
  PD4: "pin59",
  PD5: "pin60",
  PD6: "pin61",
  PD7: "pin62",
  PD8: "pin63",
  PD9: "pin64",
  VCC_LVDS: "pin65",
  VCC_PD: "pin66",
  PD10: "pin67",
  PD11: "pin68",
  PD13: "pin69",
  PD12: "pin70",
  PD14: "pin71",
  PD15: "pin72",
  PD16: "pin73",
  PD17: "pin74",
  PD18: "pin75",
  PD19: "pin76",
  VCC_TVOUT: "pin77",
  TVOUT0: "pin78",
  PB7: "pin79",
  PB6: "pin80",
  VDD_SYS2: "pin81",
  PB5: "pin82",
  VCC_IO: "pin83",
  PB4: "pin84",
  PB3: "pin85",
  PB2: "pin86",
  MICIN3P: "pin87",
  MICIN3N: "pin88",
  AVCC: "pin89",
  VRA2: "pin90",
  AGND: "pin91",
  VRA1: "pin92",
  FMINR: "pin93",
  FMINL: "pin94",
  LINEINR: "pin95",
  LINEINL: "pin96",
  HPVCC: "pin97",
  HPOUTR: "pin98",
  HPOUTL: "pin99",
  HPOUTFB: "pin100",
  GPADC0: "pin101",
  TP_X1: "pin102",
  TP_X2: "pin103",
  TP_Y1: "pin104",
  TP_Y2: "pin105",
  NC0: "pin106",
  VCC_TVIN: "pin107",
  TVIN0: "pin108",
  TVIN1: "pin109",
  TVIN_VRP: "pin110",
  TVIN_VRN: "pin111",
  USB1_DP: "pin112",
  USB1_DM: "pin113",
  USB0_DM: "pin114",
  USB0_DP: "pin115",
  VDD_CORE0: "pin116",
  VDD_CORE1: "pin117",
  PG1: "pin118",
  PG2: "pin119",
  PG0: "pin120",
  PG3: "pin121",
  PG5: "pin122",
  PG4: "pin123",
  PG12: "pin124",
  PG13: "pin125",
  PG14: "pin126",
  PG15: "pin127",
  VCC_PG: "pin128",
  EPAD: "pin129",
} as const

export const t113PowerPins = {
  GND: ["pin91", "pin129"],
  VCC_RTC_1V8: ["pin26"],
  VCC_3V3: ["pin34", "pin66", "pin77", "pin83", "pin128", "pin29"],
  VCORE_0V9: ["pin46", "pin51", "pin81", "pin116", "pin117"],
  VDRAM_1V5: ["pin48", "pin49"],
  LDOA_1V8: ["pin20", "pin50", "pin65", "pin89", "pin97", "pin107"],
  INTERNAL_LDO_OUTPUTS: ["pin28", "pin30"],
} as const

// Function numbers are software pinmux selections, not header pin numbers.
export const t113DebugMux = {
  console: { uart: 0, tx: "PE2", rx: "PE3", function: 6 },
  armJtag: { tms: "PE8", tdi: "PE9", tdo: "PE10", tck: "PE11", function: 6 },
  sd0: {
    d0: "PF1",
    d1: "PF0",
    d2: "PF5",
    d3: "PF4",
    clk: "PF2",
    cmd: "PF3",
    function: 2,
  },
  spi0: {
    clk: "PC2",
    cs: "PC3",
    mosi: "PC4",
    miso: "PC5",
    wp: "PC6",
    hold: "PC7",
    function: 2,
  },
  spi1: { clk: "PD11", cs: "PD10", mosi: "PD12", miso: "PD13", function: 4 },
} as const