summaryrefslogtreecommitdiffstats
path: root/sys/arm/at91/at91sam9g20.c
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2014-05-14 20:31:54 +0000
committerian <ian@FreeBSD.org>2014-05-14 20:31:54 +0000
commitb817c837ca9b5c346e601b0f7de335729c8873dd (patch)
treedd55122a6ff8c3e8ce3bfc4febb09841f07ea4ec /sys/arm/at91/at91sam9g20.c
parent15a8c9db44075b3dd6e16714daaee4053182a01e (diff)
downloadFreeBSD-src-b817c837ca9b5c346e601b0f7de335729c8873dd.zip
FreeBSD-src-b817c837ca9b5c346e601b0f7de335729c8873dd.tar.gz
MFC r260695, r260696, r260884, r260885, r260886, r260887
Provide a simplified way to specify GPIO pins for the Atmel port. Add at91 data so we can convert a PIO unit number into a base address. Add at91 standard memory controller helper functions. Generalize AT91 NAND support a bit. Connect NAND for the SAM9260EK eval board, as well as the HotE HL-201. Add nand device and NANDFS into the mix for those at91 boards that have support for it at the moment.
Diffstat (limited to 'sys/arm/at91/at91sam9g20.c')
-rw-r--r--sys/arm/at91/at91sam9g20.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/arm/at91/at91sam9g20.c b/sys/arm/at91/at91sam9g20.c
index 4d9907c..d4e6347 100644
--- a/sys/arm/at91/at91sam9g20.c
+++ b/sys/arm/at91/at91sam9g20.c
@@ -87,6 +87,12 @@ static const int at91_irq_prio[32] =
0, /* Advanced Interrupt Controller IRQ2 */
};
+static const uint32_t at91_pio_base[] = {
+ AT91SAM9G20_PIOA_BASE,
+ AT91SAM9G20_PIOB_BASE,
+ AT91SAM9G20_PIOC_BASE,
+};
+
#define DEVICE(_name, _id, _unit) \
{ \
_name, _unit, \
@@ -169,6 +175,8 @@ static struct at91_soc_data soc_data = {
.soc_clock_init = at91_clock_init,
.soc_irq_prio = at91_irq_prio,
.soc_children = at91_devs,
+ .soc_pio_base = at91_pio_base,
+ .soc_pio_count = nitems(at91_pio_base),
};
AT91_SOC(AT91_T_SAM9G20, &soc_data);
OpenPOWER on IntegriCloud