CI: Build Tufty 2040 + Board fixups.

Add board fixups including Pico SDK board .h and MicroPython board dir since these are not yet upstream.
This commit is contained in:
Phil Howard 2022-06-17 11:29:24 +01:00
parent b0a386f240
commit 122e57aa9a
7 changed files with 149 additions and 0 deletions

View File

@ -66,6 +66,8 @@ jobs:
board: PIMORONI_PICOLIPO_4MB
- name: picolipo_16mb
board: PIMORONI_PICOLIPO_16MB
- name: tufty2040
board: PIMORONI_TUFTY2040
env:
# MicroPython version will be contained in github.event.release.tag_name for releases
@ -107,6 +109,12 @@ jobs:
with:
submodules: true
path: pimoroni-pico-${{ github.sha }}
- name: "HACK: MicroPython Board Fixups"
shell: bash
working-directory: micropython/ports/rp2
run: |
../../../pimoroni-pico-${GITHUB_SHA}/micropython/_board/board-fixup.sh ${{matrix.name}} ${{matrix.board}} ../../../pimoroni-pico-${GITHUB_SHA}/micropython/_board
- name: Configure MicroPython
shell: bash

View File

@ -0,0 +1,16 @@
NAME=$1
BOARD=$2
FIXUP_DIR=$3
MPY_DIR=`pwd`
echo "Fixup: $NAME $BOARD $MPY_DIR"
if [[ ! -f "$MPY_DIR/../../lib/pico-sdk/src/boards/include/boards/pimoroni_$NAME.h" ]]; then
echo "Missing Pico SDK board .h. Copying: $FIXUP_DIR/$NAME/pimoroni_$NAME.h to $MPY_DIR/../../lib/pico-sdk/src/boards/include/boards/pimoroni_$NAME.h"
cp "$FIXUP_DIR/$NAME/pimoroni_$NAME.h" "$MPY_DIR/../../lib/pico-sdk/src/boards/include/boards/pimoroni_$NAME.h"
fi
if [[ ! -d "$MPY_DIR/boards/$BOARD" ]]; then
echo "Missing board dir. Copying: $FIXUP_DIR/$NAME/$BOARD/ to $MPY_DIR/boards/"
cp -r "$FIXUP_DIR/$NAME/$BOARD/" "$MPY_DIR/boards/"
fi

View File

@ -0,0 +1,21 @@
{
"deploy": [
"../deploy.md"
],
"docs": "",
"features": [
"SPI Flash",
"STEMMA QT/QWIIC",
"USB-C",
"320*240 LCD",
"Buttons",
"LiPo/Battery Support"
],
"images": [
],
"mcu": "rp2040",
"product": "Tufty2040 (8MiB)",
"thumbnail": "",
"url": "https://shop.pimoroni.com/products/pimoroni-tufty-2040",
"vendor": "Pimoroni"
}

View File

@ -0,0 +1 @@
# cmake file for Pimoroni Tufty 2040

View File

@ -0,0 +1,28 @@
// https://shop.pimoroni.com/products/pimoroni-tufty-2040
#define MICROPY_HW_BOARD_NAME "Pimoroni Tufty 2040"
#define MICROPY_HW_FLASH_STORAGE_BYTES (7 * 1024 * 1024)
#define MICROPY_HW_USB_VID (0x2E8A)
#define MICROPY_HW_USB_PID (0x1002)
#define MICROPY_HW_UART1_TX (8)
#define MICROPY_HW_UART1_RX (9)
#define MICROPY_HW_UART1_CTS (10)
#define MICROPY_HW_UART1_RTS (11)
// Qwiic on I2C0
#define MICROPY_HW_I2C0_SCL (4)
#define MICROPY_HW_I2C0_SDA (5)
#define MICROPY_HW_SPI0_SCK (18)
#define MICROPY_HW_SPI0_MOSI (19)
#define MICROPY_HW_SPI0_MISO (16)
// User LED GPIO25
// VBUS_SENSE GPIO24
// BAT_SENSE GPIO29
// Boot button GPIO23

View File

@ -0,0 +1,68 @@
/*
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
// -----------------------------------------------------
// NOTE: THIS HEADER IS ALSO INCLUDED BY ASSEMBLER SO
// SHOULD ONLY CONSIST OF PREPROCESSOR DIRECTIVES
// -----------------------------------------------------
#ifndef _BOARDS_PIMORONI_TUFTY_2040_H
#define _BOARDS_PIMORONI_TUFTY_2040_H
// For board detection
#define PIMORONI_TUFTY_2040
// --- LED ---
#ifndef PICO_DEFAULT_LED_PIN
#define PICO_DEFAULT_LED_PIN 25
#endif
// no PICO_DEFAULT_WS2812_PIN
// --- I2C ---
#ifndef PICO_DEFAULT_I2C
#define PICO_DEFAULT_I2C 0
#endif
#ifndef PICO_DEFAULT_I2C_SDA_PIN
#define PICO_DEFAULT_I2C_SDA_PIN 4
#endif
#ifndef PICO_DEFAULT_I2C_SCL_PIN
#define PICO_DEFAULT_I2C_SCL_PIN 5
#endif
// --- SPI ---
#ifndef PICO_DEFAULT_SPI
#define PICO_DEFAULT_SPI 0
#endif
#ifndef PICO_DEFAULT_SPI_SCK_PIN
#define PICO_DEFAULT_SPI_SCK_PIN 18
#endif
#ifndef PICO_DEFAULT_SPI_TX_PIN
#define PICO_DEFAULT_SPI_TX_PIN 19
#endif
#ifndef PICO_DEFAULT_SPI_RX_PIN
#define PICO_DEFAULT_SPI_RX_PIN 16
#endif
#ifndef PICO_DEFAULT_SPI_CSN_PIN
#define PICO_DEFAULT_SPI_CSN_PIN 17
#endif
// --- FLASH ---
#define PICO_BOOT_STAGE2_CHOOSE_W25Q080 1
#ifndef PICO_FLASH_SPI_CLKDIV
#define PICO_FLASH_SPI_CLKDIV 2
#endif
#ifndef PICO_FLASH_SIZE_BYTES
#define PICO_FLASH_SIZE_BYTES (8 * 1024 * 1024)
#endif
// All boards have B1 RP2040
#ifndef PICO_RP2040_B0_SUPPORTED
#define PICO_RP2040_B0_SUPPORTED 0
#endif
#endif

View File

@ -0,0 +1,7 @@
include_directories(${CMAKE_CURRENT_LIST_DIR}/../../)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../")
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../../")
include(micropython-common)