mirror of
git://projects.qi-hardware.com/ben-wpan.git
synced 2024-11-17 21:42:28 +02:00
atusb: firmware update for the 2010-12-16 board series
- fw/Makefile: replaced "make" with $(MAKE) (just for style) - common/Makefile.common: Makefile settings shared within project. For now, this contains only the board version, which defaults to 2010-12-16. - fw/common/Makefile, fw/boot/Makefile, fw/atusb/Makefile: include common/Makefile.common - fw/common/Makefile, fw/boot/Makefile, fw/atusb/Makefile: pass board version to cpp and gcc - fw/atusb/atusb.c (init_io): individually set IRQ_RF to one, LED and TST to zero - fw/atusb/atusb.c (init_io): added macros to set all unused pins to zero in a way that doesn't need updating if a signal moves from one pin to another - include/atusb/ep0.h: added hardware type 1 (2010-12-16 design) - common/config.h: set hardware type depending on board version - common/io.h: assign pins depending on board version
This commit is contained in:
parent
ba310a8ce4
commit
ad2c72fa7f
@ -17,10 +17,10 @@ DIRS=common boot atusb
|
|||||||
.PHONY: all depend install uninstall clean spotless
|
.PHONY: all depend install uninstall clean spotless
|
||||||
|
|
||||||
all:
|
all:
|
||||||
for d in $(DIRS); do make -C $$d all || exit 1; done
|
for d in $(DIRS); do $(MAKE) -C $$d all || exit 1; done
|
||||||
|
|
||||||
depend:
|
depend:
|
||||||
for d in $(DIRS); do make -C $$d depend || exit 1; done
|
for d in $(DIRS); do $(MAKE) -C $$d depend || exit 1; done
|
||||||
|
|
||||||
# Top-level Makefile recurses for "install" and "uninstall", which have no use
|
# Top-level Makefile recurses for "install" and "uninstall", which have no use
|
||||||
# here. Just ignore them.
|
# here. Just ignore them.
|
||||||
@ -30,7 +30,7 @@ install:
|
|||||||
uninstall:
|
uninstall:
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
for d in $(DIRS); do make -C $$d clean || exit 1; done
|
for d in $(DIRS); do $(MAKE) -C $$d clean || exit 1; done
|
||||||
|
|
||||||
spotless:
|
spotless:
|
||||||
for d in $(DIRS); do make -C $$d spotless || exit 1; done
|
for d in $(DIRS); do $(MAKE) -C $$d spotless || exit 1; done
|
||||||
|
@ -18,8 +18,9 @@ F32XBASE = ../../../../f32xbase
|
|||||||
|
|
||||||
include $(F32XBASE)/fw/common/Makefile.system
|
include $(F32XBASE)/fw/common/Makefile.system
|
||||||
include $(F32XBASE)/fw/common/Makefile.common
|
include $(F32XBASE)/fw/common/Makefile.common
|
||||||
|
include ../common/Makefile.common
|
||||||
|
|
||||||
CFLAGS += -I../common -I../include
|
CFLAGS += -I../common -I../include -D$(BOARD)
|
||||||
LDFLAGS += --code-size $(PAYLOAD_SIZE) --code-loc $(PAYLOAD_START)
|
LDFLAGS += --code-size $(PAYLOAD_SIZE) --code-loc $(PAYLOAD_START)
|
||||||
|
|
||||||
USB_ID = $(shell \
|
USB_ID = $(shell \
|
||||||
|
@ -59,6 +59,35 @@ void test_mode(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The following macros set all unused pins on a given port to zero. This is
|
||||||
|
* more elaborate than just setting the ports directly, but it has the
|
||||||
|
* advantage of hiding the pin to port relation.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define PORT_NUM_P0 0
|
||||||
|
#define PORT_NUM_P2 2
|
||||||
|
#define PORT_NUM_P3 3
|
||||||
|
|
||||||
|
#define __PORT_NUM(mode) PORT_NUM_##mode
|
||||||
|
#define PORT_NUM(mode) __PORT_NUM(mode)
|
||||||
|
|
||||||
|
#define USED(port, net) (PORT_NUM(net##_PORT) == port ? 1 << net##_BIT : 0)
|
||||||
|
|
||||||
|
#define ZERO_UNUSED(port) \
|
||||||
|
P##port &= \
|
||||||
|
USED(port, LED) | \
|
||||||
|
USED(port, ID) | \
|
||||||
|
USED(port, MOSI) | \
|
||||||
|
USED(port, MISO) | \
|
||||||
|
USED(port, SCLK) | \
|
||||||
|
USED(port, nSS) | \
|
||||||
|
USED(port, nRST_RF) | \
|
||||||
|
USED(port, IRQ_RF) | \
|
||||||
|
USED(port, SLP_TR) | \
|
||||||
|
USED(port, TST)
|
||||||
|
|
||||||
|
|
||||||
static void init_io(void)
|
static void init_io(void)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
@ -91,8 +120,13 @@ static void init_io(void)
|
|||||||
SLP_TR = 0;
|
SLP_TR = 0;
|
||||||
SLP_TR_MODE |= 1 << SLP_TR_BIT;
|
SLP_TR_MODE |= 1 << SLP_TR_BIT;
|
||||||
|
|
||||||
P0 = 1; /* IRQ_RF = 1; LED = 0; TST = Z; the rest is unused */
|
IRQ_RF = 1;
|
||||||
P3 = 0;
|
LED = 0;
|
||||||
|
TST = 0;
|
||||||
|
|
||||||
|
ZERO_UNUSED(0);
|
||||||
|
ZERO_UNUSED(2);
|
||||||
|
ZERO_UNUSED(3);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
/*
|
/*
|
||||||
|
@ -17,6 +17,7 @@ F32XBASE = ../../../../f32xbase
|
|||||||
|
|
||||||
include $(F32XBASE)/fw/common/Makefile.system
|
include $(F32XBASE)/fw/common/Makefile.system
|
||||||
include $(F32XBASE)/fw/common/Makefile.common
|
include $(F32XBASE)/fw/common/Makefile.common
|
||||||
|
include ../common/Makefile.common
|
||||||
|
|
||||||
CFLAGS += -I../common -I../include
|
CFLAGS += -I../common -I../include -D$(BOARD)
|
||||||
LDFLAGS += --code-size $(PAYLOAD_START)
|
LDFLAGS += --code-size $(PAYLOAD_START)
|
||||||
|
@ -10,6 +10,8 @@
|
|||||||
# (at your option) any later version.
|
# (at your option) any later version.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
include Makefile.common
|
||||||
|
|
||||||
|
|
||||||
GEN_quiet = @echo " GENERATE " $@ &&
|
GEN_quiet = @echo " GENERATE " $@ &&
|
||||||
|
|
||||||
@ -25,7 +27,7 @@ endif
|
|||||||
all: io-parts.h
|
all: io-parts.h
|
||||||
|
|
||||||
io-parts.h: io.h Makefile
|
io-parts.h: io.h Makefile
|
||||||
$(GEN) $(CPP) -dD $< | \
|
$(GEN) $(CPP) -D$(BOARD) -dD $< | \
|
||||||
sed '1,/IO_H/d' | \
|
sed '1,/IO_H/d' | \
|
||||||
awk \
|
awk \
|
||||||
'BEGIN { print "/* MACHINE-GENERATED. DO NOT EDIT ! */"; \
|
'BEGIN { print "/* MACHINE-GENERATED. DO NOT EDIT ! */"; \
|
||||||
|
14
atusb/fw/common/Makefile.common
Normal file
14
atusb/fw/common/Makefile.common
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#
|
||||||
|
# common/Makefile.common - Makefile settings shared within project
|
||||||
|
#
|
||||||
|
# Written 2010 by Werner Almesberger
|
||||||
|
# Copyright 2010 Werner Almesberger
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
|
||||||
|
#BOARD=BOARD_100813
|
||||||
|
BOARD=BOARD_101216
|
@ -39,6 +39,12 @@
|
|||||||
|
|
||||||
/* ----- Application configuration ----------------------------------------- */
|
/* ----- Application configuration ----------------------------------------- */
|
||||||
|
|
||||||
|
#if defined(BOARD_1008xx)
|
||||||
#define HW_TYPE HW_TYPE_100813
|
#define HW_TYPE HW_TYPE_100813
|
||||||
|
#elif defined(BOARD_1012xx)
|
||||||
|
#define HW_TYPE HW_TYPE_101216
|
||||||
|
#else
|
||||||
|
#error must define BOARD_1008xx or BOARD_1012xx
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* !CONFIG_H */
|
#endif /* !CONFIG_H */
|
||||||
|
@ -18,6 +18,17 @@
|
|||||||
|
|
||||||
#define LED P0_1
|
#define LED P0_1
|
||||||
|
|
||||||
|
/* ID pin */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 100813 open
|
||||||
|
* 101216 GND
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define ID P0_2
|
||||||
|
|
||||||
|
#if defined(BOARD_100813)
|
||||||
|
|
||||||
/* SPI */
|
/* SPI */
|
||||||
|
|
||||||
#define MOSI P2_2
|
#define MOSI P2_2
|
||||||
@ -32,4 +43,24 @@
|
|||||||
#define SLP_TR P2_1
|
#define SLP_TR P2_1
|
||||||
#define TST P0_7
|
#define TST P0_7
|
||||||
|
|
||||||
|
#elif defined(BOARD_101216)
|
||||||
|
|
||||||
|
/* SPI */
|
||||||
|
|
||||||
|
#define MOSI P2_1
|
||||||
|
#define MISO P2_0
|
||||||
|
#define SCLK P0_7
|
||||||
|
#define nSS P2_4
|
||||||
|
|
||||||
|
/* Miscellaneous RF signals */
|
||||||
|
|
||||||
|
#define nRST_RF P0_6
|
||||||
|
#define IRQ_RF P0_0
|
||||||
|
#define SLP_TR P0_5
|
||||||
|
#define TST P0_4
|
||||||
|
|
||||||
|
#else
|
||||||
|
#error must define BOARD_1008xx or BOARD1012xx
|
||||||
|
#endif /* !BOARD_101216 */
|
||||||
|
|
||||||
#endif /* !IO_H */
|
#endif /* !IO_H */
|
||||||
|
@ -43,7 +43,8 @@
|
|||||||
#define EP0ATUSB_MAJOR 0 /* EP0 protocol, major revision */
|
#define EP0ATUSB_MAJOR 0 /* EP0 protocol, major revision */
|
||||||
#define EP0ATUSB_MINOR 1 /* EP0 protocol, minor revision */
|
#define EP0ATUSB_MINOR 1 /* EP0 protocol, minor revision */
|
||||||
|
|
||||||
#define HW_TYPE_100813 0 /* 100813 */
|
#define HW_TYPE_100813 0 /* 2010-08-13 */
|
||||||
|
#define HW_TYPE_101216 1 /* 2010-12-16 */
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user