Merge remote-tracking branch 'upstream/master'

Conflicts:
	firmware/Makefile
	firmware/application/Makefile
	firmware/application/event_m0.cpp
	firmware/application/ui_setup.cpp
	firmware/application/ui_setup.hpp
	firmware/baseband/baseband_thread.cpp
	firmware/baseband/baseband_thread.hpp
	firmware/bootstrap/CMakeLists.txt
	firmware/common/message.hpp
	firmware/common/portapack_shared_memory.hpp
	hardware/.gitignore
This commit is contained in:
furrtek
2016-07-25 16:35:42 +02:00
138 changed files with 17603 additions and 1930 deletions

View File

@@ -200,8 +200,14 @@ static void sdio_cclk_set_400khz(void) {
}
static void sdio_cclk_set_fast(void) {
#if defined(PORTAPACK_FAST_SDIO)
/* 200MHz / (2 * 2) = 50MHz */
/* TODO: Adjust SCU pin configurations: pull-up/down, slew, glitch filter? */
sdio_cclk_set(2);
#else
/* 200MHz / (2 * 4) = 25MHz */
sdio_cclk_set(4);
#endif
}
static void sdio_width_set_1bit(void) {

View File

@@ -0,0 +1,17 @@
# List of all the LPC43xx M0 platform files.
set(PLATFORMSRC
${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx_M0/hal_lld.c
${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx/gpt_lld.c
${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx/i2c_lld.c
${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx/pal_lld.c
${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx/rtc_lld.c
${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx/sdc_lld.c
${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx/serial_lld.c
${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx/spi_lld.c
)
# Required include directories
set(PLATFORMINC
${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx_M0
${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx
)

View File

@@ -0,0 +1,17 @@
# List of all the LPC43xx M4 platform files.
set(PLATFORMSRC
${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx_M4/hal_lld.c
${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx/gpt_lld.c
${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx/i2c_lld.c
${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx/pal_lld.c
${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx/rtc_lld.c
${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx/sdc_lld.c
${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx/serial_lld.c
${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx/spi_lld.c
)
# Required include directories
set(PLATFORMINC
${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx_M4
${CHIBIOS_PORTAPACK}/os/hal/platforms/LPC43xx
)

View File

@@ -0,0 +1,21 @@
# List of the ChibiOS/RT Cortex-M0 LPC43xx port files.
set(PORTSRC
${CHIBIOS}/os/ports/GCC/ARMCMx/crt0.c
${CHIBIOS_PORTAPACK}/os/ports/GCC/ARMCMx/LPC43xx_M0/vectors.c
${CHIBIOS}/os/ports/GCC/ARMCMx/chcore.c
${CHIBIOS}/os/ports/GCC/ARMCMx/chcore_v6m.c
${CHIBIOS}/os/ports/common/ARMCMx/nvic.c
)
set(PORTASM)
set(PORTINC
${CHIBIOS}/os/ports/common/ARMCMx/CMSIS/include
${CHIBIOS}/os/ports/common/ARMCMx
${CHIBIOS}/os/ports/GCC/ARMCMx
${CHIBIOS_PORTAPACK}/os/ports/GCC/ARMCMx/LPC43xx_M0
)
set(PORTLD
${CHIBIOS_PORTAPACK}/os/ports/GCC/ARMCMx/LPC43xx_M0/ld
)

View File

@@ -0,0 +1,21 @@
# List of the ChibiOS/RT Cortex-M4 LPC43xx port files.
set(PORTSRC
${CHIBIOS}/os/ports/GCC/ARMCMx/crt0.c
${CHIBIOS_PORTAPACK}/os/ports/GCC/ARMCMx/LPC43xx_M4/vectors.c
${CHIBIOS}/os/ports/GCC/ARMCMx/chcore.c
${CHIBIOS}/os/ports/GCC/ARMCMx/chcore_v7m.c
${CHIBIOS}/os/ports/common/ARMCMx/nvic.c
)
set(PORTASM)
set(PORTINC
${CHIBIOS}/os/ports/common/ARMCMx/CMSIS/include
${CHIBIOS}/os/ports/common/ARMCMx
${CHIBIOS}/os/ports/GCC/ARMCMx
${CHIBIOS_PORTAPACK}/os/ports/GCC/ARMCMx/LPC43xx_M4
)
set(PORTLD
${CHIBIOS_PORTAPACK}/os/ports/GCC/ARMCMx/LPC43xx_M4/ld
)

View File

@@ -0,0 +1,10 @@
# FATFS files.
set(FATFSSRC
${CHIBIOS_PORTAPACK}/os/various/fatfs_bindings/fatfs_diskio.c
${CHIBIOS_PORTAPACK}/os/various/fatfs_bindings/fatfs_syscall.c
${CHIBIOS_PORTAPACK}/ext/fatfs/src/ff.c
)
set(FATFSINC
${CHIBIOS_PORTAPACK}/ext/fatfs/src
)

View File

@@ -10,6 +10,8 @@
#include "ch.h"
#include "hal.h"
#include <string.h>
#include "diskio.h"
#if HAL_USE_MMC_SPI && HAL_USE_SDC
@@ -212,6 +214,12 @@ DRESULT disk_ioctl (
case GET_SECTOR_SIZE:
*((WORD *)buff) = MMCSD_BLOCK_SIZE;
return RES_OK;
case MMC_GET_TYPE:
*((BYTE *)buff) = SDCD1.cardmode;
return RES_OK;
case MMC_GET_CSD:
memcpy(buff, &SDCD1.csd, sizeof(SDCD1.csd));
return RES_OK;
#if _USE_ERASE
case CTRL_ERASE_SECTOR:
mmcErase(&MMCD1, *((DWORD *)buff), *((DWORD *)buff + 1));
@@ -232,7 +240,13 @@ DRESULT disk_ioctl (
*((WORD *)buff) = MMCSD_BLOCK_SIZE;
return RES_OK;
case GET_BLOCK_SIZE:
*((DWORD *)buff) = 256; /* 512b blocks in one erase block */
*((DWORD *)buff) = 1; /* Unknown, TODO: implement? */
return RES_OK;
case MMC_GET_TYPE:
*((BYTE *)buff) = SDCD1.cardmode;
return RES_OK;
case MMC_GET_CSD:
memcpy(buff, &SDCD1.csd, sizeof(SDCD1.csd));
return RES_OK;
#if _USE_ERASE
case CTRL_ERASE_SECTOR: