git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3162 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
2e5abeebad
commit
18cdd66003
|
@ -127,7 +127,7 @@ typedef struct {
|
||||||
/**
|
/**
|
||||||
* @brief Offset, within the port, of the least significant bit of the bus.
|
* @brief Offset, within the port, of the least significant bit of the bus.
|
||||||
*/
|
*/
|
||||||
uint_fast8_t offset;
|
iomode_t offset;
|
||||||
} IOBus;
|
} IOBus;
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
|
@ -121,7 +121,7 @@ void _pal_lld_init(const PALConfig *config) {
|
||||||
*/
|
*/
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode) {
|
iomode_t mode) {
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case PAL_MODE_RESET:
|
case PAL_MODE_RESET:
|
||||||
|
|
|
@ -241,7 +241,7 @@ extern "C" {
|
||||||
void _pal_lld_init(const PALConfig *config);
|
void _pal_lld_init(const PALConfig *config);
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode);
|
iomode_t mode);
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -87,7 +87,7 @@ void _pal_lld_init(const PALConfig *config) {
|
||||||
*/
|
*/
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode) {
|
iomode_t mode) {
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case PAL_MODE_RESET:
|
case PAL_MODE_RESET:
|
||||||
|
|
|
@ -327,7 +327,7 @@ extern "C" {
|
||||||
void _pal_lld_init(const PALConfig *config);
|
void _pal_lld_init(const PALConfig *config);
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode);
|
iomode_t mode);
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -87,7 +87,7 @@ void _pal_lld_init(const PALConfig *config) {
|
||||||
*/
|
*/
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode) {
|
iomode_t mode) {
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case PAL_MODE_RESET:
|
case PAL_MODE_RESET:
|
||||||
|
|
|
@ -327,7 +327,7 @@ extern "C" {
|
||||||
void _pal_lld_init(const PALConfig *config);
|
void _pal_lld_init(const PALConfig *config);
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode);
|
iomode_t mode);
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -96,7 +96,7 @@ void _pal_lld_init(const PALConfig *config) {
|
||||||
*/
|
*/
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode) {
|
iomode_t mode) {
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case PAL_MODE_RESET:
|
case PAL_MODE_RESET:
|
||||||
|
|
|
@ -250,7 +250,7 @@ extern "C" {
|
||||||
void _pal_lld_init(const PALConfig *config);
|
void _pal_lld_init(const PALConfig *config);
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode);
|
iomode_t mode);
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -121,7 +121,7 @@ void _pal_lld_init(const PALConfig *config) {
|
||||||
*/
|
*/
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode) {
|
iomode_t mode) {
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case PAL_MODE_RESET:
|
case PAL_MODE_RESET:
|
||||||
|
|
|
@ -288,7 +288,7 @@ extern "C" {
|
||||||
void _pal_lld_init(const PALConfig *config);
|
void _pal_lld_init(const PALConfig *config);
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode);
|
iomode_t mode);
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -79,7 +79,7 @@ sim_vio_port_t vio_port_2;
|
||||||
*/
|
*/
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode) {
|
iomode_t mode) {
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case PAL_MODE_RESET:
|
case PAL_MODE_RESET:
|
||||||
|
|
|
@ -196,7 +196,7 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode);
|
iomode_t mode);
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -132,7 +132,7 @@ void _pal_lld_init(const PALConfig *config) {
|
||||||
*/
|
*/
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode) {
|
iomode_t mode) {
|
||||||
static const uint8_t cfgtab[] = {
|
static const uint8_t cfgtab[] = {
|
||||||
4, /* PAL_MODE_RESET, implemented as input.*/
|
4, /* PAL_MODE_RESET, implemented as input.*/
|
||||||
2, /* PAL_MODE_UNCONNECTED, implemented as push pull output 2MHz.*/
|
2, /* PAL_MODE_UNCONNECTED, implemented as push pull output 2MHz.*/
|
||||||
|
|
|
@ -332,7 +332,7 @@ extern "C" {
|
||||||
void _pal_lld_init(const PALConfig *config);
|
void _pal_lld_init(const PALConfig *config);
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode);
|
iomode_t mode);
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -137,55 +137,7 @@ void _pal_lld_init(const PALConfig *config) {
|
||||||
*/
|
*/
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode) {
|
iomode_t mode) {
|
||||||
#if 0
|
|
||||||
static const uint8_t cfgtab[] = {
|
|
||||||
4, /* PAL_MODE_RESET, implemented as input.*/
|
|
||||||
2, /* PAL_MODE_UNCONNECTED, implemented as push pull output 2MHz.*/
|
|
||||||
4, /* PAL_MODE_INPUT */
|
|
||||||
8, /* PAL_MODE_INPUT_PULLUP */
|
|
||||||
8, /* PAL_MODE_INPUT_PULLDOWN */
|
|
||||||
0, /* PAL_MODE_INPUT_ANALOG */
|
|
||||||
3, /* PAL_MODE_OUTPUT_PUSHPULL, 50MHz.*/
|
|
||||||
7, /* PAL_MODE_OUTPUT_OPENDRAIN, 50MHz.*/
|
|
||||||
8, /* Reserved.*/
|
|
||||||
8, /* Reserved.*/
|
|
||||||
8, /* Reserved.*/
|
|
||||||
8, /* Reserved.*/
|
|
||||||
8, /* Reserved.*/
|
|
||||||
8, /* Reserved.*/
|
|
||||||
8, /* Reserved.*/
|
|
||||||
8, /* Reserved.*/
|
|
||||||
0xB, /* PAL_MODE_STM32_ALTERNATE_PUSHPULL, 50MHz.*/
|
|
||||||
0xF, /* PAL_MODE_STM32_ALTERNATE_OPENDRAIN, 50MHz.*/
|
|
||||||
};
|
|
||||||
uint32_t mh, ml, crh, crl, cfg;
|
|
||||||
unsigned i;
|
|
||||||
|
|
||||||
if (mode == PAL_MODE_INPUT_PULLUP)
|
|
||||||
port->BSRR = mask;
|
|
||||||
else if (mode == PAL_MODE_INPUT_PULLDOWN)
|
|
||||||
port->BRR = mask;
|
|
||||||
cfg = cfgtab[mode];
|
|
||||||
mh = ml = crh = crl = 0;
|
|
||||||
for (i = 0; i < 8; i++) {
|
|
||||||
ml <<= 4;
|
|
||||||
mh <<= 4;
|
|
||||||
crl <<= 4;
|
|
||||||
crh <<= 4;
|
|
||||||
if ((mask & 0x0080) == 0)
|
|
||||||
ml |= 0xf;
|
|
||||||
else
|
|
||||||
crl |= cfg;
|
|
||||||
if ((mask & 0x8000) == 0)
|
|
||||||
mh |= 0xf;
|
|
||||||
else
|
|
||||||
crh |= cfg;
|
|
||||||
mask <<= 1;
|
|
||||||
}
|
|
||||||
port->CRH = (port->CRH & mh) | crh;
|
|
||||||
port->CRL = (port->CRL & ml) | crl;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* HAL_USE_PAL */
|
#endif /* HAL_USE_PAL */
|
||||||
|
|
|
@ -448,7 +448,7 @@ extern "C" {
|
||||||
void _pal_lld_init(const PALConfig *config);
|
void _pal_lld_init(const PALConfig *config);
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode);
|
iomode_t mode);
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# List of all the STM32 platform files.
|
# List of all the STM32 platform files.
|
||||||
PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/STM32L1xx/hal_lld.c \
|
PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/STM32L1xx/hal_lld.c \
|
||||||
|
${CHIBIOS}/os/hal/platforms/STM32L1xx/pal_lld.c \
|
||||||
${CHIBIOS}/os/hal/platforms/STM32L1xx/stm32_dma.c
|
${CHIBIOS}/os/hal/platforms/STM32L1xx/stm32_dma.c
|
||||||
|
|
||||||
# Required include directories
|
# Required include directories
|
||||||
|
|
|
@ -67,7 +67,7 @@
|
||||||
*/
|
*/
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode) {
|
iomode_t mode) {
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case PAL_MODE_RESET:
|
case PAL_MODE_RESET:
|
||||||
|
|
|
@ -244,7 +244,7 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode);
|
iomode_t mode);
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -67,7 +67,7 @@
|
||||||
*/
|
*/
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode) {
|
iomode_t mode) {
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case PAL_MODE_RESET:
|
case PAL_MODE_RESET:
|
||||||
|
|
|
@ -229,7 +229,7 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode);
|
iomode_t mode);
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -79,7 +79,7 @@ sim_vio_port_t vio_port_2;
|
||||||
*/
|
*/
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode) {
|
iomode_t mode) {
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case PAL_MODE_RESET:
|
case PAL_MODE_RESET:
|
||||||
|
|
|
@ -196,7 +196,7 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
void _pal_lld_setgroupmode(ioportid_t port,
|
void _pal_lld_setgroupmode(ioportid_t port,
|
||||||
ioportmask_t mask,
|
ioportmask_t mask,
|
||||||
uint_fast8_t mode);
|
iomode_t mode);
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue