From 5799ece7b9ae31ab9014d9d6eacc5e5e89e98657 Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Sun, 16 Jun 2024 23:29:16 +0100 Subject: [PATCH] Rewrite json to separate boards and chips. --- boards/raspberry-pi-1-b+.json | 277 ++++---------------------- boards/raspberry-pi-4.json | 280 ++++---------------------- boards/raspberry-pi-5.json | 360 ++++------------------------------ chips/bcm2711.json | 229 +++++++++++++++++++++ chips/bcm2835.json | 229 +++++++++++++++++++++ chips/common.json | 8 + chips/rp1.json | 312 +++++++++++++++++++++++++++++ schema/__init__.py | 67 ------- schema/board.py | 39 ++++ schema/chip.py | 45 +++++ 10 files changed, 985 insertions(+), 861 deletions(-) create mode 100644 chips/bcm2711.json create mode 100644 chips/bcm2835.json create mode 100644 chips/common.json create mode 100644 chips/rp1.json create mode 100644 schema/board.py create mode 100644 schema/chip.py diff --git a/boards/raspberry-pi-1-b+.json b/boards/raspberry-pi-1-b+.json index b3880cd..2924a71 100644 --- a/boards/raspberry-pi-1-b+.json +++ b/boards/raspberry-pi-1-b+.json @@ -6,244 +6,47 @@ "width": 2, "height": 20, "orientation": 0, - "direction": "alternating", "pins": [ - {"name": "3v3 Power", "type": "power", "subtype": "+3v3"}, - {"name": "5v Power", "type": "power", "subtype": "+5v"}, - {"name": "GPIO 2", "alt_modes": [ - {"name": "SDA1", "type": "I2C"}, - {"name": "SA3", "type": "???"}, - {"name": "LCD_VSYNC", "type": "DPI"}, - {"name": "AVEOUT_VSYNC", "type": "???"}, - {"name": "AVEIN_VSYNC", "type": "???"}, - {"name": "???", "type": "???"} - ]}, - {"name": "5v Power", "type": "power", "subtype": "+5v"}, - {"name": "GPIO 3", "alt_modes": [ - {"name": "SCL1", "type": "I2C"}, - {"name": "SA2", "type": "???"}, - {"name": "LCD_HSYNC", "type": "DPI"}, - {"name": "AVEOUT_HSYNC", "type": "???"}, - {"name": "AVEIN_HSYNC", "type": "???"}, - {"name": "???", "type": "???"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 4", "alt_modes": [ - {"name": "GPCLK0", "type": "GPCLOCK"}, - {"name": "SA1", "type": "???"}, - {"name": "DPI_D0", "type": "DPI"}, - {"name": "AVEOUT_VID0", "type": "???"}, - {"name": "AVEIN_VID0", "type": "???"}, - {"name": "ARM_TDI", "type": "???"} - ]}, - {"name": "GPIO 14", "alt_modes": [ - {"name": "TXD0", "type": "UART"}, - {"name": "SD6", "type": "SDIO"}, - {"name": "DPI_D10", "type": "DPI"}, - {"name": "AVEOUT_VID10", "type": "???"}, - {"name": "AVEIN_VID10", "type": "???"}, - {"name": "TXD1", "type": "UART"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 15", "alt_modes": [ - {"name": "RXD0", "type": "UART"}, - {"name": "SD7", "type": "SDIO"}, - {"name": "DPI_D11", "type": "DPI"}, - {"name": "AVEOUT_VID11", "type": "???"}, - {"name": "AVEIN_VID11", "type": "???"}, - {"name": "RXD1", "type": "UART"} - ]}, - {"name": "GPIO 17", "alt_modes": [ - {"name": "FL1", "type": "???"}, - {"name": "SD9", "type": "SDIO"}, - {"name": "DPI_D13", "type": "DPI"}, - {"name": "RTS0", "type": "UART"}, - {"name": "SPI1_CE1_N", "type": "SPI"}, - {"name": "RTS1", "type": "UART"} - ]}, - {"name": "GPIO 18", "alt_modes": [ - {"name": "PCM_CLK", "type": "I2S"}, - {"name": "SD10", "type": "SDIO"}, - {"name": "DPI_D14", "type": "DPI"}, - {"name": "BSCSL SDA / MOSI", "type": "???"}, - {"name": "SPI1_CE0_N", "type": "SPI"}, - {"name": "PWM0", "type": "PWM"} - ]}, - {"name": "GPIO 27", "alt_modes": [ - {"name": "SD0_DAT3", "type": "SDIO"}, - {"name": "TE1", "type": "???"}, - {"name": "DPI_D23", "type": "DPI"}, - {"name": "SD1_DAT3", "type": "SDIO"}, - {"name": "ARM_TMS", "type": "???"}, - {"name": "???", "type": "???"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 22", "alt_modes": [ - {"name": "SD0_CLK", "type": "SDIO"}, - {"name": "SD14", "type": "SDIO"}, - {"name": "DPI_D18", "type": "DPI"}, - {"name": "SD1_CLK", "type": "SDIO"}, - {"name": "ARM_TRST", "type": "???"}, - {"name": "???", "type": "???"} - ]}, - {"name": "GPIO 23", "alt_modes": [ - {"name": "SD0_CMD", "type": "SDIO"}, - {"name": "SD15", "type": "SDIO"}, - {"name": "DPI_D19", "type": "DPI"}, - {"name": "SD1_CMD", "type": "SDIO"}, - {"name": "ARM_RTCK", "type": "???"}, - {"name": "???", "type": "???"} - ]}, - {"name": "3v3 Power", "type": "power", "subtype": "+3v3"}, - {"name": "GPIO 24", "alt_modes": [ - {"name": "SD0_DAT0", "type": "SDIO"}, - {"name": "SD16", "type": "SDIO"}, - {"name": "DPI_D20", "type": "DPI"}, - {"name": "SD1_DAT0", "type": "SDIO"}, - {"name": "ARM_TDO", "type": "???"}, - {"name": "???", "type": "???"} - ]}, - {"name": "GPIO 10", "alt_modes": [ - {"name": "SPI0_MOSI", "type": "SPI"}, - {"name": "SD2", "type": "SDIO"}, - {"name": "DPI_D6", "type": "DPI"}, - {"name": "AVEOUT_VID6", "type": "???"}, - {"name": "AVEIN_VID6", "type": "???"}, - {"name": "???", "type": "???"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 9", "alt_modes": [ - {"name": "SPI0_MISO", "type": "SPI"}, - {"name": "SD1", "type": "SDIO"}, - {"name": "DPI_D5", "type": "DPI"}, - {"name": "AVEOUT_VID5", "type": "???"}, - {"name": "AVEIN_VID5", "type": "???"}, - {"name": "???", "type": "???"} - ]}, - {"name": "GPIO 25", "alt_modes": [ - {"name": "SD0_DAT1", "type": "SDIO"}, - {"name": "SD17", "type": "SDIO"}, - {"name": "DPI_D21", "type": "DPI"}, - {"name": "SD1_DAT1", "type": "SDIO"}, - {"name": "ARM_TCK", "type": "???"}, - {"name": "???", "type": "???"} - ]}, - {"name": "GPIO 11", "alt_modes": [ - {"name": "SPI0_SCLK", "type": "SPI"}, - {"name": "SD3", "type": "SDIO"}, - {"name": "DPI_D7", "type": "DPI"}, - {"name": "AVEOUT_VID7", "type": "???"}, - {"name": "AVEIN_VID7", "type": "???"}, - {"name": "???", "type": "???"} - ]}, - {"name": "GPIO 8", "alt_modes": [ - {"name": "SPI0_CE0_N", "type": "SPI"}, - {"name": "SD0", "type": "SDIO"}, - {"name": "DPI_D4", "type": "DPI"}, - {"name": "AVEOUT_VID4", "type": "???"}, - {"name": "AVEIN_VID4", "type": "???"}, - {"name": "???", "type": "???"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 7", "alt_modes": [ - {"name": "SPI0_CE1_N", "type": "SPI"}, - {"name": "SWE_N / SRW_N", "type": "???"}, - {"name": "DPI_D3", "type": "DPI"}, - {"name": "AVEOUT_VID3", "type": "???"}, - {"name": "AVEIN_VID3", "type": "???"}, - {"name": "???", "type": "???"} - ]}, - {"name": "GPIO 0", "alt_modes": [ - {"name": "SDA0", "type": "I2C"}, - {"name": "SA5", "type": "???"}, - {"name": "PCLK", "type": "???"}, - {"name": "AVEOUT_VCLK", "type": "???"}, - {"name": "AVEIN_VCLK", "type": "???"}, - {"name": "???", "type": "???"} - ]}, - {"name": "GPIO 1", "alt_modes": [ - {"name": "SCL0", "type": "I2C"}, - {"name": "SA4", "type": "???"}, - {"name": "DE", "type": "???"}, - {"name": "AVEOUT_DSYNC", "type": "???"}, - {"name": "AVEIN_DSYNC", "type": "???"}, - {"name": "???", "type": "???"} - ]}, - {"name": "GPIO 5", "alt_modes": [ - {"name": "GPCLK1", "type": "GPCLOCK"}, - {"name": "SA0", "type": "???"}, - {"name": "DPI_D1", "type": "DPI"}, - {"name": "AVEOUT_VID1", "type": "???"}, - {"name": "AVEIN_VID1", "type": "???"}, - {"name": "ARM_TDO", "type": "???"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 6", "alt_modes": [ - {"name": "GPCLK2", "type": "GPCLOCK"}, - {"name": "SOE_N / SE", "type": "???"}, - {"name": "DPI_D2", "type": "DPI"}, - {"name": "AVEOUT_VID2", "type": "???"}, - {"name": "AVEIN_VID2", "type": "???"}, - {"name": "ARM_RTCK", "type": "???"} - ]}, - {"name": "GPIO 12", "alt_modes": [ - {"name": "PWM0", "type": "PWM"}, - {"name": "SD4", "type": "SDIO"}, - {"name": "DPI_D8", "type": "DPI"}, - {"name": "AVEOUT_VID8", "type": "???"}, - {"name": "AVEIN_VID8", "type": "???"}, - {"name": "ARM_TMS", "type": "???"} - ]}, - {"name": "GPIO 13", "alt_modes": [ - {"name": "PWM1", "type": "PWM"}, - {"name": "SD5", "type": "SDIO"}, - {"name": "DPI_D9", "type": "DPI"}, - {"name": "AVEOUT_VID9", "type": "???"}, - {"name": "AVEIN_VID9", "type": "???"}, - {"name": "ARM_TCK", "type": "???"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 19", "alt_modes": [ - {"name": "PCM_FS", "type": "I2S"}, - {"name": "SD11", "type": "SDIO"}, - {"name": "DPI_D15", "type": "DPI"}, - {"name": "BSCSL SCL / SCLK", "type": "???"}, - {"name": "SPI1_MISO", "type": "SPI"}, - {"name": "PWM1", "type": "PWM"} - ]}, - {"name": "GPIO 16", "alt_modes": [ - {"name": "FL0", "type": "???"}, - {"name": "SD8", "type": "SDIO"}, - {"name": "DPI_D12", "type": "DPI"}, - {"name": "CTS0", "type": "UART"}, - {"name": "SPI1_CE2_N", "type": "SPI"}, - {"name": "CTS1", "type": "UART"} - ]}, - {"name": "GPIO 26", "alt_modes": [ - {"name": "SD0_DAT2", "type": "SDIO"}, - {"name": "TE0", "type": "???"}, - {"name": "DPI_D22", "type": "DPI"}, - {"name": "SD1_DAT2", "type": "SDIO"}, - {"name": "ARM_TDI", "type": "???"}, - {"name": "???", "type": "???"} - ]}, - {"name": "GPIO 20", "alt_modes": [ - {"name": "PCM_DIN", "type": "I2S"}, - {"name": "SD12", "type": "SDIO"}, - {"name": "DPI_D16", "type": "DPI"}, - {"name": "BSCSL / MISO", "type": "???"}, - {"name": "SPI1_MOSI", "type": "SPI"}, - {"name": "GPCLK0", "type": "GPCLOCK"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 21", "alt_modes": [ - {"name": "PCM_DOUT", "type": "I2S"}, - {"name": "SD13", "type": "SDIO"}, - {"name": "DPI_D17", "type": "DPI"}, - {"name": "BSCSL / CE_N", "type": "???"}, - {"name": "SPI1_SCLK", "type": "SPI"}, - {"name": "GPCLK1", "type": "GPCLOCK"} - ]} + {"chip": "common", "signal": "+3v3"}, + {"chip": "common", "signal": "+5v"}, + {"chip": "bcm2835", "signal": "2", "canonical_mode": 3}, + {"chip": "common", "signal": "+5v"}, + {"chip": "bcm2835", "signal": "3", "canonical_mode": 3}, + {"chip": "common", "signal": "ground"}, + {"chip": "bcm2835", "signal": "4", "canonical_mode": 0}, + {"chip": "bcm2835", "signal": "14", "canonical_mode": 4}, + {"chip": "common", "signal": "ground"}, + {"chip": "bcm2835", "signal": "15", "canonical_mode": 4}, + {"chip": "bcm2835", "signal": "17"}, + {"chip": "bcm2835", "signal": "18", "canonical_mode": 2}, + {"chip": "bcm2835", "signal": "27"}, + {"chip": "common", "signal": "ground"}, + {"chip": "bcm2835", "signal": "22"}, + {"chip": "bcm2835", "signal": "23"}, + {"chip": "common", "signal": "+3v3"}, + {"chip": "bcm2835", "signal": "24"}, + {"chip": "bcm2835", "signal": "10", "canonical_mode": 0}, + {"chip": "common", "signal": "ground"}, + {"chip": "bcm2835", "signal": "9", "canonical_mode": 0}, + {"chip": "bcm2835", "signal": "25"}, + {"chip": "bcm2835", "signal": "11", "canonical_mode": 0}, + {"chip": "bcm2835", "signal": "8", "canonical_mode": 0}, + {"chip": "common", "signal": "ground"}, + {"chip": "bcm2835", "signal": "7", "canonical_mode": 0}, + {"chip": "bcm2835", "signal": "0", "canonical_mode": 3}, + {"chip": "bcm2835", "signal": "1", "canonical_mode": 3}, + {"chip": "bcm2835", "signal": "5"}, + {"chip": "common", "signal": "ground"}, + {"chip": "bcm2835", "signal": "6"}, + {"chip": "bcm2835", "signal": "12", "canonical_mode": 0}, + {"chip": "bcm2835", "signal": "13", "canonical_mode": 0}, + {"chip": "common", "signal": "ground"}, + {"chip": "bcm2835", "signal": "19", "canonical_mode": 2}, + {"chip": "bcm2835", "signal": "16"}, + {"chip": "bcm2835", "signal": "26"}, + {"chip": "bcm2835", "signal": "20", "canonical_mode": 2}, + {"chip": "common", "signal": "ground"}, + {"chip": "bcm2835", "signal": "21", "canonical_mode": 2} ] } ] diff --git a/boards/raspberry-pi-4.json b/boards/raspberry-pi-4.json index 9fb800d..80abd7f 100644 --- a/boards/raspberry-pi-4.json +++ b/boards/raspberry-pi-4.json @@ -5,245 +5,51 @@ "name": "j8", "width": 2, "height": 20, + "type": "dupont", + "polarity": "pin", + "pitch": 0.1, "orientation": 0, - "direction": "alternating", "pins": [ - {"name": "3v3 Power", "type": "power", "subtype": "+3v3"}, - {"name": "5v Power", "type": "power", "subtype": "+5v"}, - {"name": "GPIO 2", "alt_modes": [ - {"name": "SDA1", "type": "I2C"}, - {"name": "SA3", "type": "???"}, - {"name": "LCD_VSYNC", "type": "???"}, - {"name": "SPI3_MOSI", "type": "SPI"}, - {"name": "CTS2", "type": "UART"}, - {"name": "SDA3", "type": "I2C"} - ]}, - {"name": "5v Power", "type": "power", "subtype": "+5v"}, - {"name": "GPIO 3", "alt_modes": [ - {"name": "SCL1", "type": "I2C"}, - {"name": "SA2", "type": "???"}, - {"name": "LCD_HSYNC", "type": "???"}, - {"name": "SPI3_SCLK", "type": "SPI"}, - {"name": "RTS2", "type": "UART"}, - {"name": "SCL3", "type": "I2C"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 4", "alt_modes": [ - {"name": "GPCLK0", "type": "???"}, - {"name": "SA1", "type": "???"}, - {"name": "DPI_D0", "type": "DPI"}, - {"name": "SPI4_CE0_N", "type": "SPI"}, - {"name": "TXD3", "type": "UART"}, - {"name": "SDA3", "type": "I2C"} - ]}, - {"name": "GPIO 14", "alt_modes": [ - {"name": "TXD0", "type": "UART"}, - {"name": "SD6", "type": "SDIO"}, - {"name": "DPI_D10", "type": "DPI"}, - {"name": "SPI5_MOSI", "type": "SPI"}, - {"name": "CTS5", "type": "UART"}, - {"name": "TXD1", "type": "UART"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 15", "alt_modes": [ - {"name": "RXD0", "type": "UART"}, - {"name": "SD7", "type": "SDIO"}, - {"name": "DPI_D11", "type": "DPI"}, - {"name": "SPI5_SCLK", "type": "SPI"}, - {"name": "RTS5", "type": "UART"}, - {"name": "RXD1", "type": "UART"} - ]}, - {"name": "GPIO 17", "alt_modes": [ - {"name": "FL1 (?)", "type": "???"}, - {"name": "SD9", "type": "SDIO"}, - {"name": "DPI_D13", "type": "DPI"}, - {"name": "RTS0", "type": "UART"}, - {"name": "SPI1_CE1_N", "type": "SPI"}, - {"name": "RTS1", "type": "UART"} - ]}, - {"name": "GPIO 18", "alt_modes": [ - {"name": "PCM_CLK", "type": "I2S"}, - {"name": "SD10", "type": "SDIO"}, - {"name": "DPI_D14", "type": "DPI"}, - {"name": "SPI6_CE0_N", "type": "SPI"}, - {"name": "SPI1_CE0_N", "type": "SPI"}, - {"name": "PWM0_0", "type": "PWM"} - ]}, - {"name": "GPIO 27", "alt_modes": [ - {"name": "SD0_DAT3", "type": "SDIO"}, - {"name": "TE1 (?)", "type": "???"}, - {"name": "DPI_D23", "type": "DPI"}, - {"name": "SD1_DAT3", "type": "SDIO"}, - {"name": "ARM_TMS", "type": "???"}, - {"name": "SPI6_CE1_N", "type": "SPI"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 22", "alt_modes": [ - {"name": "SD0_CLK", "type": "SDIO"}, - {"name": "SD14", "type": "SDIO"}, - {"name": "DPI_D18", "type": "DPI"}, - {"name": "SD1_CLK", "type": "SDIO"}, - {"name": "ARM_TRST", "type": "???"}, - {"name": "SDA6", "type": "I2C"} - ]}, - {"name": "GPIO 23", "alt_modes": [ - {"name": "SD0_CMD", "type": "SDIO"}, - {"name": "SD15", "type": "SDIO"}, - {"name": "DPI_D19", "type": "DPI"}, - {"name": "SD1_CMD", "type": "SDIO"}, - {"name": "ARM_RTCK", "type": "???"}, - {"name": "SCL6", "type": "I2C"} - ]}, - {"name": "3v3 Power", "type": "power", "subtype": "+3v3"}, - {"name": "GPIO 24", "alt_modes": [ - {"name": "SD0_DAT0", "type": "SDIO"}, - {"name": "SD16", "type": "SDIO"}, - {"name": "DPI_D20", "type": "DPI"}, - {"name": "SD1_DAT0", "type": "SDIO"}, - {"name": "ARM_TDO", "type": "???"}, - {"name": "SPI3_CE1_N", "type": "SPI"} - ]}, - {"name": "GPIO 10", "alt_modes": [ - {"name": "SPI0_MOSI", "type": "SPI"}, - {"name": "SD2", "type": "SDIO"}, - {"name": "DPI_D6", "type": "DPI"}, - {"name": "I2CSL SDA / MOSI", "type": "???"}, - {"name": "CTS4", "type": "UART"}, - {"name": "SDA5", "type": "I2C"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 9", "alt_modes": [ - {"name": "SPI0_MISO", "type": "SPI"}, - {"name": "SD1", "type": "SDIO"}, - {"name": "DPI_D5", "type": "DPI"}, - {"name": "I2CSL SDI / MISO", "type": "???"}, - {"name": "RXD4", "type": "UART"}, - {"name": "SCL4", "type": "I2C"} - ]}, - {"name": "GPIO 25", "alt_modes": [ - {"name": "SD0_DAT1", "type": "SDIO"}, - {"name": "SD17", "type": "SDIO"}, - {"name": "DPI_D21", "type": "DPI"}, - {"name": "SD1_DAT1", "type": "SDIO"}, - {"name": "ARM_TCK", "type": "???"}, - {"name": "SPI4_CE1_N", "type": "SPI"} - ]}, - {"name": "GPIO 11", "alt_modes": [ - {"name": "SPI0_SCLK", "type": "SPI"}, - {"name": "SD3", "type": "SDIO"}, - {"name": "DPI_D7", "type": "DPI"}, - {"name": "I2CSL SCL / SCLK", "type": "???"}, - {"name": "RTS4", "type": "UART"}, - {"name": "SCL5", "type": "I2C"} - ]}, - {"name": "GPIO 8", "alt_modes": [ - {"name": "SPI0_CE0_N", "type": "SPI"}, - {"name": "SD0", "type": "SDIO"}, - {"name": "DPI_D4", "type": "DPI"}, - {"name": "I2CSL CE_N", "type": "???"}, - {"name": "TXD4", "type": "UART"}, - {"name": "SDA4", "type": "I2C"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 7", "alt_modes": [ - {"name": "SPI0_CE1_N", "type": "SPI"}, - {"name": "SWE_N / SRW_N", "type": "???"}, - {"name": "DPI_D3", "type": "DPI"}, - {"name": "SPI4_SCLK", "type": "SPI"}, - {"name": "RTS3", "type": "UART"}, - {"name": "SCL4", "type": "I2C"} - ]}, - {"name": "GPIO 0", "alt_modes": [ - {"name": "SDA0", "type": "I2C"}, - {"name": "SA5", "type": "???"}, - {"name": "PCLK", "type": "???"}, - {"name": "SPI3_CE0_N", "type": "SPI"}, - {"name": "TXD2", "type": "UART"}, - {"name": "SDA6", "type": "I2C"} - ]}, - {"name": "GPIO 1", "alt_modes": [ - {"name": "SCL0", "type": "I2C"}, - {"name": "SA4", "type": "???"}, - {"name": "DE", "type": "???"}, - {"name": "SPI3_MISO", "type": "SPI"}, - {"name": "RXD2", "type": "UART"}, - {"name": "SCL6", "type": "I2C"} - ]}, - {"name": "GPIO 5", "alt_modes": [ - {"name": "GPCLK1", "type": "???"}, - {"name": "SA0", "type": "???"}, - {"name": "DPI_D1", "type": "DPI"}, - {"name": "SPI4_MISO", "type": "SPI"}, - {"name": "RXD3", "type": "UART"}, - {"name": "SCL3", "type": "I2C"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 6", "alt_modes": [ - {"name": "GPCLK2", "type": "???"}, - {"name": "SOE_N / SE", "type": "???"}, - {"name": "DPI_D2", "type": "DPI"}, - {"name": "SPI4_MOSI", "type": "SPI"}, - {"name": "CTS3", "type": "UART"}, - {"name": "SDA4", "type": "I2C"} - ]}, - {"name": "GPIO 12", "alt_modes": [ - {"name": "PWM0_0", "type": "PWM"}, - {"name": "SD4", "type": "SDIO"}, - {"name": "DPI_D8", "type": "DPI"}, - {"name": "SPI5_CE0_N", "type": "SPI"}, - {"name": "TXD5", "type": "UART"}, - {"name": "SDA5", "type": "I2C"} - ]}, - {"name": "GPIO 13", "alt_modes": [ - {"name": "PWM0_1", "type": "PWM"}, - {"name": "SD5", "type": "SDIO"}, - {"name": "DPI_D9", "type": "DPI"}, - {"name": "SPI5_MISO", "type": "SPI"}, - {"name": "RXD5", "type": "UART"}, - {"name": "SCL5", "type": "I2C"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 19", "alt_modes": [ - {"name": "PCM_FS", "type": "I2S"}, - {"name": "SD11", "type": "SDIO"}, - {"name": "DPI_D15", "type": "DPI"}, - {"name": "SPI6_MISO", "type": "SPI"}, - {"name": "SPI1_MISO", "type": "SPI"}, - {"name": "PWM0_1", "type": "PWM"} - ]}, - {"name": "GPIO 16", "alt_modes": [ - {"name": "FL0 (?)", "type": "???"}, - {"name": "SD8", "type": "SDIO"}, - {"name": "DPI_D12", "type": "DPI"}, - {"name": "CTS0", "type": "UART"}, - {"name": "SPI1_CE2_N", "type": "SPI"}, - {"name": "CTS1", "type": "UART"} - ]}, - {"name": "GPIO 26", "alt_modes": [ - {"name": "SD0_DAT2", "type": "SDIO"}, - {"name": "TE0 (?)", "type": "???"}, - {"name": "DPI_D22", "type": "DPI"}, - {"name": "SD1_DAT2", "type": "SDIO"}, - {"name": "ARM_TDI", "type": "???"}, - {"name": "SPI5_CE1_N", "type": "SPI"} - ]}, - {"name": "GPIO 20", "alt_modes": [ - {"name": "PCM_DIN", "type": "I2S"}, - {"name": "SD12", "type": "SDIO"}, - {"name": "DPI_D16", "type": "DPI"}, - {"name": "SPI6_MOSI", "type": "SPI"}, - {"name": "SPI1_MOSI", "type": "SPI"}, - {"name": "GPCLK0", "type": "???"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 21", "alt_modes": [ - {"name": "PCM_DOUT", "type": "I2S"}, - {"name": "SD13", "type": "SDIO"}, - {"name": "DPI_D17", "type": "DPI"}, - {"name": "SPI6_SCLK", "type": "SPI"}, - {"name": "SPI1_SCLK", "type": "SPI"}, - {"name": "GPCLK1", "type": "???"} - ]} + {"chip": "common", "signal": "+3v3"}, + {"chip": "common", "signal": "+5v"}, + {"chip": "bcm2711", "signal": "2", "canonical_mode": 3}, + {"chip": "common", "signal": "+5v"}, + {"chip": "bcm2711", "signal": "3", "canonical_mode": 3}, + {"chip": "common", "signal": "ground"}, + {"chip": "bcm2711", "signal": "4", "canonical_mode": 0}, + {"chip": "bcm2711", "signal": "14", "canonical_mode": 4}, + {"chip": "common", "signal": "ground"}, + {"chip": "bcm2711", "signal": "15", "canonical_mode": 4}, + {"chip": "bcm2711", "signal": "17"}, + {"chip": "bcm2711", "signal": "18", "canonical_mode": 2}, + {"chip": "bcm2711", "signal": "27"}, + {"chip": "common", "signal": "ground"}, + {"chip": "bcm2711", "signal": "22"}, + {"chip": "bcm2711", "signal": "23"}, + {"chip": "common", "signal": "+3v3"}, + {"chip": "bcm2711", "signal": "24"}, + {"chip": "bcm2711", "signal": "10", "canonical_mode": 0}, + {"chip": "common", "signal": "ground"}, + {"chip": "bcm2711", "signal": "9", "canonical_mode": 0}, + {"chip": "bcm2711", "signal": "25"}, + {"chip": "bcm2711", "signal": "11", "canonical_mode": 0}, + {"chip": "bcm2711", "signal": "8", "canonical_mode": 0}, + {"chip": "common", "signal": "ground"}, + {"chip": "bcm2711", "signal": "7", "canonical_mode": 0}, + {"chip": "bcm2711", "signal": "0", "canonical_mode": 3}, + {"chip": "bcm2711", "signal": "1", "canonical_mode": 3}, + {"chip": "bcm2711", "signal": "5"}, + {"chip": "common", "signal": "ground"}, + {"chip": "bcm2711", "signal": "6"}, + {"chip": "bcm2711", "signal": "12", "canonical_mode": 0}, + {"chip": "bcm2711", "signal": "13", "canonical_mode": 0}, + {"chip": "common", "signal": "ground"}, + {"chip": "bcm2711", "signal": "19", "canonical_mode": 2}, + {"chip": "bcm2711", "signal": "16"}, + {"chip": "bcm2711", "signal": "26"}, + {"chip": "bcm2711", "signal": "20", "canonical_mode": 2}, + {"chip": "common", "signal": "ground"}, + {"chip": "bcm2711", "signal": "21", "canonical_mode": 2} ] } ] diff --git a/boards/raspberry-pi-5.json b/boards/raspberry-pi-5.json index f4b19a1..1a99485 100644 --- a/boards/raspberry-pi-5.json +++ b/boards/raspberry-pi-5.json @@ -9,327 +9,47 @@ "polarity": "pin", "pitch": 0.1, "orientation": 0, - "direction": "alternating", "pins": [ - {"name": "3v3 Power", "type": "power", "subtype": "+3v3"}, - {"name": "5v Power", "type": "power", "subtype": "+5v"}, - {"name": "GPIO 2", "canonical_mode": 3, "alt_modes": [ - {"name": "SPI0_CE3", "type": "SPI"}, - {"name": "DPI_VSYNC", "type": "DPI"}, - {"name": "CTS1", "type": "UART"}, - {"name": "SDA1", "type": "I2C"}, - {"name": "IR_RX0", "type": "IRDA??"}, - {"name": "SYS_RIO02"}, - {"name": "PROC_RIO02"}, - {"name": "PIO2", "type": "PIO"}, - {"name": "SPI2_SIO0", "type": "SPI"} - ]}, - {"name": "5v Power", "type": "power", "subtype": "+5v"}, - {"name": "GPIO 3", "canonical_mode": 3, "alt_modes": [ - {"name": "SPI0_CE2", "type": "SPI"}, - {"name": "DPI_HSYNC", "type": "DPI"}, - {"name": "RTS1", "type": "UART"}, - {"name": "SCL1", "type": "I2C"}, - {"name": "IR_TX0", "type": "IRDA??"}, - {"name": "SYS_RIO03"}, - {"name": "PROC_RIO03"}, - {"name": "PIO3", "type": "PIO"}, - {"name": "SPI2_SCLK", "type": "SPI"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 4", "canonical_mode": 0, "alt_modes": [ - {"name": "GPCLK0", "type": "GPCLOCK"}, - {"name": "DPI_D0", "type": "DPI"}, - {"name": "TXD2", "type": "UART"}, - {"name": "SDA2", "type": "I2C"}, - {"name": "RI0", "type": "???"}, - {"name": "SYS_RIO04"}, - {"name": "PROC_RIO04"}, - {"name": "PIO4", "type": "PIO"}, - {"name": "SPI3_CE0", "type": "SPI"} - ]}, - {"name": "GPIO 14", "canonical_mode": 4, "alt_modes": [ - {"name": "PWM0_CHAN2", "type": "PWM"}, - {"name": "DPI_D10", "type": "DPI"}, - {"name": "CTS4", "type": "UART"}, - {"name": "SDA3", "type": "I2C"}, - {"name": "TXD0", "type": "UART"}, - {"name": "SYS_RIO014"}, - {"name": "PROC_RIO014"}, - {"name": "PIO14", "type": "PIO"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 15", "canonical_mode": 4, "alt_modes": [ - {"name": "PWM0_CHAN3", "type": "PWM"}, - {"name": "DPI_D11", "type": "DPI"}, - {"name": "RTS4", "type": "UART"}, - {"name": "SCL3", "type": "I2C"}, - {"name": "RXD0", "type": "UART"}, - {"name": "SYS_RIO015"}, - {"name": "PROC_RIO015"}, - {"name": "PIO15", "type": "PIO"}, - {"name": "SPI5_SCLK", "type": "SPI"} - ]}, - {"name": "GPIO 17", "alt_modes": [ - {"name": "SPI1_CE1", "type": "SPI"}, - {"name": "DPI_D13", "type": "DPI"}, - {"name": "DSI1_TE_EXT", "type": "DSI??"}, - {"name": "-", "used": false}, - {"name": "RTS0", "type": "UART"}, - {"name": "SYS_RIO017"}, - {"name": "PROC_RIO017"}, - {"name": "PIO17", "type": "PIO"}, - {"name": "-", "used": false} - ]}, - {"name": "GPIO 18", "canonical_mode": 2, "alt_modes": [ - {"name": "SPI1_CE0", "type": "SPI"}, - {"name": "DPI_D14", "type": "DPI"}, - {"name": "I2S0_SCLK", "type": "I2S"}, - {"name": "PWM0_CHAN2", "type": "PWM"}, - {"name": "I2S1_SCLK", "type": "I2S"}, - {"name": "SYS_RIO018"}, - {"name": "PROC_RIO018"}, - {"name": "PIO18", "type": "PIO"}, - {"name": "GPCLK1", "type": "GPCLOCK"} - ]}, - {"name": "GPIO 27", "alt_modes": [ - {"name": "SD0_DAT3", "type": "SDIO"}, - {"name": "DPI_D23", "type": "DPI"}, - {"name": "I2S0_SDO3", "type": "I2S"}, - {"name": "MIC_DAT1", "type": "???"}, - {"name": "I2S1_SDO3", "type": "I2S"}, - {"name": "SYS_RIO027"}, - {"name": "PROC_RIO027"}, - {"name": "PIO27", "type": "PIO"}, - {"name": "SPI1_CE1", "type": "SPI"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 22", "alt_modes": [ - {"name": "SD0CLK", "type": "SDIO"}, - {"name": "DPI_D18", "type": "DPI"}, - {"name": "I2S0_SDI1", "type": "I2S"}, - {"name": "SDA3", "type": "I2C"}, - {"name": "I2S1_SDI1", "type": "I2S"}, - {"name": "SYS_RIO022"}, - {"name": "PROC_RIO022"}, - {"name": "PIO22", "type": "PIO"}, - {"name": "-", "used": false} - ]}, - {"name": "GPIO 23", "alt_modes": [ - {"name": "SD0_CMD", "type": "SDIO"}, - {"name": "DPI_D19", "type": "DPI"}, - {"name": "I2S0_SDO1", "type": "I2S"}, - {"name": "SCL3", "type": "I2C"}, - {"name": "I2S1_SDO1", "type": "I2S"}, - {"name": "SYS_RIO023"}, - {"name": "PROC_RIO023"}, - {"name": "PIO23", "type": "PIO"}, - {"name": "-", "used": false} - ]}, - {"name": "3v3 Power", "type": "power", "subtype": "+3v3"}, - {"name": "GPIO 24", "alt_modes": [ - {"name": "SD0_DAT0", "type": "SDIO"}, - {"name": "DPI_D20", "type": "DPI"}, - {"name": "I2S0_SDI2", "type": "I2S"}, - {"name": "-", "used": false}, - {"name": "I2S1_SDI2", "type": "I2S"}, - {"name": "SYS_RIO024"}, - {"name": "PROC_RIO024"}, - {"name": "PIO24", "type": "PIO"}, - {"name": "SPI2_CE1", "type": "SPI"} - ]}, - {"name": "GPIO 10", "canonical_mode": 0, "alt_modes": [ - {"name": "SPI0_MOSI", "type": "SPI"}, - {"name": "DPI_D6", "type": "DPI"}, - {"name": "CTS3", "type": "UART"}, - {"name": "SDA1", "type": "I2C"}, - {"name": "-", "used": false}, - {"name": "SYS_RIO010"}, - {"name": "PROC_RIO010"}, - {"name": "PIO10", "type": "PIO"}, - {"name": "SPI4_SIO1", "type": "SPI"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 9", "canonical_mode": 0, "alt_modes": [ - {"name": "SPI0_MISO", "type": "SPI"}, - {"name": "DPI_D5", "type": "DPI"}, - {"name": "RXD3", "type": "UART"}, - {"name": "SCL0", "type": "I2C"}, - {"name": "-", "used": false}, - {"name": "SYS_RIO09"}, - {"name": "PROC_RIO09"}, - {"name": "PIO9", "type": "PIO"}, - {"name": "SPI4_SIO0", "type": "SPI"} - ]}, - {"name": "GPIO 25", "alt_modes": [ - {"name": "SD0_DAT1", "type": "SDIO"}, - {"name": "DPI_D21", "type": "DPI"}, - {"name": "I2S0_SDO2", "type": "I2S"}, - {"name": "MIC_CLK", "type": "???"}, - {"name": "I2S1_SDO2", "type": "I2S"}, - {"name": "SYS_RIO025"}, - {"name": "PROC_RIO025"}, - {"name": "PIO25", "type": "PIO"}, - {"name": "SPI3_CE1", "type": "SPI"} - ]}, - {"name": "GPIO 11", "canonical_mode": 0, "alt_modes": [ - {"name": "SPI0_SCLK", "type": "SPI"}, - {"name": "DPI_D7", "type": "DPI"}, - {"name": "RTS3", "type": "UART"}, - {"name": "SCL1", "type": "I2C"}, - {"name": "-", "used": false}, - {"name": "SYS_RIO011"}, - {"name": "PROC_RIO011"}, - {"name": "PIO11", "type": "PIO"}, - {"name": "SPI4_SCLK", "type": "SPI"} - ]}, - {"name": "GPIO 8", "canonical_mode": 0, "alt_modes": [ - {"name": "SPI0_CE0", "type": "SPI"}, - {"name": "DPI_D4", "type": "DPI"}, - {"name": "TXD3", "type": "UART"}, - {"name": "SDA0", "type": "I2C"}, - {"name": "-", "used": false}, - {"name": "SYS_RIO08"}, - {"name": "PROC_RIO08"}, - {"name": "PIO8", "type": "PIO"}, - {"name": "SPI4_CE0", "type": "SPI"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 7", "canonical_mode": 0, "alt_modes": [ - {"name": "SPI0_CE1", "type": "SPI"}, - {"name": "DPI_D3", "type": "DPI"}, - {"name": "RTS2", "type": "UART"}, - {"name": "SCL3", "type": "I2C"}, - {"name": "DSR0", "type": "???"}, - {"name": "SYS_RIO07"}, - {"name": "PROC_RIO07"}, - {"name": "PIO7", "type": "PIO"}, - {"name": "SPI3_SCLK", "type": "SPI"} - ]}, - {"name": "GPIO 0", "canonical_mode": 3, "alt_modes": [ - {"name": "SPI0_SIO3", "type": "SPI"}, - {"name": "DPI_PCLK", "type": "DPI"}, - {"name": "TXD1", "type": "UART"}, - {"name": "SDA0", "type": "I2C"}, - {"name": "-", "used": false}, - {"name": "SYS_RIO00"}, - {"name": "PROC_RIO00"}, - {"name": "PIO0", "type": "PIO"}, - {"name": "SPI2_CE0", "type": "SPI"} - ]}, - {"name": "GPIO 1", "canonical_mode": 3, "alt_modes": [ - {"name": "SPI0_SIO2", "type": "SPI"}, - {"name": "DPI_DE", "type": "DPI"}, - {"name": "RXD1", "type": "UART"}, - {"name": "SCL0", "type": "I2C"}, - {"name": "-", "used": false}, - {"name": "SYS_RIO01"}, - {"name": "PROC_RIO01"}, - {"name": "PIO1", "type": "PIO"}, - {"name": "SPI2_SIO1", "type": "SPI"} - ]}, - {"name": "GPIO 5", "alt_modes": [ - {"name": "GPCLK1", "type": "GPCLOCK"}, - {"name": "DPI_D1", "type": "DPI"}, - {"name": "RXD2", "type": "UART"}, - {"name": "SCL2", "type": "I2C"}, - {"name": "DTR0", "type": "UART"}, - {"name": "SYS_RIO05"}, - {"name": "PROC_RIO05"}, - {"name": "PIO5", "type": "PIO"}, - {"name": "SPI3_SIO1", "type": "SPI"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 6", "alt_modes": [ - {"name": "GPCLK2", "type": "GPCLOCK"}, - {"name": "DPI_D2", "type": "DPI"}, - {"name": "CTS2", "type": "UART"}, - {"name": "SDA3", "type": "I2C"}, - {"name": "DCD0", "type": "???"}, - {"name": "SYS_RIO06"}, - {"name": "PROC_RIO06"}, - {"name": "PIO6", "type": "PIO"}, - {"name": "SPI3_SIO0", "type": "SPI"} - ]}, - {"name": "GPIO 12", "canonical_mode": 0, "alt_modes": [ - {"name": "PWM0_CHAN0", "type": "PWM"}, - {"name": "DPI_D8", "type": "DPI"}, - {"name": "TXD4", "type": "UART"}, - {"name": "SDA2", "type": "I2C"}, - {"name": "AAUD_LEFT", "type": "??? analog audio?"}, - {"name": "SYS_RIO012"}, - {"name": "PROC_RIO012"}, - {"name": "PIO12", "type": "PIO"}, - {"name": "SPI5_CE0", "type": "SPI"} - ]}, - {"name": "GPIO 13", "canonical_mode": 1, "alt_modes": [ - {"name": "PWM0_CHAN1", "type": "PWM"}, - {"name": "DPI_D9", "type": "DPI"}, - {"name": "RXD4", "type": "UART"}, - {"name": "SCL2", "type": "I2C"}, - {"name": "AAUD_RIGHT", "type": "??? analog audio?"}, - {"name": "SYS_RIO013"}, - {"name": "PROC_RIO013"}, - {"name": "PIO13", "type": "PIO"}, - {"name": "SPI5_SIO1", "type": "SPI"} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 19", "canonical_mode": 2, "alt_modes": [ - {"name": "SPI1_MISO", "type": "SPI"}, - {"name": "DPI_D15", "type": "DPI"}, - {"name": "I2S0_WS", "type": "I2S"}, - {"name": "PWM0_CHAN3", "type": "PWM"}, - {"name": "I2S1_WS", "type": "I2S"}, - {"name": "SYS_RIO019"}, - {"name": "PROC_RIO019"}, - {"name": "PIO19", "type": "PIO"}, - {"name": "-", "used": false} - ]}, - {"name": "GPIO 16", "alt_modes": [ - {"name": "SPI1_CE2", "type": "SPI"}, - {"name": "DPI_D12", "type": "DPI"}, - {"name": "DSI0_TE_EXT", "type": "DSI"}, - {"name": "-", "used": false}, - {"name": "CTS0", "type": "UART"}, - {"name": "SYS_RIO016"}, - {"name": "PROC_RIO016"}, - {"name": "PIO16", "type": "PIO"}, - {"name": "-", "used": false} - ]}, - {"name": "GPIO 26", "canonical_mode": 2, "alt_modes": [ - {"name": "SD0_DAT2", "type": "SDIO"}, - {"name": "DPI_D22", "type": "DPI"}, - {"name": "I2S0_SDI3", "type": "I2S"}, - {"name": "MIC_DAT0", "type": "???"}, - {"name": "I2S1_SDI3", "type": "I2S"}, - {"name": "SYS_RIO026"}, - {"name": "PROC_RIO026"}, - {"name": "PIO26", "type": "PIO"}, - {"name": "SPI5_CE1", "type": "SPI"} - ]}, - {"name": "GPIO 20", "canonical_mode": 2, "alt_modes": [ - {"name": "SPI1_MOSI", "type": "SPI"}, - {"name": "DPI_D16", "type": "DPI"}, - {"name": "I2S0_SDI0", "type": "I2S"}, - {"name": "GPCLK0", "type": "GPCLOCK"}, - {"name": "I2S1_SDI0", "type": "I2S"}, - {"name": "SYS_RIO020"}, - {"name": "PROC_RIO020"}, - {"name": "PIO20", "type": "PIO"}, - {"name": "-", "used": false} - ]}, - {"name": "Ground", "type": "power", "subtype": "ground"}, - {"name": "GPIO 21", "alt_modes": [ - {"name": "SPI1_SCLK", "type": "SPI"}, - {"name": "DPI_D17", "type": "DPI"}, - {"name": "I2S0_SDO0", "type": "I2S"}, - {"name": "GPCLK1", "type": "GPCLOCK"}, - {"name": "I2S1_SDO0", "type": "I2S"}, - {"name": "SYS_RIO021"}, - {"name": "PROC_RIO021"}, - {"name": "PIO21", "type": "PIO"}, - {"name": "-", "used": false} - ]} + {"chip": "common", "signal": "+3v3"}, + {"chip": "common", "signal": "+5v"}, + {"chip": "rp1", "signal": "2", "canonical_mode": 3}, + {"chip": "common", "signal": "+5v"}, + {"chip": "rp1", "signal": "3", "canonical_mode": 3}, + {"chip": "common", "signal": "ground"}, + {"chip": "rp1", "signal": "4", "canonical_mode": 0}, + {"chip": "rp1", "signal": "14", "canonical_mode": 4}, + {"chip": "common", "signal": "ground"}, + {"chip": "rp1", "signal": "15", "canonical_mode": 4}, + {"chip": "rp1", "signal": "17"}, + {"chip": "rp1", "signal": "18", "canonical_mode": 2}, + {"chip": "rp1", "signal": "27"}, + {"chip": "common", "signal": "ground"}, + {"chip": "rp1", "signal": "22"}, + {"chip": "rp1", "signal": "23"}, + {"chip": "common", "signal": "+3v3"}, + {"chip": "rp1", "signal": "24"}, + {"chip": "rp1", "signal": "10", "canonical_mode": 0}, + {"chip": "common", "signal": "ground"}, + {"chip": "rp1", "signal": "9", "canonical_mode": 0}, + {"chip": "rp1", "signal": "25"}, + {"chip": "rp1", "signal": "11", "canonical_mode": 0}, + {"chip": "rp1", "signal": "8", "canonical_mode": 0}, + {"chip": "common", "signal": "ground"}, + {"chip": "rp1", "signal": "7", "canonical_mode": 0}, + {"chip": "rp1", "signal": "0", "canonical_mode": 3}, + {"chip": "rp1", "signal": "1", "canonical_mode": 3}, + {"chip": "rp1", "signal": "5"}, + {"chip": "common", "signal": "ground"}, + {"chip": "rp1", "signal": "6"}, + {"chip": "rp1", "signal": "12", "canonical_mode": 0}, + {"chip": "rp1", "signal": "13", "canonical_mode": 0}, + {"chip": "common", "signal": "ground"}, + {"chip": "rp1", "signal": "19", "canonical_mode": 2}, + {"chip": "rp1", "signal": "16"}, + {"chip": "rp1", "signal": "26"}, + {"chip": "rp1", "signal": "20", "canonical_mode": 2}, + {"chip": "common", "signal": "ground"}, + {"chip": "rp1", "signal": "21", "canonical_mode": 2} ] } ] diff --git a/chips/bcm2711.json b/chips/bcm2711.json new file mode 100644 index 0000000..ac03e0b --- /dev/null +++ b/chips/bcm2711.json @@ -0,0 +1,229 @@ +{ + "name": "BCM2711", + "signals": { + "0": {"name": "GPIO 0", "alt_modes": [ + {"name": "SDA0", "type": "I2C"}, + {"name": "SA5", "type": "SMI"}, + {"name": "PCLK", "type": "DPI"}, + {"name": "SPI3_CE0_N", "type": "SPI"}, + {"name": "TXD2", "type": "UART"}, + {"name": "SDA6", "type": "I2C"} + ]}, + "1": {"name": "GPIO 1", "alt_modes": [ + {"name": "SCL0", "type": "I2C"}, + {"name": "SA4", "type": "SMI"}, + {"name": "DE", "type": "DPI"}, + {"name": "SPI3_MISO", "type": "SPI"}, + {"name": "RXD2", "type": "UART"}, + {"name": "SCL6", "type": "I2C"} + ]}, + "2": {"name": "GPIO 2", "alt_modes": [ + {"name": "SDA1", "type": "I2C"}, + {"name": "SA3", "type": "SMI"}, + {"name": "LCD_VSYNC", "type": "DPI"}, + {"name": "SPI3_MOSI", "type": "SPI"}, + {"name": "CTS2", "type": "UART"}, + {"name": "SDA3", "type": "I2C"} + ]}, + "3": {"name": "GPIO 3", "alt_modes": [ + {"name": "SCL1", "type": "I2C"}, + {"name": "SA2", "type": "SMI"}, + {"name": "LCD_HSYNC", "type": "DPI"}, + {"name": "SPI3_SCLK", "type": "SPI"}, + {"name": "RTS2", "type": "UART"}, + {"name": "SCL3", "type": "I2C"} + ]}, + "4": {"name": "GPIO 4", "alt_modes": [ + {"name": "GPCLK0", "type": "GPCLK"}, + {"name": "SA1", "type": "SMI"}, + {"name": "DPI_D0", "type": "DPI"}, + {"name": "SPI4_CE0_N", "type": "SPI"}, + {"name": "TXD3", "type": "UART"}, + {"name": "SDA3", "type": "I2C"} + ]}, + "5": {"name": "GPIO 5", "alt_modes": [ + {"name": "GPCLK1", "type": "GPCLK"}, + {"name": "SA0", "type": "SMI"}, + {"name": "DPI_D1", "type": "DPI"}, + {"name": "SPI4_MISO", "type": "SPI"}, + {"name": "RXD3", "type": "UART"}, + {"name": "SCL3", "type": "I2C"} + ]}, + "6": {"name": "GPIO 6", "alt_modes": [ + {"name": "GPCLK2", "type": "GPCLK"}, + {"name": "SOE_N / SE", "type": "???"}, + {"name": "DPI_D2", "type": "DPI"}, + {"name": "SPI4_MOSI", "type": "SPI"}, + {"name": "CTS3", "type": "UART"}, + {"name": "SDA4", "type": "I2C"} + ]}, + "7": {"name": "GPIO 7", "alt_modes": [ + {"name": "SPI0_CE1_N", "type": "SPI"}, + {"name": "SWE_N / SRW_N", "type": "???"}, + {"name": "DPI_D3", "type": "DPI"}, + {"name": "SPI4_SCLK", "type": "SPI"}, + {"name": "RTS3", "type": "UART"}, + {"name": "SCL4", "type": "I2C"} + ]}, + "8": {"name": "GPIO 8", "alt_modes": [ + {"name": "SPI0_CE0_N", "type": "SPI"}, + {"name": "SD0", "type": "SMI"}, + {"name": "DPI_D4", "type": "DPI"}, + {"name": "I2CSL CE_N", "type": "I2C"}, + {"name": "TXD4", "type": "UART"}, + {"name": "SDA4", "type": "I2C"} + ]}, + "9": {"name": "GPIO 9", "alt_modes": [ + {"name": "SPI0_MISO", "type": "SPI"}, + {"name": "SD1", "type": "SMI"}, + {"name": "DPI_D5", "type": "DPI"}, + {"name": "I2CSL SDI / MISO", "type": "I2C"}, + {"name": "RXD4", "type": "UART"}, + {"name": "SCL4", "type": "I2C"} + ]}, + "10": {"name": "GPIO 10", "alt_modes": [ + {"name": "SPI0_MOSI", "type": "SPI"}, + {"name": "SD2", "type": "SMI"}, + {"name": "DPI_D6", "type": "DPI"}, + {"name": "I2CSL SDA / MOSI", "type": "I2C"}, + {"name": "CTS4", "type": "UART"}, + {"name": "SDA5", "type": "I2C"} + ]}, + "11": {"name": "GPIO 11", "alt_modes": [ + {"name": "SPI0_SCLK", "type": "SPI"}, + {"name": "SD3", "type": "SMI"}, + {"name": "DPI_D7", "type": "DPI"}, + {"name": "I2CSL SCL / SCLK", "type": "I2C"}, + {"name": "RTS4", "type": "UART"}, + {"name": "SCL5", "type": "I2C"} + ]}, + "12": {"name": "GPIO 12", "alt_modes": [ + {"name": "PWM0_0", "type": "PWM"}, + {"name": "SD4", "type": "SMI"}, + {"name": "DPI_D8", "type": "DPI"}, + {"name": "SPI5_CE0_N", "type": "SPI"}, + {"name": "TXD5", "type": "UART"}, + {"name": "SDA5", "type": "I2C"} + ]}, + "13": {"name": "GPIO 13", "alt_modes": [ + {"name": "PWM0_1", "type": "PWM"}, + {"name": "SD5", "type": "SMI"}, + {"name": "DPI_D9", "type": "DPI"}, + {"name": "SPI5_MISO", "type": "SPI"}, + {"name": "RXD5", "type": "UART"}, + {"name": "SCL5", "type": "I2C"} + ]}, + "14": {"name": "GPIO 14", "alt_modes": [ + {"name": "TXD0", "type": "UART"}, + {"name": "SD6", "type": "SMI"}, + {"name": "DPI_D10", "type": "DPI"}, + {"name": "SPI5_MOSI", "type": "SPI"}, + {"name": "CTS5", "type": "UART"}, + {"name": "TXD1", "type": "UART"} + ]}, + "15": {"name": "GPIO 15", "alt_modes": [ + {"name": "RXD0", "type": "UART"}, + {"name": "SD7", "type": "SMI"}, + {"name": "DPI_D11", "type": "DPI"}, + {"name": "SPI5_SCLK", "type": "SPI"}, + {"name": "RTS5", "type": "UART"}, + {"name": "RXD1", "type": "UART"} + ]}, + "16": {"name": "GPIO 16", "alt_modes": [ + {"name": "FL0 (?)", "type": "???"}, + {"name": "SD8", "type": "SMI"}, + {"name": "DPI_D12", "type": "DPI"}, + {"name": "CTS0", "type": "UART"}, + {"name": "SPI1_CE2_N", "type": "SPI"}, + {"name": "CTS1", "type": "UART"} + ]}, + "17": {"name": "GPIO 17", "alt_modes": [ + {"name": "FL1 (?)", "type": "???"}, + {"name": "SD9", "type": "SMI"}, + {"name": "DPI_D13", "type": "DPI"}, + {"name": "RTS0", "type": "UART"}, + {"name": "SPI1_CE1_N", "type": "SPI"}, + {"name": "RTS1", "type": "UART"} + ]}, + "18": {"name": "GPIO 18", "alt_modes": [ + {"name": "PCM_CLK", "type": "I2S"}, + {"name": "SD10", "type": "SMI"}, + {"name": "DPI_D14", "type": "DPI"}, + {"name": "SPI6_CE0_N", "type": "SPI"}, + {"name": "SPI1_CE0_N", "type": "SPI"}, + {"name": "PWM0_0", "type": "PWM"} + ]}, + "19": {"name": "GPIO 19", "alt_modes": [ + {"name": "PCM_FS", "type": "I2S"}, + {"name": "SD11", "type": "SMI"}, + {"name": "DPI_D15", "type": "DPI"}, + {"name": "SPI6_MISO", "type": "SPI"}, + {"name": "SPI1_MISO", "type": "SPI"}, + {"name": "PWM0_1", "type": "PWM"} + ]}, + "20": {"name": "GPIO 20", "alt_modes": [ + {"name": "PCM_DIN", "type": "I2S"}, + {"name": "SD12", "type": "SMI"}, + {"name": "DPI_D16", "type": "DPI"}, + {"name": "SPI6_MOSI", "type": "SPI"}, + {"name": "SPI1_MOSI", "type": "SPI"}, + {"name": "GPCLK0", "type": "???"} + ]}, + "21": {"name": "GPIO 21", "alt_modes": [ + {"name": "PCM_DOUT", "type": "I2S"}, + {"name": "SD13", "type": "SMI"}, + {"name": "DPI_D17", "type": "DPI"}, + {"name": "SPI6_SCLK", "type": "SPI"}, + {"name": "SPI1_SCLK", "type": "SPI"}, + {"name": "GPCLK1", "type": "GPCLK"} + ]}, + "22": {"name": "GPIO 22", "alt_modes": [ + {"name": "SD0_CLK", "type": "SMI"}, + {"name": "SD14", "type": "SMI"}, + {"name": "DPI_D18", "type": "DPI"}, + {"name": "SD1_CLK", "type": "SMI"}, + {"name": "ARM_TRST", "type": "JTAG"}, + {"name": "SDA6", "type": "I2C"} + ]}, + "23": {"name": "GPIO 23", "alt_modes": [ + {"name": "SD0_CMD", "type": "SMI"}, + {"name": "SD15", "type": "SMI"}, + {"name": "DPI_D19", "type": "DPI"}, + {"name": "SD1_CMD", "type": "SMI"}, + {"name": "ARM_RTCK", "type": "JTAG"}, + {"name": "SCL6", "type": "I2C"} + ]}, + "24": {"name": "GPIO 24", "alt_modes": [ + {"name": "SD0_DAT0", "type": "SMI"}, + {"name": "SD16", "type": "SMI"}, + {"name": "DPI_D20", "type": "DPI"}, + {"name": "SD1_DAT0", "type": "SMI"}, + {"name": "ARM_TDO", "type": "JTAG"}, + {"name": "SPI3_CE1_N", "type": "SPI"} + ]}, + "25": {"name": "GPIO 25", "alt_modes": [ + {"name": "SD0_DAT1", "type": "SMI"}, + {"name": "SD17", "type": "SMI"}, + {"name": "DPI_D21", "type": "DPI"}, + {"name": "SD1_DAT1", "type": "SMI"}, + {"name": "ARM_TCK", "type": "???"}, + {"name": "SPI4_CE1_N", "type": "SPI"} + ]}, + "26": {"name": "GPIO 26", "alt_modes": [ + {"name": "SD0_DAT2", "type": "SMI"}, + {"name": "TE0 (?)", "type": "???"}, + {"name": "DPI_D22", "type": "DPI"}, + {"name": "SD1_DAT2", "type": "SMI"}, + {"name": "ARM_TDI", "type": "JTAG"}, + {"name": "SPI5_CE1_N", "type": "SPI"} + ]}, + "27": {"name": "GPIO 27", "alt_modes": [ + {"name": "SD0_DAT3", "type": "SMI"}, + {"name": "TE1 (?)", "type": "???"}, + {"name": "DPI_D23", "type": "DPI"}, + {"name": "SD1_DAT3", "type": "SMI"}, + {"name": "ARM_TMS", "type": "JTAG"}, + {"name": "SPI6_CE1_N", "type": "SPI"} + ]} + } +} \ No newline at end of file diff --git a/chips/bcm2835.json b/chips/bcm2835.json new file mode 100644 index 0000000..ed374eb --- /dev/null +++ b/chips/bcm2835.json @@ -0,0 +1,229 @@ +{ + "name": "BCM2835", + "signals": { + "0": {"name": "GPIO 0", "alt_modes": [ + {"name": "SDA0", "type": "I2C"}, + {"name": "SA5", "type": "SMI"}, + {"name": "PCLK", "type": "???"}, + {"name": "AVEOUT_VCLK", "type": "???"}, + {"name": "AVEIN_VCLK", "type": "???"}, + {"name": "", "type": "UNUSED"} + ]}, + "1": {"name": "GPIO 1", "alt_modes": [ + {"name": "SCL0", "type": "I2C"}, + {"name": "SA4", "type": "SMI"}, + {"name": "DE", "type": "???"}, + {"name": "AVEOUT_DSYNC", "type": "???"}, + {"name": "AVEIN_DSYNC", "type": "???"}, + {"name": "", "type": "UNUSED"} + ]}, + "2": {"name": "GPIO 2", "alt_modes": [ + {"name": "SDA1", "type": "I2C"}, + {"name": "SA3", "type": "SMI"}, + {"name": "LCD_VSYNC", "type": "DPI"}, + {"name": "AVEOUT_VSYNC", "type": "???"}, + {"name": "AVEIN_VSYNC", "type": "???"}, + {"name": "", "type": "UNUSED"} + ]}, + "3": {"name": "GPIO 3", "alt_modes": [ + {"name": "SCL1", "type": "I2C"}, + {"name": "SA2", "type": "SMI"}, + {"name": "LCD_HSYNC", "type": "DPI"}, + {"name": "AVEOUT_HSYNC", "type": "???"}, + {"name": "AVEIN_HSYNC", "type": "???"}, + {"name": "", "type": "UNUSED"} + ]}, + "4": {"name": "GPIO 4", "alt_modes": [ + {"name": "GPCLK0", "type": "GPCLK"}, + {"name": "SA1", "type": "SMI"}, + {"name": "DPI_D0", "type": "DPI"}, + {"name": "AVEOUT_VID0", "type": "???"}, + {"name": "AVEIN_VID0", "type": "???"}, + {"name": "ARM_TDI", "type": "JTAG"} + ]}, + "5": {"name": "GPIO 5", "alt_modes": [ + {"name": "GPCLK1", "type": "GPCLK"}, + {"name": "SA0", "type": "SMI"}, + {"name": "DPI_D1", "type": "DPI"}, + {"name": "AVEOUT_VID1", "type": "???"}, + {"name": "AVEIN_VID1", "type": "???"}, + {"name": "ARM_TDO", "type": "JTAG"} + ]}, + "6": {"name": "GPIO 6", "alt_modes": [ + {"name": "GPCLK2", "type": "GPCLK"}, + {"name": "SOE_N / SE", "type": "???"}, + {"name": "DPI_D2", "type": "DPI"}, + {"name": "AVEOUT_VID2", "type": "???"}, + {"name": "AVEIN_VID2", "type": "???"}, + {"name": "ARM_RTCK", "type": "JTAG"} + ]}, + "7": {"name": "GPIO 7", "alt_modes": [ + {"name": "SPI0_CE1_N", "type": "SPI"}, + {"name": "SWE_N / SRW_N", "type": "???"}, + {"name": "DPI_D3", "type": "DPI"}, + {"name": "AVEOUT_VID3", "type": "???"}, + {"name": "AVEIN_VID3", "type": "???"}, + {"name": "", "type": "UNUSED"} + ]}, + "8": {"name": "GPIO 8", "alt_modes": [ + {"name": "SPI0_CE0_N", "type": "SPI"}, + {"name": "SD0", "type": "SMI"}, + {"name": "DPI_D4", "type": "DPI"}, + {"name": "AVEOUT_VID4", "type": "???"}, + {"name": "AVEIN_VID4", "type": "???"}, + {"name": "", "type": "UNUSED"} + ]}, + "9": {"name": "GPIO 9", "alt_modes": [ + {"name": "SPI0_MISO", "type": "SPI"}, + {"name": "SD1", "type": "SMI"}, + {"name": "DPI_D5", "type": "DPI"}, + {"name": "AVEOUT_VID5", "type": "???"}, + {"name": "AVEIN_VID5", "type": "???"}, + {"name": "", "type": "UNUSED"} + ]}, + "10": {"name": "GPIO 10", "alt_modes": [ + {"name": "SPI0_MOSI", "type": "SPI"}, + {"name": "SD2", "type": "SMI"}, + {"name": "DPI_D6", "type": "DPI"}, + {"name": "AVEOUT_VID6", "type": "???"}, + {"name": "AVEIN_VID6", "type": "???"}, + {"name": "", "type": "UNUSED"} + ]}, + "11": {"name": "GPIO 11", "alt_modes": [ + {"name": "SPI0_SCLK", "type": "SPI"}, + {"name": "SD3", "type": "SMI"}, + {"name": "DPI_D7", "type": "DPI"}, + {"name": "AVEOUT_VID7", "type": "???"}, + {"name": "AVEIN_VID7", "type": "???"}, + {"name": "", "type": "UNUSED"} + ]}, + "12": {"name": "GPIO 12", "alt_modes": [ + {"name": "PWM0", "type": "PWM"}, + {"name": "SD4", "type": "SMI"}, + {"name": "DPI_D8", "type": "DPI"}, + {"name": "AVEOUT_VID8", "type": "???"}, + {"name": "AVEIN_VID8", "type": "???"}, + {"name": "ARM_TMS", "type": "JTAG"} + ]}, + "13": {"name": "GPIO 13", "alt_modes": [ + {"name": "PWM1", "type": "PWM"}, + {"name": "SD5", "type": "SMI"}, + {"name": "DPI_D9", "type": "DPI"}, + {"name": "AVEOUT_VID9", "type": "???"}, + {"name": "AVEIN_VID9", "type": "???"}, + {"name": "ARM_TCK", "type": "JTAG"} + ]}, + "14": {"name": "GPIO 14", "alt_modes": [ + {"name": "TXD0", "type": "UART"}, + {"name": "SD6", "type": "SMI"}, + {"name": "DPI_D10", "type": "DPI"}, + {"name": "AVEOUT_VID10", "type": "???"}, + {"name": "AVEIN_VID10", "type": "???"}, + {"name": "TXD1", "type": "UART"} + ]}, + "15": {"name": "GPIO 15", "alt_modes": [ + {"name": "RXD0", "type": "UART"}, + {"name": "SD7", "type": "SMI"}, + {"name": "DPI_D11", "type": "DPI"}, + {"name": "AVEOUT_VID11", "type": "???"}, + {"name": "AVEIN_VID11", "type": "???"}, + {"name": "RXD1", "type": "UART"} + ]}, + "16": {"name": "GPIO 16", "alt_modes": [ + {"name": "FL0", "type": "???"}, + {"name": "SD8", "type": "SMI"}, + {"name": "DPI_D12", "type": "DPI"}, + {"name": "CTS0", "type": "UART"}, + {"name": "SPI1_CE2_N", "type": "SPI"}, + {"name": "CTS1", "type": "UART"} + ]}, + "17": {"name": "GPIO 17", "alt_modes": [ + {"name": "FL1", "type": "???"}, + {"name": "SD9", "type": "SMI"}, + {"name": "DPI_D13", "type": "DPI"}, + {"name": "RTS0", "type": "UART"}, + {"name": "SPI1_CE1_N", "type": "SPI"}, + {"name": "RTS1", "type": "UART"} + ]}, + "18": {"name": "GPIO 18", "alt_modes": [ + {"name": "PCM_CLK", "type": "I2S"}, + {"name": "SD10", "type": "SMI"}, + {"name": "DPI_D14", "type": "DPI"}, + {"name": "BSCSL SDA / MOSI", "type": "???"}, + {"name": "SPI1_CE0_N", "type": "SPI"}, + {"name": "PWM0", "type": "PWM"} + ]}, + "19": {"name": "GPIO 19", "alt_modes": [ + {"name": "PCM_FS", "type": "I2S"}, + {"name": "SD11", "type": "SMI"}, + {"name": "DPI_D15", "type": "DPI"}, + {"name": "BSCSL SCL / SCLK", "type": "???"}, + {"name": "SPI1_MISO", "type": "SPI"}, + {"name": "PWM1", "type": "PWM"} + ]}, + "20": {"name": "GPIO 20", "alt_modes": [ + {"name": "PCM_DIN", "type": "I2S"}, + {"name": "SD12", "type": "SMI"}, + {"name": "DPI_D16", "type": "DPI"}, + {"name": "BSCSL / MISO", "type": "???"}, + {"name": "SPI1_MOSI", "type": "SPI"}, + {"name": "GPCLK0", "type": "GPCLK"} + ]}, + "21": {"name": "GPIO 21", "alt_modes": [ + {"name": "PCM_DOUT", "type": "I2S"}, + {"name": "SD13", "type": "SMI"}, + {"name": "DPI_D17", "type": "DPI"}, + {"name": "BSCSL / CE_N", "type": "???"}, + {"name": "SPI1_SCLK", "type": "SPI"}, + {"name": "GPCLK1", "type": "GPCLK"} + ]}, + "22": {"name": "GPIO 22", "alt_modes": [ + {"name": "SD0_CLK", "type": "SMI"}, + {"name": "SD14", "type": "SMI"}, + {"name": "DPI_D18", "type": "DPI"}, + {"name": "SD1_CLK", "type": "SMI"}, + {"name": "ARM_TRST", "type": "JTAG"}, + {"name": "", "type": "UNUSED"} + ]}, + "23": {"name": "GPIO 23", "alt_modes": [ + {"name": "SD0_CMD", "type": "SMI"}, + {"name": "SD15", "type": "SMI"}, + {"name": "DPI_D19", "type": "DPI"}, + {"name": "SD1_CMD", "type": "SMI"}, + {"name": "ARM_RTCK", "type": "JTAG"}, + {"name": "", "type": "UNUSED"} + ]}, + "24": {"name": "GPIO 24", "alt_modes": [ + {"name": "SD0_DAT0", "type": "SMI"}, + {"name": "SD16", "type": "SMI"}, + {"name": "DPI_D20", "type": "DPI"}, + {"name": "SD1_DAT0", "type": "SMI"}, + {"name": "ARM_TDO", "type": "JTAG"}, + {"name": "", "type": "UNUSED"} + ]}, + "25": {"name": "GPIO 25", "alt_modes": [ + {"name": "SD0_DAT1", "type": "SMI"}, + {"name": "SD17", "type": "SMI"}, + {"name": "DPI_D21", "type": "DPI"}, + {"name": "SD1_DAT1", "type": "SMI"}, + {"name": "ARM_TCK", "type": "JTAG"}, + {"name": "", "type": "UNUSED"} + ]}, + "26": {"name": "GPIO 26", "alt_modes": [ + {"name": "SD0_DAT2", "type": "SMI"}, + {"name": "TE0", "type": "???"}, + {"name": "DPI_D22", "type": "DPI"}, + {"name": "SD1_DAT2", "type": "SMI"}, + {"name": "ARM_TDI", "type": "JTAG"}, + {"name": "", "type": "UNUSED"} + ]}, + "27": {"name": "GPIO 27", "alt_modes": [ + {"name": "SD0_DAT3", "type": "SMI"}, + {"name": "TE1", "type": "???"}, + {"name": "DPI_D23", "type": "DPI"}, + {"name": "SD1_DAT3", "type": "SMI"}, + {"name": "ARM_TMS", "type": "JTAG"}, + {"name": "", "type": "UNUSED"} + ]} + } +} \ No newline at end of file diff --git a/chips/common.json b/chips/common.json new file mode 100644 index 0000000..73d0710 --- /dev/null +++ b/chips/common.json @@ -0,0 +1,8 @@ +{ + "name": "Common", + "signals": { + "ground": {"name": "Ground", "type": "power", "subtype": "ground"}, + "+5v": {"name": "5v Power", "type": "power", "subtype": "+5v"}, + "+3v3": {"name": "3v3 Power", "type": "power", "subtype": "+3v3"} + } +} \ No newline at end of file diff --git a/chips/rp1.json b/chips/rp1.json new file mode 100644 index 0000000..37c2b0e --- /dev/null +++ b/chips/rp1.json @@ -0,0 +1,312 @@ +{ + "name": "RP1", + "signals": { + "0": {"name": "GPIO 0", "alt_modes": [ + {"name": "SPI0_SIO3", "type": "SPI"}, + {"name": "DPI_PCLK", "type": "DPI"}, + {"name": "TXD1", "type": "UART"}, + {"name": "SDA0", "type": "I2C"}, + {"name": "", "type": "UNUSED"}, + {"name": "SYS_RIO00", "type": "???"}, + {"name": "PROC_RIO00", "type": "???"}, + {"name": "PIO0", "type": "PIO"}, + {"name": "SPI2_CE0", "type": "SPI"} + ]}, + "1": {"name": "GPIO 1", "alt_modes": [ + {"name": "SPI0_SIO2", "type": "SPI"}, + {"name": "DPI_DE", "type": "DPI"}, + {"name": "RXD1", "type": "UART"}, + {"name": "SCL0", "type": "I2C"}, + {"name": "", "type": "UNUSED"}, + {"name": "SYS_RIO01", "type": "???"}, + {"name": "PROC_RIO01", "type": "???"}, + {"name": "PIO1", "type": "PIO"}, + {"name": "SPI2_SIO1", "type": "SPI"} + ]}, + "2": {"name": "GPIO 2", "alt_modes": [ + {"name": "SPI0_CE3", "type": "SPI"}, + {"name": "DPI_VSYNC", "type": "DPI"}, + {"name": "CTS1", "type": "UART"}, + {"name": "SDA1", "type": "I2C"}, + {"name": "IR_RX0", "type": "???"}, + {"name": "SYS_RIO02", "type": "???"}, + {"name": "PROC_RIO02", "type": "???"}, + {"name": "PIO2", "type": "PIO"}, + {"name": "SPI2_SIO0", "type": "SPI"} + ]}, + "3": {"name": "GPIO 3", "alt_modes": [ + {"name": "SPI0_CE2", "type": "SPI"}, + {"name": "DPI_HSYNC", "type": "DPI"}, + {"name": "RTS1", "type": "UART"}, + {"name": "SCL1", "type": "I2C"}, + {"name": "IR_TX0", "type": "???"}, + {"name": "SYS_RIO03", "type": "???"}, + {"name": "PROC_RIO03", "type": "???"}, + {"name": "PIO3", "type": "PIO"}, + {"name": "SPI2_SCLK", "type": "SPI"} + ]}, + "4": {"name": "GPIO 4", "alt_modes": [ + {"name": "GPCLK0", "type": "GPCLK"}, + {"name": "DPI_D0", "type": "DPI"}, + {"name": "TXD2", "type": "UART"}, + {"name": "SDA2", "type": "I2C"}, + {"name": "RI0", "type": "???"}, + {"name": "SYS_RIO04", "type": "???"}, + {"name": "PROC_RIO04", "type": "???"}, + {"name": "PIO4", "type": "PIO"}, + {"name": "SPI3_CE0", "type": "SPI"} + ]}, + "5": {"name": "GPIO 5", "alt_modes": [ + {"name": "GPCLK1", "type": "GPCLK"}, + {"name": "DPI_D1", "type": "DPI"}, + {"name": "RXD2", "type": "UART"}, + {"name": "SCL2", "type": "I2C"}, + {"name": "DTR0", "type": "UART"}, + {"name": "SYS_RIO05", "type": "???"}, + {"name": "PROC_RIO05", "type": "???"}, + {"name": "PIO5", "type": "PIO"}, + {"name": "SPI3_SIO1", "type": "SPI"} + ]}, + "6": {"name": "GPIO 6", "alt_modes": [ + {"name": "GPCLK2", "type": "GPCLK"}, + {"name": "DPI_D2", "type": "DPI"}, + {"name": "CTS2", "type": "UART"}, + {"name": "SDA3", "type": "I2C"}, + {"name": "DCD0", "type": "???"}, + {"name": "SYS_RIO06", "type": "???"}, + {"name": "PROC_RIO06", "type": "???"}, + {"name": "PIO6", "type": "PIO"}, + {"name": "SPI3_SIO0", "type": "SPI"} + ]}, + "7": {"name": "GPIO 7", "alt_modes": [ + {"name": "SPI0_CE1", "type": "SPI"}, + {"name": "DPI_D3", "type": "DPI"}, + {"name": "RTS2", "type": "UART"}, + {"name": "SCL3", "type": "I2C"}, + {"name": "DSR0", "type": "???"}, + {"name": "SYS_RIO07", "type": "???"}, + {"name": "PROC_RIO07", "type": "???"}, + {"name": "PIO7", "type": "PIO"}, + {"name": "SPI3_SCLK", "type": "SPI"} + ]}, + "8": {"name": "GPIO 8", "alt_modes": [ + {"name": "SPI0_CE0", "type": "SPI"}, + {"name": "DPI_D4", "type": "DPI"}, + {"name": "TXD3", "type": "UART"}, + {"name": "SDA0", "type": "I2C"}, + {"name": "", "type": "UNUSED"}, + {"name": "SYS_RIO08", "type": "???"}, + {"name": "PROC_RIO08", "type": "???"}, + {"name": "PIO8", "type": "PIO"}, + {"name": "SPI4_CE0", "type": "SPI"} + ]}, + "9": {"name": "GPIO 9", "alt_modes": [ + {"name": "SPI0_MISO", "type": "SPI"}, + {"name": "DPI_D5", "type": "DPI"}, + {"name": "RXD3", "type": "UART"}, + {"name": "SCL0", "type": "I2C"}, + {"name": "", "type": "UNUSED"}, + {"name": "SYS_RIO09", "type": "???"}, + {"name": "PROC_RIO09", "type": "???"}, + {"name": "PIO9", "type": "PIO"}, + {"name": "SPI4_SIO0", "type": "SPI"} + ]}, + "10": {"name": "GPIO 10", "alt_modes": [ + {"name": "SPI0_MOSI", "type": "SPI"}, + {"name": "DPI_D6", "type": "DPI"}, + {"name": "CTS3", "type": "UART"}, + {"name": "SDA1", "type": "I2C"}, + {"name": "", "type": "UNUSED"}, + {"name": "SYS_RIO010", "type": "???"}, + {"name": "PROC_RIO010", "type": "???"}, + {"name": "PIO10", "type": "PIO"}, + {"name": "SPI4_SIO1", "type": "SPI"} + ]}, + "11": {"name": "GPIO 11", "alt_modes": [ + {"name": "SPI0_SCLK", "type": "SPI"}, + {"name": "DPI_D7", "type": "DPI"}, + {"name": "RTS3", "type": "UART"}, + {"name": "SCL1", "type": "I2C"}, + {"name": "", "type": "UNUSED"}, + {"name": "SYS_RIO011", "type": "???"}, + {"name": "PROC_RIO011", "type": "???"}, + {"name": "PIO11", "type": "PIO"}, + {"name": "SPI4_SCLK", "type": "SPI"} + ]}, + "12": {"name": "GPIO 12", "alt_modes": [ + {"name": "PWM0_CHAN0", "type": "PWM"}, + {"name": "DPI_D8", "type": "DPI"}, + {"name": "TXD4", "type": "UART"}, + {"name": "SDA2", "type": "I2C"}, + {"name": "AAUD_LEFT", "type": "???"}, + {"name": "SYS_RIO012", "type": "???"}, + {"name": "PROC_RIO012", "type": "???"}, + {"name": "PIO12", "type": "PIO"}, + {"name": "SPI5_CE0", "type": "SPI"} + ]}, + "13": {"name": "GPIO 13", "alt_modes": [ + {"name": "PWM0_CHAN1", "type": "PWM"}, + {"name": "DPI_D9", "type": "DPI"}, + {"name": "RXD4", "type": "UART"}, + {"name": "SCL2", "type": "I2C"}, + {"name": "AAUD_RIGHT", "type": "???"}, + {"name": "SYS_RIO013", "type": "???"}, + {"name": "PROC_RIO013", "type": "???"}, + {"name": "PIO13", "type": "PIO"}, + {"name": "SPI5_SIO1", "type": "SPI"} + ]}, + "14": {"name": "GPIO 14", "alt_modes": [ + {"name": "PWM0_CHAN2", "type": "PWM"}, + {"name": "DPI_D10", "type": "DPI"}, + {"name": "CTS4", "type": "UART"}, + {"name": "SDA3", "type": "I2C"}, + {"name": "TXD0", "type": "UART"}, + {"name": "SYS_RIO014", "type": "???"}, + {"name": "PROC_RIO014", "type": "???"}, + {"name": "PIO14", "type": "PIO"} + ]}, + "15": {"name": "GPIO 15", "alt_modes": [ + {"name": "PWM0_CHAN3", "type": "PWM"}, + {"name": "DPI_D11", "type": "DPI"}, + {"name": "RTS4", "type": "UART"}, + {"name": "SCL3", "type": "I2C"}, + {"name": "RXD0", "type": "UART"}, + {"name": "SYS_RIO015", "type": "???"}, + {"name": "PROC_RIO015", "type": "???"}, + {"name": "PIO15", "type": "PIO"}, + {"name": "SPI5_SCLK", "type": "SPI"} + ]}, + "16": {"name": "GPIO 16", "alt_modes": [ + {"name": "SPI1_CE2", "type": "SPI"}, + {"name": "DPI_D12", "type": "DPI"}, + {"name": "DSI0_TE_EXT", "type": "DSI"}, + {"name": "", "type": "UNUSED"}, + {"name": "CTS0", "type": "UART"}, + {"name": "SYS_RIO016", "type": "???"}, + {"name": "PROC_RIO016", "type": "???"}, + {"name": "PIO16", "type": "PIO"}, + {"name": "", "type": "UNUSED"} + ]}, + "17": {"name": "GPIO 17", "alt_modes": [ + {"name": "SPI1_CE1", "type": "SPI"}, + {"name": "DPI_D13", "type": "DPI"}, + {"name": "DSI1_TE_EXT", "type": "DSI"}, + {"name": "", "type": "UNUSED"}, + {"name": "RTS0", "type": "UART"}, + {"name": "SYS_RIO017", "type": "???"}, + {"name": "PROC_RIO017", "type": "???"}, + {"name": "PIO17", "type": "PIO"}, + {"name": "", "type": "UNUSED"} + ]}, + "18": {"name": "GPIO 18", "alt_modes": [ + {"name": "SPI1_CE0", "type": "SPI"}, + {"name": "DPI_D14", "type": "DPI"}, + {"name": "I2S0_SCLK", "type": "I2S"}, + {"name": "PWM0_CHAN2", "type": "PWM"}, + {"name": "I2S1_SCLK", "type": "I2S"}, + {"name": "SYS_RIO018", "type": "???"}, + {"name": "PROC_RIO018", "type": "???"}, + {"name": "PIO18", "type": "PIO"}, + {"name": "GPCLK1", "type": "GPCLK"} + ]}, + "19": {"name": "GPIO 19", "alt_modes": [ + {"name": "SPI1_MISO", "type": "SPI"}, + {"name": "DPI_D15", "type": "DPI"}, + {"name": "I2S0_WS", "type": "I2S"}, + {"name": "PWM0_CHAN3", "type": "PWM"}, + {"name": "I2S1_WS", "type": "I2S"}, + {"name": "SYS_RIO019", "type": "???"}, + {"name": "PROC_RIO019", "type": "???"}, + {"name": "PIO19", "type": "PIO"}, + {"name": "", "type": "UNUSED"} + ]}, + "20": {"name": "GPIO 20", "alt_modes": [ + {"name": "SPI1_MOSI", "type": "SPI"}, + {"name": "DPI_D16", "type": "DPI"}, + {"name": "I2S0_SDI0", "type": "I2S"}, + {"name": "GPCLK0", "type": "GPCLK"}, + {"name": "I2S1_SDI0", "type": "I2S"}, + {"name": "SYS_RIO020", "type": "???"}, + {"name": "PROC_RIO020", "type": "???"}, + {"name": "PIO20", "type": "PIO"}, + {"name": "", "type": "UNUSED"} + ]}, + "21": {"name": "GPIO 21", "alt_modes": [ + {"name": "SPI1_SCLK", "type": "SPI"}, + {"name": "DPI_D17", "type": "DPI"}, + {"name": "I2S0_SDO0", "type": "I2S"}, + {"name": "GPCLK1", "type": "GPCLK"}, + {"name": "I2S1_SDO0", "type": "I2S"}, + {"name": "SYS_RIO021", "type": "???"}, + {"name": "PROC_RIO021", "type": "???"}, + {"name": "PIO21", "type": "PIO"}, + {"name": "", "type": "UNUSED"} + ]}, + "22": {"name": "GPIO 22", "alt_modes": [ + {"name": "SD0CLK", "type": "SDIO"}, + {"name": "DPI_D18", "type": "DPI"}, + {"name": "I2S0_SDI1", "type": "I2S"}, + {"name": "SDA3", "type": "I2C"}, + {"name": "I2S1_SDI1", "type": "I2S"}, + {"name": "SYS_RIO022", "type": "???"}, + {"name": "PROC_RIO022", "type": "???"}, + {"name": "PIO22", "type": "PIO"}, + {"name": "", "type": "UNUSED"} + ]}, + "23": {"name": "GPIO 23", "alt_modes": [ + {"name": "SD0_CMD", "type": "SDIO"}, + {"name": "DPI_D19", "type": "DPI"}, + {"name": "I2S0_SDO1", "type": "I2S"}, + {"name": "SCL3", "type": "I2C"}, + {"name": "I2S1_SDO1", "type": "I2S"}, + {"name": "SYS_RIO023", "type": "???"}, + {"name": "PROC_RIO023", "type": "???"}, + {"name": "PIO23", "type": "PIO"}, + {"name": "", "type": "UNUSED"} + ]}, + "24": {"name": "GPIO 24", "alt_modes": [ + {"name": "SD0_DAT0", "type": "SDIO"}, + {"name": "DPI_D20", "type": "DPI"}, + {"name": "I2S0_SDI2", "type": "I2S"}, + {"name": "", "type": "UNUSED"}, + {"name": "I2S1_SDI2", "type": "I2S"}, + {"name": "SYS_RIO024", "type": "???"}, + {"name": "PROC_RIO024", "type": "???"}, + {"name": "PIO24", "type": "PIO"}, + {"name": "SPI2_CE1", "type": "SPI"} + ]}, + "25": {"name": "GPIO 25", "alt_modes": [ + {"name": "SD0_DAT1", "type": "SDIO"}, + {"name": "DPI_D21", "type": "DPI"}, + {"name": "I2S0_SDO2", "type": "I2S"}, + {"name": "MIC_CLK", "type": "???"}, + {"name": "I2S1_SDO2", "type": "I2S"}, + {"name": "SYS_RIO025", "type": "???"}, + {"name": "PROC_RIO025", "type": "???"}, + {"name": "PIO25", "type": "PIO"}, + {"name": "SPI3_CE1", "type": "SPI"} + ]}, + "26": {"name": "GPIO 26", "alt_modes": [ + {"name": "SD0_DAT2", "type": "SDIO"}, + {"name": "DPI_D22", "type": "DPI"}, + {"name": "I2S0_SDI3", "type": "I2S"}, + {"name": "MIC_DAT0", "type": "???"}, + {"name": "I2S1_SDI3", "type": "I2S"}, + {"name": "SYS_RIO026", "type": "???"}, + {"name": "PROC_RIO026", "type": "???"}, + {"name": "PIO26", "type": "PIO"}, + {"name": "SPI5_CE1", "type": "SPI"} + ]}, + "27": {"name": "GPIO 27", "alt_modes": [ + {"name": "SD0_DAT3", "type": "SDIO"}, + {"name": "DPI_D23", "type": "DPI"}, + {"name": "I2S0_SDO3", "type": "I2S"}, + {"name": "MIC_DAT1", "type": "???"}, + {"name": "I2S1_SDO3", "type": "I2S"}, + {"name": "SYS_RIO027", "type": "???"}, + {"name": "PROC_RIO027", "type": "???"}, + {"name": "PIO27", "type": "PIO"}, + {"name": "SPI1_CE1", "type": "SPI"} + ]} + } +} \ No newline at end of file diff --git a/schema/__init__.py b/schema/__init__.py index f923c71..e69de29 100644 --- a/schema/__init__.py +++ b/schema/__init__.py @@ -1,67 +0,0 @@ -valid_alt_mode_types = ["I2C", "SPI", "DPI", "DSI", "UART", "PIO", "I2S", "GPCLOCK"] -valid_orientations = [0, 90, 180, 270] -valid_directions = ["alternating", "around"] -valid_pin_types = ["gpio", "power", "nc"] -valid_pin_subtypes = ["+5v", "+3v3", "ground"] - -valid_header_types = ["dupont", "jst"] -valid_header_polarity = ["pin", "socket"] - -board = { - "type": "object", - "properties": { - "name": {"type": "string"}, - "headers": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": {"type": "string"}, - "width": {"type": "number"}, - "height": {"type": "number"}, - "orientation": {"type": "number", "enum": valid_orientations}, - "direction": {"type": "string", "enum": valid_directions}, - "type": {"type": "string", "enum": valid_header_types}, - "polarity": {"type": "string", "enum": valid_header_polarity}, - "pitch": {"type": "number"}, - "pins": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": {"type": "string"}, - "type": {"type": "string", "enum": valid_pin_types}, - "subtype": {"type": "string", "enum": valid_pin_subtypes}, - "canonical_mode": {"type": "number"}, - "alt_modes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": {"type": "string"}, - "type": {"type": "string", "enum": valid_alt_mode_types}, - "used": {"type": "boolean"} - }, - "required": [ - "name" - ] - } - } - }, - "required": [ - "name" - ] - }, - "unevaluatedItems": False - } - }, - "required": [ - "name", - "width", - "height" - ] - }, - "unevaluatedItems": False - } - } -} \ No newline at end of file diff --git a/schema/board.py b/schema/board.py new file mode 100644 index 0000000..4b61552 --- /dev/null +++ b/schema/board.py @@ -0,0 +1,39 @@ +valid_orientations = [0, 90, 180, 270] +valid_header_types = ["dupont", "jst", "ffc"] +valid_header_polarity = ["pin", "socket"] + +board_pin = { + "type": "object", + "properties": { + "name": {"type": "string"}, + "width": {"type": "number"}, + "height": {"type": "number"}, + "orientation": {"type": "number", "enum": valid_orientations}, + "type": {"type": "string", "enum": valid_header_types}, + "polarity": {"type": "string", "enum": valid_header_polarity}, + "pitch": {"type": "number"}, + "pins": { + "type": "array", + "items": { + "type": "object", + "properties": { + "chip": {"type": "string"}, + "signal": {"type": "string"}, + "canonical_mode": {"type": "number"}, + }, + "required": ["chip", "signal"], + }, + "unevaluatedItems": False, + }, + }, + "required": ["name", "width", "height"], + "additionalProperties": False, +} + +board = { + "type": "object", + "properties": { + "name": {"type": "string"}, + "headers": {"type": "array", "items": board_pin, "unevaluatedItems": False}, + }, +} diff --git a/schema/chip.py b/schema/chip.py new file mode 100644 index 0000000..80c140d --- /dev/null +++ b/schema/chip.py @@ -0,0 +1,45 @@ +valid_alt_mode_types = [ + "I2C", + "SPI", + "DPI", + "DSI", + "UART", + "PIO", + "I2S", + "GPCLK", + "JTAG", + "SDIO", + "SMI", + "PWM", + "UNUSED", +] +valid_pin_types = ["gpio", "power", "nc"] +valid_pin_subtypes = ["+5v", "+3v3", "ground"] + +chip_signal = { + "type": "object", + "properties": { + "name": {"type": "string"}, + "type": {"type": "string", "enum": valid_pin_types}, + "subtype": {"type": "string", "enum": valid_pin_subtypes}, + "alt_modes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": {"type": "string"}, + "type": {"type": "string", "enum": valid_alt_mode_types}, + }, + "required": ["name", "type"], + }, + }, + }, +} + +chip = { + "type": "object", + "properties": { + "name": {"type": "string"}, + "signals": {"type": "object", "additionalProperties": chip_signal}, + }, +}