seveibar/f1c100s-linux-dev-board

A 4-layer F1C100S Linux development carrier board with USB‑C power/data, multi-rail LDOs, SPI NOR flash, reset/boot interfaces, I²C/SPI/UART headers, ESD protection, and a buffered 5‑V clocked RGB LED.

Version
1.9.2
License
unset
Stars
1

modules/f1c100s/imports/F1C100S.tsx

import type { ChipProps } from "@tscircuit/props"

export const pinLabels = {
  pin1: ["HPL"],
  pin2: ["HPCOMFB"],
  pin3: ["HPCOM"],
  pin4: ["HPVCC"],
  pin5: ["VCC_IO1"],
  pin6: ["PD0"],
  pin7: ["PD1"],
  pin8: ["PD2"],
  pin9: ["PD3"],
  pin10: ["PD4"],
  pin11: ["PD5"],
  pin12: ["PD6"],
  pin13: ["PD7"],
  pin14: ["PD8"],
  pin15: ["PD9"],
  pin16: ["PD10"],
  pin17: ["PD11"],
  pin18: ["PD12"],
  pin19: ["PD13"],
  pin20: ["VCC_IO2"],
  pin21: ["PD14"],
  pin22: ["VDD_CORE1"],
  pin23: ["PD15"],
  pin24: ["PD16"],
  pin25: ["PD17"],
  pin26: ["PD18"],
  pin27: ["PD19"],
  pin28: ["PD20"],
  pin29: ["PD21"],
  pin30: ["VCC_DRAM1"],
  pin31: ["VCC_DRAM2"],
  pin32: ["VCC_DRAM3"],
  pin33: ["SVREF"],
  pin34: ["VCC_DRAM4"],
  pin35: ["VDD_CORE2"],
  pin36: ["VCC_DRAM5"],
  pin37: ["PE12"],
  pin38: ["PE11"],
  pin39: ["PE10"],
  pin40: ["PE9"],
  pin41: ["PE8"],
  pin42: ["PE7"],
  pin43: ["PE6"],
  pin44: ["PE5"],
  pin45: ["PE4"],
  pin46: ["PE3"],
  pin47: ["PE2"],
  pin48: ["PE1"],
  pin49: ["PE0"],
  pin50: ["VCC_IO3"],
  pin51: ["HOSCI"],
  pin52: ["HOSCO"],
  pin53: ["PF5"],
  pin54: ["PF4"],
  pin55: ["PF3"],
  pin56: ["PF2"],
  pin57: ["PF1"],
  pin58: ["PF0"],
  pin59: ["PC0"],
  pin60: ["PC1"],
  pin61: ["PC2"],
  pin62: ["PC3"],
  pin63: ["TPY2"],
  pin64: ["TPY1"],
  pin65: ["TPX2"],
  pin66: ["TPX1"],
  pin67: ["UVCC"],
  pin68: ["USB_DM"],
  pin69: ["USB_DP"],
  pin70: ["RESET"],
  pin71: ["VDD_CORE3"],
  pin72: ["TVOUT"],
  pin73: ["TV_VCC"],
  pin74: ["TVGND"],
  pin75: ["TV_VRN"],
  pin76: ["TV_VRP"],
  pin77: ["TVIN1"],
  pin78: ["TVIN0"],
  pin79: ["LRADC0"],
  pin80: ["AVCC"],
  pin81: ["VRA1"],
  pin82: ["AGND"],
  pin83: ["VRA2"],
  pin84: ["FMINL"],
  pin85: ["FMINR"],
  pin86: ["LINL"],
  pin87: ["MICIN"],
  pin88: ["HPR"],
  pin89: ["GND", "thermalpad"]
} as const

/** Allwinner F1C100S Rev 1.0 §§4.1–4.3, 5.2 (pp.12–18).
 * Supply voltages are datasheet nominal values, not absolute maxima or ranges.
 * GPIO alternate functions are capabilities, not firmware-selected functions.
 * Analog direction uses §4.3. SVREF is only specified as P; no voltage invented.
 */
export const pinAttributes = {
  pin1: {"isOutput": true},
  pin2: {"isInput": true},
  pin3: {"isOutput": true},
  pin4: {"requiresPower": true, "mustBeConnected": true, "shouldHaveDecouplingCapacitor": true},
  pin5: {"requiresPower": true, "requiresVoltage": 3.3, "mustBeConnected": true, "shouldHaveDecouplingCapacitor": true},
  pin6: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["i2c_sda"], "canUseOpenDrain": true},
  pin7: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true},
  pin8: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true},
  pin9: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["uart_rx"]},
  pin10: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["uart_tx"]},
  pin11: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["i2c_scl"], "canUseOpenDrain": true},
  pin12: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["i2c_sda"], "canUseOpenDrain": true},
  pin13: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true},
  pin14: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true},
  pin15: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true},
  pin16: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true},
  pin17: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true},
  pin18: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["i2c_scl"], "canUseOpenDrain": true},
  pin19: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["uart_tx"]},
  pin20: {"requiresPower": true, "requiresVoltage": 3.3, "mustBeConnected": true, "shouldHaveDecouplingCapacitor": true},
  pin21: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["uart_rx"]},
  pin22: {"requiresPower": true, "requiresVoltage": 1.1, "mustBeConnected": true, "shouldHaveDecouplingCapacitor": true},
  pin23: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["i2c_scl"], "canUseOpenDrain": true},
  pin24: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["i2c_sda"], "canUseOpenDrain": true},
  pin25: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true},
  pin26: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["spi_cs"]},
  pin27: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["spi_mosi"]},
  pin28: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["spi_sck"]},
  pin29: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["spi_miso"]},
  pin30: {"requiresPower": true, "requiresVoltage": 2.5, "mustBeConnected": true, "shouldHaveDecouplingCapacitor": true},
  pin31: {"requiresPower": true, "requiresVoltage": 2.5, "mustBeConnected": true, "shouldHaveDecouplingCapacitor": true},
  pin32: {"requiresPower": true, "requiresVoltage": 2.5, "mustBeConnected": true, "shouldHaveDecouplingCapacitor": true},
  pin33: {"isPassive": true, "mustBeConnected": true},
  pin34: {"requiresPower": true, "requiresVoltage": 2.5, "mustBeConnected": true, "shouldHaveDecouplingCapacitor": true},
  pin35: {"requiresPower": true, "requiresVoltage": 1.1, "mustBeConnected": true, "shouldHaveDecouplingCapacitor": true},
  pin36: {"requiresPower": true, "requiresVoltage": 2.5, "mustBeConnected": true, "shouldHaveDecouplingCapacitor": true},
  pin37: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["i2c_sda"], "canUseOpenDrain": true},
  pin38: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["i2c_scl"], "canUseOpenDrain": true},
  pin39: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["spi_miso"]},
  pin40: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["spi_sck"]},
  pin41: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["uart_rx", "spi_mosi"]},
  pin42: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["uart_tx", "spi_cs"]},
  pin43: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true},
  pin44: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true},
  pin45: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true},
  pin46: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true},
  pin47: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true},
  pin48: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["i2c_scl", "uart_tx"], "canUseOpenDrain": true},
  pin49: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["i2c_sda", "uart_rx"], "canUseOpenDrain": true},
  pin50: {"requiresPower": true, "requiresVoltage": 3.3, "mustBeConnected": true, "shouldHaveDecouplingCapacitor": true},
  pin51: {"isInput": true},
  pin52: {"isOutput": true},
  pin53: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true},
  pin54: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["uart_tx"]},
  pin55: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true},
  pin56: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["uart_rx"]},
  pin57: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true},
  pin58: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true},
  pin59: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["spi_sck"]},
  pin60: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["spi_cs"], "isUsingInternalPullup": true},
  pin61: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["spi_miso"]},
  pin62: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "canUseInternalPullup": true, "canUseInternalPulldown": true, "capabilities": ["spi_mosi", "uart_tx"]},
  pin63: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "capabilities": ["uart_rx", "spi_sck"]},
  pin64: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "capabilities": ["uart_tx", "spi_miso"]},
  pin65: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "capabilities": ["spi_mosi"]},
  pin66: {"isBidirectional": true, "isGpio": true, "canUseTriState": true, "capabilities": ["spi_cs"]},
  pin67: {"requiresPower": true, "requiresVoltage": 3.3, "mustBeConnected": true, "shouldHaveDecouplingCapacitor": true},
  pin68: {"isBidirectional": true},
  pin69: {"isBidirectional": true},
  pin70: {"isInput": true},
  pin71: {"requiresPower": true, "requiresVoltage": 1.1, "mustBeConnected": true, "shouldHaveDecouplingCapacitor": true},
  pin72: {"isOutput": true},
  pin73: {"requiresPower": true, "requiresVoltage": 3.3, "mustBeConnected": true, "shouldHaveDecouplingCapacitor": true},
  pin74: {"requiresGround": true, "mustBeConnected": true},
  pin75: {"isInput": true},
  pin76: {"isInput": true},
  pin77: {"isInput": true},
  pin78: {"isInput": true},
  pin79: {"isInput": true},
  pin80: {"requiresPower": true, "requiresVoltage": 2.8, "mustBeConnected": true, "shouldHaveDecouplingCapacitor": true},
  pin81: {"isOutput": true},
  pin82: {"requiresGround": true, "mustBeConnected": true},
  pin83: {"isOutput": true},
  pin84: {"isInput": true},
  pin85: {"isInput": true},
  pin86: {"isInput": true},
  pin87: {"isInput": true},
  pin88: {"isOutput": true},
  pin89: {"requiresGround": true, "mustBeConnected": true},
} as const satisfies Partial<NonNullable<ChipProps<typeof pinLabels>["pinAttributes"]>>

export const F1C100S = (props: ChipProps<typeof pinLabels>) => {
  return (
    <chip
      pinLabels={pinLabels}
      pinAttributes={pinAttributes}
      supplierPartNumbers={{
  "jlcpcb": [
    "C1511928"
  ]
}}
      manufacturerPartNumber="F1C100S"
      footprint="mlp88_thermalpad6.75mmx6.75mm_p0.4mm_h11mm_pw0.2mm_pl0.8mm_pin1location(bottomside,left)_rounded0"
      cadModel={{
        objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C1511928.obj?uuid=839c59418f7e49458bab28c15acbb729",
        stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C1511928.step?uuid=839c59418f7e49458bab28c15acbb729",
        pcbRotationOffset: 0,
        modelOriginPosition: { x: 0, y: 0, z: 0 },
      }}
      {...props}
    />
  )
}