On 16:14 Thu 12 Jun , Antonio R. Costa wrote: > > Signed-off-by: Antonio R. Costa <[EMAIL PROTECTED]> > > diff --git a/include/asm-arm/arch-at572d940hf/at572d940hf.h > b/include/asm-arm/arch-at572d940hf/at572d940hf.h > new file mode 100644 > index 0000000..53f049b > --- /dev/null > +++ b/include/asm-arm/arch-at572d940hf/at572d940hf.h > @@ -0,0 +1,147 @@ > +/* > + * include/asm-arm/arch-at91/AT572D940HFhf.h > + * > + * (C) 2008 Antonio R. Costa > + * > + * Common definitions. > + * Based on AT572D940HFHF datasheet rev A. > + * > + * 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. > + */ > + > +#ifndef AT572D940HFHF_H > +#define AT572D940HFHF_H > + > +/* > + * Peripheral identifiers/interrupts. > + */ > +#define AT91_ID_FIQ 0 /* Advanced Interrupt Controller (FIQ) */ > +#define AT91_ID_SYS 1 /* System Peripherals */ > +#define AT572D940HF_ID_PIOA 2 /* Parallel IO Controller A */ > +#define AT572D940HF_ID_PIOB 3 /* Parallel IO Controller B */ > +#define AT572D940HF_ID_PIOC 4 /* Parallel IO Controller C */ > +#define AT572D940HF_ID_EMAC 5 /* Ethernet */ > +#define AT572D940HF_ID_US0 6 /* USART 0 */ > +#define AT572D940HF_ID_US1 7 /* USART 1 */ > +#define AT572D940HF_ID_US2 8 /* USART 2 */ > +#define AT572D940HF_ID_MCI 9 /* Multimedia Card Interface */ > +#define AT572D940HF_ID_UDP 10 /* USB Device Port */ > +#define AT572D940HF_ID_TWI 11 /* Two-Wire Interface */ > +#define AT572D940HF_ID_TWI0 11 /* Two-Wire Interface */ > +#define AT572D940HF_ID_SPI0 12 /* Serial Peripheral Interface 0 */ > +#define AT572D940HF_ID_SPI1 13 /* Serial Peripheral Interface 1 */ > +#define AT572D940HF_ID_SSC 14 /* Serial Synchronous Controller */ > +#define AT572D940HF_ID_SSC0 14 /* Serial Synchronous Controller */ > +#define AT572D940HF_ID_SSC1 15 /* Serial Synchronous Controller */ > +#define AT572D940HF_ID_SSC2 16 /* Serial Synchronous Controller */ > +#define AT572D940HF_ID_TC0 17 /* Timer Counter 0 */ > +#define AT572D940HF_ID_TC1 18 /* Timer Counter 1 */ > +#define AT572D940HF_ID_TC2 19 /* Timer Counter 2 */ > +#define AT572D940HF_ID_UHP 20 /* USB Host port */ > +#define AT572D940HF_ID_SSC3 21 /* Serial Synchronous Controller */ > +#define AT572D940HF_ID_TWI1 22 /* Two-Wire Interface */ > +#define AT572D940HF_ID_CAN0 23 /* CAN Controller */ > +#define AT572D940HF_ID_CAN1 24 /* CAN Controller */ > +#define AT572D940HF_ID_mHALT 25 /* mAgicV DSP halt int */ > +#define AT572D940HF_ID_mSIRQ1 26 /* mAgicV DSP SIRQ1 int */ > +#define AT572D940HF_ID_mEXC 27 /* mAgicV DSP Exception int */ > +#define AT572D940HF_ID_mEDMA 28 /* mAgicV DSP end of DMA transfer int */ > +#define AT572D940HF_ID_IRQ0 29 /* Advanced Interrupt Controller (IRQ0) */ > +#define AT572D940HF_ID_IRQ1 30 /* Advanced Interrupt Controller (IRQ1) */ > +#define AT572D940HF_ID_IRQ2 31 /* Advanced Interrupt Controller (IRQ2) */ > + > +#define AT91_ID_US0 AT572D940HF_ID_US0 > +#define AT91_ID_US1 AT572D940HF_ID_US1 > +#define AT91_ID_US2 AT572D940HF_ID_US2 > +#define AT91_ID_US3 AT572D940HF_ID_US3 few whitespaces > + > +#define AT91_ID_UHP AT572D940HF_ID_UHP > +#define AT91_PMC_UHP AT572D940HF_ID_UHP > + > +/* > + * User Peripheral physical base addresses. > + */ > +#define AT572D940HF_BASE_TCB0 0xfffa0000 > +#define AT572D940HF_BASE_TC0 0xfffa0000 > +#define AT572D940HF_BASE_TC1 0xfffa0040 > +#define AT572D940HF_BASE_TC2 0xfffa0080 > +#define AT572D940HF_BASE_UDP 0xfffa4000 > +#define AT572D940HF_BASE_MCI 0xfffa8000 > +#define AT572D940HF_BASE_TWI 0xfffac000 > +#define AT572D940HF_BASE_US0 0xfffb0000 > +#define AT572D940HF_BASE_US1 0xfffb4000 > +#define AT572D940HF_BASE_US2 0xfffb8000 > +#define AT572D940HF_BASE_SSC 0xfffbc000 > +#define AT572D940HF_BASE_ISI 0xfffc0000 > +#define AT572D940HF_BASE_EMAC 0xfffd8000 > +#define AT572D940HF_BASE_SPI0 0xfffc8000 > +#define AT572D940HF_BASE_SPI1 0xfffcc000 > +#define AT572D940HF_BASE_US3 0xfffd0000 > +#define AT572D940HF_BASE_US4 0xfffd4000 > +#define AT572D940HF_BASE_US5 0xfffd8000 > +#define AT572D940HF_BASE_TCB1 0xfffdc000 > +#define AT572D940HF_BASE_TC3 0xfffdc000 > +#define AT572D940HF_BASE_TC4 0xfffdc040 > +#define AT572D940HF_BASE_TC5 0xfffdc080 > +#define AT572D940HF_BASE_ADC 0xfffe0000 > +#define AT572D940HF_BASE_RSTC 0xfffffd00 > +#define AT91_BASE_SYS 0xffffea00 > + > +#define AT91_BASE_EMAC AT572D940HF_BASE_EMAC > +#define AT91_BASE_SPI AT572D940HF_BASE_SPI0 > +#define MMCI_BASE AT572D940HF_BASE_MCI > + > +/* > + * System Peripherals (offset from AT91_BASE_SYS) > + */ > +#define AT91_ECC (0xffffe800 - AT91_BASE_SYS) > +#define AT91_SDRAMC (0xffffea00 - AT91_BASE_SYS) > +#define AT91_SMC (0xffffec00 - AT91_BASE_SYS) > +#define AT91_MATRIX (0xffffee00 - AT91_BASE_SYS) > +#define AT91_CCFG (0xffffef10 - AT91_BASE_SYS) > +#define AT91_AIC (0xfffff000 - AT91_BASE_SYS) > +#define AT91_DBGU (0xfffff200 - AT91_BASE_SYS) > +#define AT91_PIOA (0xfffff400 - AT91_BASE_SYS) > +#define AT91_PIOB (0xfffff600 - AT91_BASE_SYS) > +#define AT91_PIOC (0xfffff800 - AT91_BASE_SYS) > +#define AT91_PMC (0xfffffc00 - AT91_BASE_SYS) > +#define AT91_RSTC (0xfffffd00 - AT91_BASE_SYS) > +#define AT91_SHDWC (0xfffffd10 - AT91_BASE_SYS) > +#define AT91_RTT (0xfffffd20 - AT91_BASE_SYS) > +#define AT91_PIT (0xfffffd30 - AT91_BASE_SYS) > +#define AT91_WDT (0xfffffd40 - AT91_BASE_SYS) > +#define AT91_GPBR (0xfffffd50 - AT91_BASE_SYS) > + > +#define AT91_USART0 AT572D940HF_BASE_US0 > +#define AT91_USART1 AT572D940HF_BASE_US1 > +#define AT91_USART2 AT572D940HF_BASE_US2 > +#define AT91_USART3 AT572D940HF_BASE_US3 > +#define AT91_USART4 AT572D940HF_BASE_US4 > +#define AT91_USART5 AT572D940HF_BASE_US5 > + > +/* > + * Internal Memory. > + */ > +#define AT572D940HF_ROM_BASE 0x00400000 /* Internal ROM base address */ > +#define AT572D940HF_ROM_SIZE SZ_32K /* Internal ROM size (32Kb) */ > + > +#define AT572D940HF_SRAM0_BASE 0x00100000 /* Internal SRAM 0 base > address */ > +#define AT572D940HF_SRAM0_SIZE SZ_16K /* Internal SRAM 0 size > (4Kb) */ > +#define AT572D940HF_SRAM1_BASE 0x00200000 /* Internal SRAM 0 base > address */ > +#define AT572D940HF_SRAM1_SIZE SZ_16K /* Internal SRAM 0 size > (4Kb) */ > +#define AT572D940HF_SRAM2_BASE 0x00300000 /* Internal SRAM 1 base > address */ > +#define AT572D940HF_SRAM2_SIZE SZ_16K /* Internal SRAM 1 size > (4Kb) */ > + > +//SDRAM No c++ comment please > +#define AT572D940HF_SDRAM_BASE 0x20000000 > + > +// USB Host No c++ comment please > +#define AT572D940HF_UHP_BASE 0x00500000 /* USB Host controller */ > + > +#define AT91SAM9XE_FLASH_BASE 0x00200000 /* Internal FLASH base > address */ > +#define AT91SAM9XE_SRAM_BASE 0x00300000 /* Internal SRAM base address */ > + > +#endif > diff --git a/include/asm-arm/arch-at572d940hf/at572d940hf_matrix.h > b/include/asm-arm/arch-at572d940hf/at572d940hf_matrix.h > new file mode 100644 > index 0000000..a8e9fec > --- /dev/null > +++ b/include/asm-arm/arch-at572d940hf/at572d940hf_matrix.h > @@ -0,0 +1,78 @@ > +/* Please adapt this file for your the at572d940hf or if its really the same include the at91sam9260_matrix.h > + * include/asm-arm/arch-at91/at91sam9260_matrix.h > + * > + * Memory Controllers (MATRIX, EBI) - System peripherals registers. > + * Based on AT91SAM9260 datasheet revision B. > + * > diff --git a/include/asm-arm/arch-at572d940hf/at572d940hf_mc.h > b/include/asm-arm/arch-at572d940hf/at572d940hf_mc.h > new file mode 100644 > index 0000000..161d504 > --- /dev/null > +++ b/include/asm-arm/arch-at572d940hf/at572d940hf_mc.h > @@ -0,0 +1,140 @@ > +/* Please adapt this file for your the at572d940hf or if its really the same include the at91sam926x_mc.h > + * include/asm-arm/arch-at91/at91sam926x_mc.h > + * > + * Memory Controllers (SMC, SDRAMC) - System peripherals registers. > + * Based on AT91SAM9261 datasheet revision D. > + * > + * 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. > + */ > diff --git a/include/asm-arm/arch-at572d940hf/interrupts.h > b/include/asm-arm/arch-at572d940hf/interrupts.h > new file mode 100644 > index 0000000..71d3f5d > --- /dev/null > +++ b/include/asm-arm/arch-at572d940hf/interrupts.h > @@ -0,0 +1,41 @@ > +/* > + * include/asm-arm/arch-at572d940/at91_aic.h > + * > + * Copyright (C) 2008 Antonio R. Costa > + * Copyright (C) ATMEL > + * > + * Advanced Interrupt Controller (AIC). > + * Based on AT572D940 datasheet. > + * > + * 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. > + */ > + > +#ifndef __AT572D940_INTERRUPTS_H__ > +#define __AT572D940_INTERRUPTS_H__ > + > +#include <asm/arch/at91_aic.h> > + > +typedef void (*irq_handler_t) (unsigned long int); > + some coding style issue > +#define SET_IRQ_HANDLER(s,m,h) \ > +do { \ > + AIC_WRITE(AIC_SMR(s),m); \ > + AIC_WRITE(AIC_SVR(s),h); \ > + AIC_WRITE(AIC_IECR,(1<<s)); \ > +} while(0) > + > +#define RESET_IRQ_HANDLER(s) \ > +do { \ > + AIC_WRITE(AIC_SMR(s),0); \ > + AIC_WRITE(AIC_SVR(s),0); \ > + AIC_WRITE(AIC_IDCR,(1<<s)); \ > +} while(0) > + > +#define IRQ_ACKNOWLEDGE(n) AIC_WRITE(AIC_EOICR,(n)) > + > +extern reset_irqs(void); > + Best Regards, J.
------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users