{
    "interfaces": {
        "UART": {
            "instances": {
                "0": {
                    "TX":  [0, 12, 16, 28],
                    "RX":  [1, 13, 17, 29],
                    "CTS": [2, 14, 18],
                    "RTS": [3, 15, 19]
                },
                "1": {
                    "TX":  [4, 8,  20, 24],
                    "RX":  [5, 9,  21, 25],
                    "CTS": [6, 10, 22, 26],
                    "RTS": [7, 11, 23, 27]
                }
            },
            "expected_functions": {
                "one_of": ["TX", "RX"]
            }
        },
        "I2C": {
            "instances": {
                "0": {
                    "SDA": [0, 4, 8,  12, 16, 20, 24, 28],
                    "SCL": [1, 5, 9,  13, 17, 21, 25, 29]
                },
                "1": {
                    "SDA": [2, 6, 10, 14, 18, 22, 26],
                    "SCL": [3, 7, 11, 15, 19, 23, 27]
                }
            },
            "expected_functions": {
                "required": ["SDA", "SCL"]
            }
        },
        "SPI": {
            "instances": {
                "0": {
                    "RX":  [0,  4,  16, 20],
                    "CSN": [1,  5,  17, 21],
                    "SCK": [2,  6,  18, 22],
                    "TX":  [3,  7,  19, 23]
                },
                "1": {
                    "RX":  [8,  12, 24, 28],
                    "CSN": [9,  13, 25, 29],
                    "SCK": [10, 14, 26],
                    "TX":  [11, 15, 27]
                }
            },
            "expected_functions": {
                "required": ["SCK"],
                "one_of": ["RX", "TX"]
            }
        },
        "PWM": {
            "instances": {
                "0": {
                    "A": [0,  16],
                    "B": [1,  17]
                },
                "1": {
                    "A": [2,  18],
                    "B": [3,  19]
                },
                "2": {
                    "A": [4,  20],
                    "B": [5,  21]
                },
                "3": {
                    "A": [6,  22],
                    "B": [7,  23]
                },
                "4": {
                    "A": [8,  24],
                    "B": [9,  25]
                },
                "5": {
                    "A": [10, 26],
                    "B": [11, 27]
                },
                "6": {
                    "A": [12, 28],
                    "B": [13, 29]
                },
                "7": {
                    "A": [14],
                    "B": [15]
                }
            }
        }
    },
    "pins": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
}
