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
subcircuits/microsd.tsx
import { XKTF_N02_N } from "../imports/XKTF_N02_N"
export const MICROSD_SOC_BOUNDARY_Y = {
CMD: 4.571305,
DAT0: 4.250025,
CLK: 3.928745,
} as const
const BoundaryPad = ({
name,
pcbX = -10.5,
pcbY,
plated = false,
compactPlated = false,
compactSmt = false,
}: {
name: string
pcbX?: number
pcbY: number
plated?: boolean
compactPlated?: boolean
compactSmt?: boolean
}) => (
<chip
name={name}
pcbX={pcbX}
pcbY={pcbY}
noSchematicRepresentation
footprint={
<footprint>
{plated ? (
<platedhole
portHints={["pin1"]}
shape="circle"
holeDiameter={compactPlated ? "0.1mm" : "0.3mm"}
outerDiameter={compactPlated ? "0.24mm" : "0.8mm"}
/>
) : (
<smtpad
portHints={["pin1"]}
shape="rect"
width={compactSmt ? "0.24mm" : "0.8mm"}
height={compactSmt ? "0.24mm" : "0.8mm"}
/>
)}
</footprint>
}
/>
)
export const MicroSdBlock = () => (
<>
<autoroutingphase
name="MICROSD_BLOCK_SOC_INGRESS"
phaseIndex={-1}
autorouter="default"
/>
<autoroutingphase
name="MICROSD_BLOCK_SIGNALS"
phaseIndex={0}
autorouter="default"
/>
<autoroutingphase
name="MICROSD_BLOCK_POWER"
phaseIndex={1}
autorouter="default"
/>
<autoroutingphase
name="MICROSD_BLOCK_GROUND"
phaseIndex={2}
autorouter="default"
/>
<XKTF_N02_N name="J1" pcbX={2} pcbY={0} pcbRotation={90} />
<resistor
name="R5"
resistance="10k"
footprint="0201"
supplierPartNumbers={{ jlcpcb: ["C473048"] }}
pcbX={-2.2}
pcbY={10.2}
/>
<resistor
name="R6"
resistance="10k"
footprint="0201"
supplierPartNumbers={{ jlcpcb: ["C473048"] }}
pcbX={-4.2}
pcbY={10.2}
/>
<capacitor
name="C22"
capacitance="100nF"
maxVoltageRating="10V"
footprint="0201"
supplierPartNumbers={{ jlcpcb: ["C1525"] }}
pcbX={1.8}
pcbY={10.2}
/>
<capacitor
name="C23"
capacitance="1uF"
maxVoltageRating="10V"
footprint="0402"
supplierPartNumbers={{ jlcpcb: ["C52923"] }}
pcbX={4.3}
pcbY={10.2}
/>
<BoundaryPad
name="X_CMD"
pcbX={-9.2}
pcbY={MICROSD_SOC_BOUNDARY_Y.CMD}
compactSmt
/>
<BoundaryPad
name="X_DAT0"
pcbX={-9.2}
pcbY={MICROSD_SOC_BOUNDARY_Y.DAT0}
compactSmt
/>
<BoundaryPad
name="X_CLK"
pcbX={-9.2}
pcbY={MICROSD_SOC_BOUNDARY_Y.CLK}
compactSmt
/>
<BoundaryPad
name="X_SOC_CMD"
pcbX={-10.2}
pcbY={MICROSD_SOC_BOUNDARY_Y.CMD}
plated
compactPlated
/>
<BoundaryPad
name="X_SOC_DAT0"
pcbX={-10.2}
pcbY={MICROSD_SOC_BOUNDARY_Y.DAT0}
plated
compactPlated
/>
<BoundaryPad
name="X_SOC_CLK"
pcbX={-10.2}
pcbY={MICROSD_SOC_BOUNDARY_Y.CLK}
plated
compactPlated
/>
<BoundaryPad name="X_VDD" pcbY={11.5} />
<BoundaryPad name="X_GND" pcbX={-14} pcbY={-14} plated />
<trace
name="MICROSD_SOC_CMD_ENTRY"
from=".X_SOC_CMD > .pin1"
to=".X_CMD > .pin1"
routingPhaseIndex={-1}
/>
<trace
name="MICROSD_SOC_DAT0_ENTRY"
from=".X_SOC_DAT0 > .pin1"
to=".X_DAT0 > .pin1"
routingPhaseIndex={-1}
/>
<trace
name="MICROSD_SOC_CLK_ENTRY"
from=".X_SOC_CLK > .pin1"
to=".X_CLK > .pin1"
routingPhaseIndex={-1}
/>
<trace
name="MICROSD_CMD"
path={[".X_CMD > .pin1", ".J1 > .CMD", ".R5 > .pin1"]}
maxLength="30mm"
routingPhaseIndex={0}
/>
<trace
name="MICROSD_DAT0"
path={[".X_DAT0 > .pin1", ".J1 > .DAT0", ".R6 > .pin1"]}
maxLength="30mm"
routingPhaseIndex={0}
/>
<trace
name="MICROSD_CLK_ENTRY"
from=".X_CLK > .pin1"
to=".J1 > .CLK"
maxLength="30mm"
routingPhaseIndex={0}
/>
<trace
name="MICROSD_VDD"
path={[
".X_VDD > .pin1",
".R5 > .pin2",
".R6 > .pin2",
".J1 > .VDD",
".C22 > .pin1",
".C23 > .pin1",
]}
width="0.2mm"
maxLength="40mm"
routingPhaseIndex={1}
/>
<trace
name="MICROSD_GND"
path={[
".X_GND > .pin1",
".C22 > .pin2",
".C23 > .pin2",
".J1 > .VSS",
".J1 > .GND1",
".J1 > .GND2",
".J1 > .GND3",
".J1 > .GND4",
]}
width="0.3mm"
maxLength="40mm"
routingPhaseIndex={2}
/>
</>
)