|  | 
|  | 1 | +// This file is part of the CircuitPython project: https://circuitpython.org | 
|  | 2 | +// | 
|  | 3 | +// SPDX-FileCopyrightText: Copyright (c) 2020 Scott Shawcroft for Adafruit Industries | 
|  | 4 | +// | 
|  | 5 | +// SPDX-License-Identifier: MIT | 
|  | 6 | + | 
|  | 7 | +#include "shared-bindings/board/__init__.h" | 
|  | 8 | +#include "shared-module/displayio/__init__.h" | 
|  | 9 | + | 
|  | 10 | +static const mp_rom_map_elem_t board_module_globals_table[] = { | 
|  | 11 | +    CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS | 
|  | 12 | + | 
|  | 13 | +    // LCD (SPI0) | 
|  | 14 | +    { MP_ROM_QSTR(MP_QSTR_LCD_SCK),   MP_ROM_PTR(&pin_GPIO40) }, | 
|  | 15 | +    { MP_ROM_QSTR(MP_QSTR_LCD_MOSI),  MP_ROM_PTR(&pin_GPIO45) }, | 
|  | 16 | +    { MP_ROM_QSTR(MP_QSTR_LCD_MISO),  MP_ROM_PTR(&pin_GPIO46) }, | 
|  | 17 | +    { MP_ROM_QSTR(MP_QSTR_LCD_CS),    MP_ROM_PTR(&pin_GPIO42) }, | 
|  | 18 | +    { MP_ROM_QSTR(MP_QSTR_LCD_DC),    MP_ROM_PTR(&pin_GPIO41) }, | 
|  | 19 | +    { MP_ROM_QSTR(MP_QSTR_LCD_RST),   MP_ROM_PTR(&pin_GPIO39) }, | 
|  | 20 | +    { MP_ROM_QSTR(MP_QSTR_LCD_BL),    MP_ROM_PTR(&pin_GPIO5)  },   // PWM-capable | 
|  | 21 | + | 
|  | 22 | +    // microSD (SPI1) | 
|  | 23 | +    { MP_ROM_QSTR(MP_QSTR_SD_SCK),    MP_ROM_PTR(&pin_GPIO14) }, | 
|  | 24 | +    { MP_ROM_QSTR(MP_QSTR_SD_MOSI),   MP_ROM_PTR(&pin_GPIO17) }, | 
|  | 25 | +    { MP_ROM_QSTR(MP_QSTR_SD_MISO),   MP_ROM_PTR(&pin_GPIO16) }, | 
|  | 26 | +    { MP_ROM_QSTR(MP_QSTR_SD_CS),     MP_ROM_PTR(&pin_GPIO21) }, | 
|  | 27 | + | 
|  | 28 | +    // Touch panel (I2C0) | 
|  | 29 | +    { MP_ROM_QSTR(MP_QSTR_TP_SCL),    MP_ROM_PTR(&pin_GPIO3)  }, | 
|  | 30 | +    { MP_ROM_QSTR(MP_QSTR_TP_SDA),    MP_ROM_PTR(&pin_GPIO1)  }, | 
|  | 31 | +    { MP_ROM_QSTR(MP_QSTR_TP_RST),    MP_ROM_PTR(&pin_GPIO2)  }, | 
|  | 32 | +    { MP_ROM_QSTR(MP_QSTR_TP_INT),    MP_ROM_PTR(&pin_GPIO4)  }, | 
|  | 33 | + | 
|  | 34 | +    // IMU (I2C1) | 
|  | 35 | +    { MP_ROM_QSTR(MP_QSTR_IMU_SCL),  MP_ROM_PTR(&pin_GPIO10) }, | 
|  | 36 | +    { MP_ROM_QSTR(MP_QSTR_IMU_SDA),  MP_ROM_PTR(&pin_GPIO11) }, | 
|  | 37 | +    { MP_ROM_QSTR(MP_QSTR_IMU_INT2), MP_ROM_PTR(&pin_GPIO12) }, | 
|  | 38 | +    { MP_ROM_QSTR(MP_QSTR_IMU_INT1), MP_ROM_PTR(&pin_GPIO13) }, | 
|  | 39 | + | 
|  | 40 | +    // I2S Audio | 
|  | 41 | +    { MP_ROM_QSTR(MP_QSTR_I2S_BCK),   MP_ROM_PTR(&pin_GPIO48) }, | 
|  | 42 | +    { MP_ROM_QSTR(MP_QSTR_I2S_DIN),   MP_ROM_PTR(&pin_GPIO47) }, | 
|  | 43 | +    { MP_ROM_QSTR(MP_QSTR_I2S_LRCK),  MP_ROM_PTR(&pin_GPIO38) }, | 
|  | 44 | + | 
|  | 45 | +    // Battery management | 
|  | 46 | +    { MP_ROM_QSTR(MP_QSTR_BAT_CONTROL), MP_ROM_PTR(&pin_GPIO7)  }, // control pin | 
|  | 47 | +    { MP_ROM_QSTR(MP_QSTR_BAT_PWR),     MP_ROM_PTR(&pin_GPIO6)  }, // Board name | 
|  | 48 | +    { MP_ROM_QSTR(MP_QSTR_KEY_BAT),     MP_ROM_PTR(&pin_GPIO6)  }, // Schematics name | 
|  | 49 | +    { MP_ROM_QSTR(MP_QSTR_BAT_ADC),     MP_ROM_PTR(&pin_GPIO8)  }, // VBAT sense (ADC) | 
|  | 50 | + | 
|  | 51 | +    // UART header | 
|  | 52 | +    { MP_ROM_QSTR(MP_QSTR_TX),        MP_ROM_PTR(&pin_GPIO43) }, | 
|  | 53 | +    { MP_ROM_QSTR(MP_QSTR_RX),        MP_ROM_PTR(&pin_GPIO44) }, | 
|  | 54 | + | 
|  | 55 | +    // I2C header | 
|  | 56 | +    { MP_ROM_QSTR(MP_QSTR_I2C_SCL), MP_ROM_PTR(&pin_GPIO10) }, | 
|  | 57 | +    { MP_ROM_QSTR(MP_QSTR_I2C_SDA), MP_ROM_PTR(&pin_GPIO11) }, | 
|  | 58 | + | 
|  | 59 | +    // Boot/User button | 
|  | 60 | +    { MP_ROM_QSTR(MP_QSTR_BOOT),     MP_ROM_PTR(&pin_GPIO0)  }, | 
|  | 61 | +    { MP_ROM_QSTR(MP_QSTR_BUTTON0),  MP_ROM_PTR(&pin_GPIO0)  }, | 
|  | 62 | + | 
|  | 63 | +    // Primary bus pins | 
|  | 64 | +    { MP_ROM_QSTR(MP_QSTR_SCK),       MP_ROM_PTR(&pin_GPIO40) }, // Primary SPI (LCD) | 
|  | 65 | +    { MP_ROM_QSTR(MP_QSTR_MOSI),      MP_ROM_PTR(&pin_GPIO45) }, | 
|  | 66 | +    { MP_ROM_QSTR(MP_QSTR_MISO),      MP_ROM_PTR(&pin_GPIO46) }, | 
|  | 67 | +    { MP_ROM_QSTR(MP_QSTR_SCL),       MP_ROM_PTR(&pin_GPIO3)  }, // Primary I2C (TP) | 
|  | 68 | +    { MP_ROM_QSTR(MP_QSTR_SDA),       MP_ROM_PTR(&pin_GPIO1)  }, | 
|  | 69 | + | 
|  | 70 | +    // Objects | 
|  | 71 | +    { MP_ROM_QSTR(MP_QSTR_I2C),     MP_ROM_PTR(&board_i2c_obj) }, | 
|  | 72 | +    { MP_ROM_QSTR(MP_QSTR_SPI),     MP_ROM_PTR(&board_spi_obj) }, | 
|  | 73 | +    { MP_ROM_QSTR(MP_QSTR_UART),    MP_ROM_PTR(&board_uart_obj) }, | 
|  | 74 | +    { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, | 
|  | 75 | + | 
|  | 76 | +    // User accessible | 
|  | 77 | +    { MP_ROM_QSTR(MP_QSTR_IO10),  MP_ROM_PTR(&pin_GPIO10) }, | 
|  | 78 | +    { MP_ROM_QSTR(MP_QSTR_IO11),  MP_ROM_PTR(&pin_GPIO11) }, | 
|  | 79 | +    { MP_ROM_QSTR(MP_QSTR_IO15),  MP_ROM_PTR(&pin_GPIO15) }, | 
|  | 80 | +    { MP_ROM_QSTR(MP_QSTR_IO18),  MP_ROM_PTR(&pin_GPIO18) }, | 
|  | 81 | +    { MP_ROM_QSTR(MP_QSTR_IO19),  MP_ROM_PTR(&pin_GPIO19) }, | 
|  | 82 | +    { MP_ROM_QSTR(MP_QSTR_IO20),  MP_ROM_PTR(&pin_GPIO20) }, | 
|  | 83 | +    { MP_ROM_QSTR(MP_QSTR_IO43),  MP_ROM_PTR(&pin_GPIO43) }, | 
|  | 84 | +    { MP_ROM_QSTR(MP_QSTR_IO44),  MP_ROM_PTR(&pin_GPIO44) }, | 
|  | 85 | +}; | 
|  | 86 | +MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); | 
0 commit comments