From e75526f51f210a2c621a3bfd17458ea8ce159798 Mon Sep 17 00:00:00 2001 From: Bigbits Date: Mon, 15 Jul 2019 16:14:59 +0800 Subject: [PATCH] Add mit-mic board --- boards.txt | 50 +++++++++++- variants/sipeed_maix_bit_mic/pins_arduino.h | 84 +++++++++++++++++++++ 2 files changed, 132 insertions(+), 2 deletions(-) create mode 100644 variants/sipeed_maix_bit_mic/pins_arduino.h diff --git a/boards.txt b/boards.txt index f73dde5..001f420 100644 --- a/boards.txt +++ b/boards.txt @@ -98,6 +98,52 @@ bit.upload.maximum_size=8388608 bit.build.ldscript={runtime.platform.path}/cores/arduino/kendryte-standalone-sdk/lds/kendryte.ld +################################################## +############# Sipeed Maix Bit with Mic Board ############### + +bitm.name=Sipeed Maix Bit-Mic Board + +## Toolchain +bitm.menu.toolsloc.default=Default +bitm.menu.toolsloc.default.compiler.path={runtime.tools.riscv64-unknown-elf-gcc.path}/bin/ + +## CPU Clock +bitm.menu.clksrc.400=400MHz CPU Clock Frequency +bitm.menu.clksrc.500=500MHz CPU Clock Frequency +bitm.menu.clksrc.600=600MHz CPU Clock Frequency +bitm.menu.clksrc.400.build.f_cpu=400000000L +bitm.menu.clksrc.500.build.f_cpu=500000000L +bitm.menu.clksrc.600.build.f_cpu=600000000L + +## Burn baud rate +bitm.menu.burn_baudrate.1500000=1.5 Mbps +bitm.menu.burn_baudrate.1000000=1 Mbps +bitm.menu.burn_baudrate.1500000.build.burn_baudrate=1500000 +bitm.menu.burn_baudrate.1000000.build.burn_baudrate=1000000 + +## Burn tool firmware +bitm.menu.burn_tool_firmware.bitm=Default +bitm.menu.burn_tool_firmware.bitm.build.burn_tool_firmware=bit-mic + +## Point to the file for ./variants//pins_arduino.h +bitm.build.variant=sipeed_maix_bit_mic + +## "The 'core' file directory for this board, in ./cores +bitm.build.core=arduino + +## This sets a define for use in the compiled code. +bitm.build.board=BOARD_SIPEED_MAIX_BIT +bitm.build.sdata.size=512 + +## This selects the tool from "programmers.txt" +bitm.upload.tool=kflash + +## Limit is the 16MB Flash. Assume half is used for something else. +bitm.upload.maximum_size=8388608 +bitm.build.ldscript={runtime.platform.path}/cores/arduino/kendryte-standalone-sdk/lds/kendryte.ld + + + #################################################### ############### Sipeed Maix Go Board ############### @@ -171,8 +217,8 @@ mduino.menu.burn_baudrate.1500000.build.burn_baudrate=1500000 mduino.menu.burn_baudrate.1000000.build.burn_baudrate=1000000 ## Burn tool firmware -mduino.menu.burn_tool_firmware.dan=Default -mduino.menu.burn_tool_firmware.dan.build.burn_tool_firmware=maixduino +mduino.menu.burn_tool_firmware.mduino=Default +mduino.menu.burn_tool_firmware.mduino.build.burn_tool_firmware=maixduino ## Point to the file for ./variants//pins_arduino.h mduino.build.variant=sipeed_maixduino diff --git a/variants/sipeed_maix_bit_mic/pins_arduino.h b/variants/sipeed_maix_bit_mic/pins_arduino.h new file mode 100644 index 0000000..afa3c96 --- /dev/null +++ b/variants/sipeed_maix_bit_mic/pins_arduino.h @@ -0,0 +1,84 @@ +#ifndef _VARIANT_SIPEED_MAIX_BIT_MIC +#define _VARIANT_SIPEED_MAIX_BIT_MIC + +#include + +#define RISCV +#include "platform.h" + +#include "Arduino.h" +#include "pwm.h" + +#ifdef __cplusplus +#include "UARTClass.h" +extern class UARTHSClass Serial; +extern class UARTClass Serial1; +extern class UARTClass Serial2; +extern class UARTClass Serial3; +#endif + +/* BOARD PIN DEFINE */ +/* LEDs */ +#define PIN_LED_GREEN 13 +#define PIN_LED_BLUE 12 +#define PIN_LED_RED 14 +#define PIN_LED 13 +#define LED_BUILTIN 13 +#define LED_GREEN 13 +#define LED_BLUE 12 +#define LED_RED 14 +/* KEY */ +#define KEY0 16 +/* MIC ARRAY */ +#define MIC_BCK 18 +#define MIC_WS 19 +#define MIC_DAT3 20 +#define MIC_DAT2 21 +#define MIC_DAT1 22 +#define MIC_DAT0 23 +#define MIC_LED_DAT 24 +/* SPI0 */ +#define SPI0_CS1 25 +#define SPI0_MISO 26 +#define SPI0_SCLK 27 +#define SPI0_MOSI 28 +#define SPI0_CS0 29 +/* LCD */ +#define LCD_CS 36 +#define LCD_RST 37 +#define LCD_DC 38 +#define LCD_WR 39 + +#define RX0 4 +#define TX0 5 + +#define RX1 6 +#define TX1 7 + +#define SDA 31 +#define SCL 30 + +#define MD_PIN_MAP(fpio) (fpio) +#define ORG_PIN_MAP(org_pin) (org_pin) + +static const uint8_t SS = SPI0_CS0 ; +static const uint8_t MOSI = SPI0_MOSI; +static const uint8_t MISO = SPI0_MISO; +static const uint8_t SCK = SPI0_SCLK; + +typedef struct _pwm_fpio_set_t{ + pwm_channel_number_t channel; + pwm_device_number_t device; + uint8_t inuse; +}pwm_fpio_set_t; + + + +#define VARIANT_NUM_GPIOHS (32) +#define VARIANT_NUM_GPIO ( 8) +#define VARIANT_NUM_PWM (12) +#define VARIANT_NUM_I2C ( 3) +#define VARIANT_NUM_SPI ( 3) +#define VARIANT_NUM_UART ( 3) + +#endif