AT91SAM/CAP patches for U-Boot 1.3.4
Subsystems (7)
cover AT91SAM/CAP patches for U-Boot 1.3.4
Hi,
The following patches add support for the missing AT91SAM9 boards:
- AT91SAM9261
- AT91SAM9263
- AT91SAM9RL
Additionnaly, they fix a few minor things in the existing AT91SAM9260 and AT91CAP9 ports: dataflash offsets, 8/16 bit NAND support, SPI timings, consistent Linux bootargs.
The second half of the patches (from 12 to 19) adds a driver for the LCD controller on the Atmel boards (except 9260). The driver could probably be adapted, with minimum efforts, to the AVR32 boards.
And finally, the last patch adds support for the revision 'C' of the AT91CAP9 silicon, which needs a special initialisation sequence to switch from the internal RC oscillator to the external 32k clock.
Thanks,
Stelian.
PATCH 1/21 AT91CAP9ADK: Handle 8 or 16 bit NAND
--- board/atmel/at91cap9adk/at91cap9adk.c | 8 ++++++-- board/atmel/at91cap9adk/nand.c | 3 +++ include/configs/at91cap9adk.h | 1 + 3 files changed, 10 insertions(+), 2 deletions(-)
board/atmel/at91cap9adk/at91cap9adk.c +6 -2
@@ -116,7 +116,12 @@ static void at91cap9_nand_hw_init(void)at91_sys_write (AT91_SMC_MODE (3 ),AT91_SMC_READMODE |AT91_SMC_WRITEMODE |AT91_SMC_EXNWMODE_DISABLE | -AT91_SMC_DBW_8 |AT91_SMC_TDF_ (1 )); +#ifdef CFG_NAND_DBW_16 +AT91_SMC_DBW_16 | +#else /* CFG_NAND_DBW_8 */ +AT91_SMC_DBW_8 | +#endif +AT91_SMC_TDF_ (1 ));at91_sys_write (AT91_PMC_PCER ,1 <<AT91CAP9_ID_PIOABCD );
@@ -252,7 +257,6 @@ int board_init(void)#ifdef CONFIG_USB_OHCI_NEW at91cap9_uhp_hw_init ();#endif -return 0 ; }
board/atmel/at91cap9adk/nand.c +3 -0
@@ -63,6 +63,9 @@ static void at91cap9adk_nand_hwcontrol(struct mtd_info *mtd, int cmd)int board_nand_init (struct nand_chip *nand) { nand->eccmode =NAND_ECC_SOFT ; +#ifdef CFG_NAND_DBW_16 + nand->options =NAND_BUSWIDTH_16 ; +#endif nand->hwcontrol = at91cap9adk_nand_hwcontrol; nand->chip_delay =20 ;
include/configs/at91cap9adk.h +1 -0
@@ -110,6 +110,7 @@#define NAND_MAX_CHIPS 1#define CFG_MAX_NAND_DEVICE 1#define CFG_NAND_BASE 0x40000000 +#define CFG_NAND_DBW_8 1/* Ethernet */ #define CONFIG_MACB 1
Signature · 1 line
1.5.3.3
PATCH 1/21 AT91CAP9ADK: Handle 8 or 16 bit NAND
Already in the at91 tree
Best Regards,
J.
PATCH 2/21 AT91CAP9ADK: Normalize SPI timings
In reply to Stelian Pop--- include/configs/at91cap9adk.h | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-)
include/configs/at91cap9adk.h +3 -3
@@ -94,9 +94,9 @@#define CFG_SPI_WRITE_TOUT (5*CFG_HZ)#define CFG_MAX_DATAFLASH_BANKS 1#define CFG_DATAFLASH_LOGIC_ADDR_CS0 0xC0000000/* CS0 */ -#define AT91_SPI_CLK 20000000 -#define DATAFLASH_TCSS (0xFA << 16) -#define DATAFLASH_TCHS (0x8 << 24) +#define AT91_SPI_CLK 15000000 +#define DATAFLASH_TCSS (0x1a << 16) +#define DATAFLASH_TCHS (0x1 << 24)/* NOR flash */ #define CFG_FLASH_CFI 1
Signature · 1 line
1.5.3.3
PATCH 2/21 AT91CAP9ADK: Normalize SPI timings
Stelian Pop's patch:
include/configs/at91cap9adk.h line 99
Quoted 8 lines
include/configs/at91cap9adk.h +3
-3-#define AT91_SPI_CLK 20000000 -#define DATAFLASH_TCSS (0xFA << 16) -#define DATAFLASH_TCHS (0x8 << 24) +#define AT91_SPI_CLK 15000000 +#define DATAFLASH_TCSS (0x1a << 16) +#define DATAFLASH_TCHS (0x1 << 24)
What do you mean by "Normalize SPI timings"?
Why are you replacing 20000000 Hz with 15000000 Hz? Faster would be better as long as the SPI bus operates reliably, right?
Sincerely,
Ken Fuchs
PATCH 2/21 AT91CAP9ADK: Normalize SPI timings
Le mardi 06 mai 2008 ? 14:23 -0500, Ken.Fuchs at bench.com a ?crit :
Quoted 13 lines
Stelian Pop's patch:
include/configs/at91cap9adk.h line 99
Quoted 8 lines
include/configs/at91cap9adk.h +3
-3-#define AT91_SPI_CLK 20000000 -#define DATAFLASH_TCSS (0xFA << 16) -#define DATAFLASH_TCHS (0x8 << 24) +#define AT91_SPI_CLK 15000000 +#define DATAFLASH_TCSS (0x1a << 16) +#define DATAFLASH_TCHS (0x1 << 24)What do you mean by "Normalize SPI timings"?
Quoted 3 lines
Why are you replacing 20000000 Hz with 15000000 Hz? Faster would be better as long as the SPI bus operates reliably, right?
I used here what the kernel people use. I tend to be more confident in the values used in the kernel (where the code is used by many) than in some random speed picked up from Atmel's example files.
As for TCSS/TCHS, the values comes from Atmel's bootstrap project.
Signature · 1 line
Stelian Pop <[email protected]>
PATCH 2/21 AT91CAP9ADK: Normalize SPI timings
In reply to Stelian PopAlready in the at91 tree
Best Regards,
J.
PATCH 3/21 AT91CAP9ADK: Normalize BOOTARGS
In reply to Stelian Pop--- include/configs/at91cap9adk.h | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-)
include/configs/at91cap9adk.h +8 -2
@@ -56,8 +56,6 @@#define CONFIG_USART3 1/* USART 3 is DBGU */ #define CONFIG_BOOTDELAY 3 -#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ - "root=/dev/mtdblock1 rw rootfstype=jffs2"/* #define CONFIG_ENV_OVERWRITE 1 */
@@ -145,6 +143,10 @@#define CFG_ENV_ADDR (CFG_DATAFLASH_LOGIC_ADDR_CS0 + CFG_ENV_OFFSET)#define CFG_ENV_SIZE 0x4200#define CONFIG_BOOTCOMMAND "cp.b 0xC003DE00 0x72000000 0x200040; bootm" +#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ + "root=/dev/mtdblock1 " \ + "mtdparts=physmap-flash.0:-(nor);at91_nand:-(root) "\ + "rw rootfstype=jffs2"#else
@@ -155,6 +157,10 @@#define CFG_ENV_ADDR (PHYS_FLASH_1 + CFG_ENV_OFFSET)#define CFG_ENV_SIZE 0x4000#define CONFIG_BOOTCOMMAND "cp.b 0x10040000 0x72000000 0x200000; bootm" +#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ + "root=/dev/mtdblock4 " \ + "mtdparts=physmap-flash.0:16k(bootstrap)ro,16k(env),224k(uboot)ro,-(linux);at91_nand:-(root) "\ + "rw rootfstype=jffs2"#endif
Signature · 1 line
1.5.3.3
PATCH 3/21 AT91CAP9ADK: Normalize BOOTARGS
include/configs/at91cap9adk.h line 162
Quoted 4 lines · In message <[email protected]> you wrote:
include/configs/at91cap9adk.h +3
-0+#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ + "root=/dev/mtdblock4 " \ + "mtdparts=physmap-flash.0:16k(bootstrap)ro,16k(env),224k(uboot)ro,-(linux);at91_nand:-(root) "\
Please mind the maximum line length.
Please split this up.
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de "Nature is very un-American. Nature never hurries." - William George Jordan
PATCH 3/21 AT91CAP9ADK: Normalize BOOTARGS
Le mardi 06 mai 2008 ? 21:21 +0200, Wolfgang Denk a ?crit :
Quoted 7 lines
include/configs/at91cap9adk.h line 162
Quoted 4 lines · In message <[email protected]> you wrote:
include/configs/at91cap9adk.h +3
-0+#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ + "root=/dev/mtdblock4 " \ + "mtdparts=physmap-flash.0:16k(bootstrap)ro,16k(env),224k(uboot)ro,-(linux);at91_nand:-(root) "\Please mind the maximum line length.
In this particular case (there is only one kernel parameter here:
mtdparts) I'm not sure splitting the line will have some added value.
But anyway, I'll split it up if you want to.
And no need to point to this line in all the config .h files, I know where are my copy and pastes :)
Stelian.
Signature · 1 line
Stelian Pop <[email protected]>
PATCH 3/21 AT91CAP9ADK: Normalize BOOTARGS
Quoted 13 lines · Stelian Pop
Le mardi 06 mai 2008 ? 21:21 +0200, Wolfgang Denk a ?crit :
Quoted 7 lines
include/configs/at91cap9adk.h line 162
Quoted 4 lines · In message <[email protected]> you wrote:
include/configs/at91cap9adk.h +3
-0+#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ + "root=/dev/mtdblock4 " \ + "mtdparts=physmap-flash.0:16k(bootstrap)ro,16k(env),224k(uboot)ro,-(linux);at91_nand:-(root) "\Please mind the maximum line length.
In this particular case (there is only one kernel parameter here:
mtdparts) I'm not sure splitting the line will have some added value.
Quoted 6 lines
But anyway, I'll split it up if you want to.
And no need to point to this line in all the config .h files, I know where are my copy and pastes :)
Stelian.
Already in the at91 tree
Until you send your next patches I'll keep the currents
Best Regards,
J.
PATCH 4/21 AT91CAP9ADK: Fix dataflash offsets in BOOTCMD
In reply to Stelian Pop--- include/configs/at91cap9adk.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
include/configs/at91cap9adk.h +1 -1
@@ -142,7 +142,7 @@#define CFG_ENV_OFFSET 0x4200#define CFG_ENV_ADDR (CFG_DATAFLASH_LOGIC_ADDR_CS0 + CFG_ENV_OFFSET)#define CFG_ENV_SIZE 0x4200 -#define CONFIG_BOOTCOMMAND "cp.b 0xC003DE00 0x72000000 0x200040; bootm" +#define CONFIG_BOOTCOMMAND "cp.b 0xC0042000 0x72000000 0x210000; bootm"#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ "root=/dev/mtdblock1 " \ "mtdparts=physmap-flash.0:-(nor);at91_nand:-(root) "\
Signature · 1 line
1.5.3.3
PATCH 5/21 AT91SAM9260EK: Handle 8 or 16 bit NAND
In reply to Stelian Pop--- board/atmel/at91sam9260ek/at91sam9260ek.c | 7 ++++++- board/atmel/at91sam9260ek/nand.c | 3 +++ include/configs/at91sam9260ek.h | 1 + 3 files changed, 10 insertions(+), 1 deletions(-)
board/atmel/at91sam9260ek/at91sam9260ek.c +6 -1
@@ -90,7 +90,12 @@ static void at91sam9260ek_nand_hw_init(void)at91_sys_write (AT91_SMC_MODE (3 ),AT91_SMC_READMODE |AT91_SMC_WRITEMODE |AT91_SMC_EXNWMODE_DISABLE | -AT91_SMC_DBW_8 |AT91_SMC_TDF_ (2 )); +#ifdef CFG_NAND_DBW_16 +AT91_SMC_DBW_16 | +#else /* CFG_NAND_DBW_8 */ +AT91_SMC_DBW_8 | +#endif +AT91_SMC_TDF_ (2 ));at91_sys_write (AT91_PMC_PCER ,1 <<AT91SAM9260_ID_PIOC );
board/atmel/at91sam9260ek/nand.c +3 -0
@@ -68,6 +68,9 @@ static int at91sam9260ek_nand_ready(struct mtd_info *mtd)int board_nand_init (struct nand_chip *nand) { nand->eccmode =NAND_ECC_SOFT ; +#ifdef CFG_NAND_DBW_16 + nand->options =NAND_BUSWIDTH_16 ; +#endif nand->hwcontrol = at91sam9260ek_nand_hwcontrol; nand->dev_ready = at91sam9260ek_nand_ready; nand->chip_delay =20 ;
include/configs/at91sam9260ek.h +1 -0
@@ -104,6 +104,7 @@#define NAND_MAX_CHIPS 1#define CFG_MAX_NAND_DEVICE 1#define CFG_NAND_BASE 0x40000000 +#define CFG_NAND_DBW_8 1/* NOR flash - no real flash on this board */ #define CFG_NO_FLASH 1
Signature · 1 line
1.5.3.3
PATCH 5/21 AT91SAM9260EK: Handle 8 or 16 bit NAND
Already in the at91 tree
Best Regards,
J.
PATCH 6/21 AT91SAM9260EK: Normalize SPI timings
In reply to Stelian Pop--- include/configs/at91sam9260ek.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
include/configs/at91sam9260ek.h +1 -1
@@ -96,7 +96,7 @@#define CFG_MAX_DATAFLASH_BANKS 2#define CFG_DATAFLASH_LOGIC_ADDR_CS0 0xC0000000/* CS0 */ #define CFG_DATAFLASH_LOGIC_ADDR_CS1 0xD0000000/* CS1 */ -#define AT91_SPI_CLK 33000000 +#define AT91_SPI_CLK 15000000#define DATAFLASH_TCSS (0x1a << 16)#define DATAFLASH_TCHS (0x1 << 24)
Signature · 1 line
1.5.3.3
PATCH 6/21 AT91SAM9260EK: Normalize SPI timings
Already in the at91 tree
Best Regards,
J.
PATCH 7/21 AT91SAM9260EK: Normalize BOOTARGS
In reply to Stelian Pop--- include/configs/at91sam9260ek.h | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-)
include/configs/at91sam9260ek.h +12 -2
@@ -56,8 +56,6 @@#define CONFIG_USART3 1/* USART 3 is DBGU */ #define CONFIG_BOOTDELAY 3 -#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ - "root=/dev/mtdblock0 rw rootfstype=jffs2"/* #define CONFIG_ENV_OVERWRITE 1 */
@@ -144,6 +142,10 @@#define CFG_ENV_ADDR (CFG_DATAFLASH_LOGIC_ADDR_CS0 + CFG_ENV_OFFSET)#define CFG_ENV_SIZE 0x4200#define CONFIG_BOOTCOMMAND "cp.b 0xC003DE00 0x22000000 0x200040; bootm" +#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ + "root=/dev/mtdblock0 " \ + "mtdparts=at91_nand:-(root) "\ + "rw rootfstype=jffs2"#elif CFG_USE_DATAFLASH_CS1
@@ -154,6 +156,10 @@#define CFG_ENV_ADDR (CFG_DATAFLASH_LOGIC_ADDR_CS1 + CFG_ENV_OFFSET)#define CFG_ENV_SIZE 0x4200#define CONFIG_BOOTCOMMAND "cp.b 0xD003DE00 0x22000000 0x200040; bootm" +#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ + "root=/dev/mtdblock0 " \ + "mtdparts=at91_nand:-(root) "\ + "rw rootfstype=jffs2"#else /* CFG_USE_NANDFLASH */
@@ -163,6 +169,10 @@#define CFG_ENV_OFFSET_REDUND 0x80000#define CFG_ENV_SIZE 0x20000/* 1 sector = 128 kB */ #define CONFIG_BOOTCOMMAND "nand read 0x22000000 0xA0000 0x200000; bootm" +#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ + "root=/dev/mtdblock5 " \ + "mtdparts=at91_nand:128k(bootstrap)ro,256k(uboot)ro,128k(env1)ro,128k(env2)ro,2M(linux),-(root) " \ + "rw rootfstype=jffs2"#endif
Signature · 1 line
1.5.3.3
PATCH 7/21 AT91SAM9260EK: Normalize BOOTARGS
Already in the at91 tree
Best Regards,
J.
PATCH 8/21 AT91SAM9260EK: Fix dataflash offsets in BOOTCMD
In reply to Stelian Pop--- include/configs/at91sam9260ek.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
include/configs/at91sam9260ek.h +2 -2
@@ -141,7 +141,7 @@#define CFG_ENV_OFFSET 0x4200#define CFG_ENV_ADDR (CFG_DATAFLASH_LOGIC_ADDR_CS0 + CFG_ENV_OFFSET)#define CFG_ENV_SIZE 0x4200 -#define CONFIG_BOOTCOMMAND "cp.b 0xC003DE00 0x22000000 0x200040; bootm" +#define CONFIG_BOOTCOMMAND "cp.b 0xC0042000 0x22000000 0x210000; bootm"#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ "root=/dev/mtdblock0 " \ "mtdparts=at91_nand:-(root) "\
@@ -155,7 +155,7 @@#define CFG_ENV_OFFSET 0x4200#define CFG_ENV_ADDR (CFG_DATAFLASH_LOGIC_ADDR_CS1 + CFG_ENV_OFFSET)#define CFG_ENV_SIZE 0x4200 -#define CONFIG_BOOTCOMMAND "cp.b 0xD003DE00 0x22000000 0x200040; bootm" +#define CONFIG_BOOTCOMMAND "cp.b 0xD0042000 0x22000000 0x210000; bootm"#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ "root=/dev/mtdblock0 " \ "mtdparts=at91_nand:-(root) "\
Signature · 1 line
1.5.3.3
PATCH 9/21 AT91SAM9261EK support
In reply to Stelian Pop--- MAINTAINERS | 1 + MAKEALL | 1 + Makefile | 3 + board/atmel/at91sam9261ek/Makefile | 53 ++++++ board/atmel/at91sam9261ek/at91sam9261ek.c | 194 ++++++++++++++++++++ board/atmel/at91sam9261ek/config.mk | 1 + board/atmel/at91sam9261ek/led.c | 78 ++++++++ board/atmel/at91sam9261ek/nand.c | 79 ++++++++ board/atmel/at91sam9261ek/partition.c | 38 ++++ board/atmel/at91sam9261ek/u-boot.lds | 57 ++++++ cpu/arm926ejs/at91sam9/usb.c | 8 + drivers/net/dm9000x.c | 2 + include/asm-arm/arch-at91sam9/at91sam9261.h | 105 +++++++++++ include/asm-arm/arch-at91sam9/at91sam9261_matrix.h | 62 +++++++ include/asm-arm/arch-at91sam9/hardware.h | 3 + include/configs/at91sam9261ek.h | 189 +++++++++++++++++++ 16 files changed, 874 insertions(+), 0 deletions(-) create mode 100644 board/atmel/at91sam9261ek/Makefile create mode 100644 board/atmel/at91sam9261ek/at91sam9261ek.c create mode 100644 board/atmel/at91sam9261ek/config.mk create mode 100644 board/atmel/at91sam9261ek/led.c create mode 100644 board/atmel/at91sam9261ek/nand.c create mode 100644 board/atmel/at91sam9261ek/partition.c create mode 100644 board/atmel/at91sam9261ek/u-boot.lds create mode 100644 include/asm-arm/arch-at91sam9/at91sam9261.h create mode 100644 include/asm-arm/arch-at91sam9/at91sam9261_matrix.h create mode 100644 include/configs/at91sam9261ek.h
MAINTAINERS +1 -0
@@ -538,6 +538,7 @@ Stelian Pop <[email protected]> at91cap9adk ARM926EJS (AT91CAP9 SoC) at91sam9260ek ARM926EJS (AT91SAM9260 SoC) + at91sam9261ek ARM926EJS (AT91SAM9261 SoC) Stefan Roese <[email protected]>
MAKEALL +1 -0
@@ -458,6 +458,7 @@ LIST_ARM9=" \ at91cap9adk \ at91rm9200dk \ at91sam9260ek \ + at91sam9261ek \ cmc_pu2 \ ap920t \ ap922_XA10 \
Makefile +3 -0
@@ -2326,6 +2326,9 @@ shannon_config : unconfig at91rm9200dk_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t at91rm9200dk atmel at91rm9200 +at91sam9261ek_config : unconfig + @$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9261ek atmel at91sam9 + cmc_pu2_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t cmc_pu2 NULL at91rm9200
board/atmel/at91sam9261ek/Makefile new file +53 -0
53 lines not on this page · raw message
board/atmel/at91sam9261ek/at91sam9261ek.c new file +194 -0
194 lines not on this page · raw message
board/atmel/at91sam9261ek/config.mk new file +1 -0
@@ -0,0 +1 @@ +TEXT_BASE = 0x23f00000
board/atmel/at91sam9261ek/led.c new file +78 -0
78 lines not on this page · raw message
board/atmel/at91sam9261ek/nand.c new file +79 -0
79 lines not on this page · raw message
board/atmel/at91sam9261ek/partition.c new file +38 -0
@@ -0,0 +1,38 @@ +/* +* +* 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. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, +* MA 02111-1307 USA +* +*/ +#include <common.h> +#include <config.h> +#include <asm/hardware.h> +#include <dataflash.h> + +AT91S_DATAFLASH_INFO dataflash_info[CFG_MAX_DATAFLASH_BANKS ]; + +struct dataflash_addr cs[CFG_MAX_DATAFLASH_BANKS ] = { + {CFG_DATAFLASH_LOGIC_ADDR_CS0 ,0 },/* Logical adress, CS */ + {CFG_DATAFLASH_LOGIC_ADDR_CS3 ,3 } +}; + +/*define the area offsets*/ +dataflash_protect_t area_list[NB_DATAFLASH_AREA ] = { + {0x00000000 ,0x000041FF ,FLAG_PROTECT_SET ,0 ,"Bootstrap" }, + {0x00004200 ,0x000083FF ,FLAG_PROTECT_CLEAR ,0 ,"Environment" }, + {0x00008400 ,0x00041FFF ,FLAG_PROTECT_SET ,0 ,"U-Boot" }, + {0x00042000 ,0x00251FFF ,FLAG_PROTECT_CLEAR ,0 ,"Kernel" }, + {0x00252000 ,0xFFFFFFFF ,FLAG_PROTECT_CLEAR ,0 ,"FS" }, +};
board/atmel/at91sam9261ek/u-boot.lds new file +57 -0
57 lines not on this page · raw message
cpu/arm926ejs/at91sam9/usb.c +8 -0
@@ -33,7 +33,11 @@ int usb_cpu_init(void) {/* Enable USB host clock. */ at91_sys_write (AT91_PMC_PCER ,1 <<AT91_ID_UHP ); +#ifdef CONFIG_AT91SAM9261 +at91_sys_write (AT91_PMC_SCER ,AT91_PMC_UHP |AT91_PMC_HCK0 ); +#else at91_sys_write (AT91_PMC_SCER ,AT91_PMC_UHP ); +#endif return 0 ; }
@@ -42,7 +46,11 @@ int usb_cpu_stop(void) {/* Disable USB host clock. */ at91_sys_write (AT91_PMC_PCDR ,1 <<AT91_ID_UHP ); +#ifdef CONFIG_AT91SAM9261 +at91_sys_write (AT91_PMC_SCDR ,AT91_PMC_UHP |AT91_PMC_HCK0 ); +#else at91_sys_write (AT91_PMC_SCDR ,AT91_PMC_UHP ); +#endif return 0 ; }
drivers/net/dm9000x.c +2 -0
@@ -300,8 +300,10 @@ eth_init(bd_t * bd)DM9000_iow (DM9000_ISR ,0x0f );/* Clear interrupt status */ /* Set Node address */ +#ifndef CONFIG_AT91SAM9261EK for (i =0 ; i <6 ; i++) ((u16 *) bd->bi_enetaddr)[i] =read_srom_word (i); +#endif if (is_zero_ether_addr (bd->bi_enetaddr) ||is_multicast_ether_addr (bd->bi_enetaddr)) {
include/asm-arm/arch-at91sam9/at91sam9261.h new file +105 -0
105 lines not on this page · raw message
include/asm-arm/arch-at91sam9/at91sam9261_matrix.h new file +62 -0
62 lines not on this page · raw message
include/asm-arm/arch-at91sam9/hardware.h +3 -0
@@ -26,6 +26,9 @@#define AT91_PMC_UHP AT91SAM926x_PMC_UHP#elif defined(CONFIG_AT91SAM9261 )#include <asm/arch/at91sam9261.h> +#define AT91_BASE_SPI AT91SAM9261_BASE_SPI0 +#define AT91_ID_UHP AT91SAM9261_ID_UHP +#define AT91_PMC_UHP AT91SAM926x_PMC_UHP#elif defined(CONFIG_AT91SAM9263 )#include <asm/arch/at91sam9263.h> #elif defined(CONFIG_AT91SAM9RL )
include/configs/at91sam9261ek.h new file +189 -0
189 lines not on this page · raw message
Signature · 1 line
1.5.3.3
PATCH 9/21 AT91SAM9261EK support
board/atmel/at91sam9261ek/Makefile line 3
Quoted 10 lines · In message <[email protected]> you wrote:
board/atmel/at91sam9261ek/Makefile new file +3
-0@@ -0,0 +1,53 @@ +# +# (C) Copyright 2003-2008 +# Wolfgang Denk, DENX Software Engineering, wd <at> denx.de.
Your (C) missing, mine is mangled again. Please fix.
board/atmel/at91sam9261ek/partition.c line 6
Quoted 12 lines
board/atmel/at91sam9261ek/partition.c new file +6
-0@@ -0,0 +1,38 @@ +/* +* +* 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.
(C) missing.
board/atmel/at91sam9261ek/u-boot.lds line 3
Quoted 9 lines
board/atmel/at91sam9261ek/u-boot.lds new file +3
-0@@ -0,0 +1,57 @@ +/* + * (C) Copyright 2002 + * Gary Jennejohn, DENX Software Engineering, <gj <at> denx.de>
Please add your own (C), and don't meddle with Gary's.
include/asm-arm/arch-at91sam9/at91sam9261.h line 4
Quoted 10 lines
include/asm-arm/arch-at91sam9/at91sam9261.h new file +4
-0@@ -0,0 +1,105 @@ +/* +* include/asm-arm/arch-at91/at91sam9261.h +* +* Copyright (C) SAN People
Who exactly is "SAN People" ?
include/asm-arm/arch-at91sam9/at91sam9261_matrix.h line 5
Quoted 11 lines
include/asm-arm/arch-at91sam9/at91sam9261_matrix.h new file +5
-0@@ -0,0 +1,62 @@ +/* +* include/asm-arm/arch-at91/at91sam9261_matrix.h +* +* Memory Controllers (MATRIX, EBI) - System peripherals registers. +* Based on AT91SAM9261 datasheet revision D.
(C) missing.
include/asm-arm/arch-at91sam9/at91sam9261_matrix.h line 18
Quoted 12 lines
include/asm-arm/arch-at91sam9/at91sam9261_matrix.h new file +12
-0+* 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 AT91SAM9261_MATRIX_H +#define AT91SAM9261_MATRIX_H + +#define AT91_MATRIX_MCFG (AT91_MATRIX + 0x00)/* Master Configuration Register */ +#define AT91_MATRIX_RCB0 (1 << 0)/* Remap Command for AHB Master 0 (ARM926EJ-S Instruction Master) */ +#define AT91_MATRIX_RCB1 (1 << 1)/* Remap Command for AHB Master 1 (ARM926EJ-S Data Master) */
Line length!!!
Quoted 5 lines
include/configs/at91sam9261ek.h new file +0
-0
...
include/configs/at91sam9261ek.h line 161
Quoted 3 lines
include/configs/at91sam9261ek.h new file +3
-0+#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ + "root=/dev/mtdblock5 " \ + "mtdparts=at91_nand:128k(bootstrap)ro,256k(uboot)ro,128k(env1)ro,128k(env2)ro,2M(linux),-(root) " \
Line length!!!
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de A well-written program is its own heaven; a poorly-written program is its own hell. -- Geoffrey James, "The Tao of Programming"
PATCH 9/21 AT91SAM9261EK support
Le mardi 06 mai 2008 ? 21:33 +0200, Wolfgang Denk a ?crit :
Quoted 11 lines
board/atmel/at91sam9261ek/u-boot.lds line 3
Quoted 9 lines
board/atmel/at91sam9261ek/u-boot.lds new file +3
-0@@ -0,0 +1,57 @@ +/* + * (C) Copyright 2002 + * Gary Jennejohn, DENX Software Engineering, <gj <at> denx.de>Please add your own (C), and don't meddle with Gary's.
I did not modify this file, merely copied it verbatim from board/atmel/at91cap9adk, which in turn was copied from board/atmel/at91rm9200dk. So I see no reason to add my own copyright.
As for the mangle, see my other mail on the subject.
Quoted 4 lines
Quoted 4 lines
include/asm-arm/arch-at91sam9/at91sam9261.h new file +0
-1--- /dev/null
Quoted 8 lines
include/asm-arm/arch-at91sam9/at91sam9261.h line 4
Quoted 6 lines
+++
b/include/asm-arm/arch-at91sam9/at91sam9261.hinclude/asm-arm/arch-at91sam9/at91sam9261.h new file +4
-0@@ -0,0 +1,105 @@ +/* +* include/asm-arm/arch-at91/at91sam9261.h +* +* Copyright (C) SAN People Who exactly is "SAN People" ?
The at91sam9261.h and at91sam9261_matrix.h are verbatim copies of the header files of the Linux kernel.
Quoted 5 lines
Quoted 5 lines
include/asm-arm/arch-at91sam9/at91sam9261_matrix.h new file +0
-0
Quoted 8 lines
include/asm-arm/arch-at91sam9/at91sam9261_matrix.h line 5
Quoted 6 lines
include/asm-arm/arch-at91sam9/at91sam9261_matrix.h new file +5
-0@@ -0,0 +1,62 @@ +/* +* include/asm-arm/arch-at91/at91sam9261_matrix.h +* +* Memory Controllers (MATRIX, EBI) - System peripherals registers. +* Based on AT91SAM9261 datasheet revision D. (C) missing.
ditto.
Quoted 15 lines
include/asm-arm/arch-at91sam9/at91sam9261_matrix.h line 18
Quoted 13 lines
include/asm-arm/arch-at91sam9/at91sam9261_matrix.h new file +12
-0+* 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 AT91SAM9261_MATRIX_H +#define AT91SAM9261_MATRIX_H + +#define AT91_MATRIX_MCFG (AT91_MATRIX + 0x00)/* Master Configuration Register */ +#define AT91_MATRIX_RCB0 (1 << 0)/* Remap Command for AHB Master 0 (ARM926EJ-S Instruction Master) */ +#define AT91_MATRIX_RCB1 (1 << 1)/* Remap Command for AHB Master 1 (ARM926EJ-S Data Master) */ Line length!!!
No, I won't change this one. For maintenance reasons it is better to keep it identical to the kernel file.
Stelian.
Signature · 1 line
Stelian Pop <[email protected]>
PATCH 9/21 AT91SAM9261EK support
Quoted 9 lines · In message <1210105131.25356.61.camel@galileo> you wrote:
Quoted 5 lines
Quoted 3 lines
+ * (C) Copyright 2002
+ * Gary Jennejohn, DENX Software Engineering, <gj <at> denx.de>Please add your own (C), and don't meddle with Gary's.
I did not modify this file, merely copied it verbatim from board/atmel/at91cap9adk, which in turn was copied from board/atmel/at91rm9200dk. So I see no reason to add my own copyright.
If it's just copuied without changes, it's time to factor it out.
Quoted 1 line
As for the mangle, see my other mail on the subject.
Understood, but needs to be fixed.
Quoted 6 lines
Quoted 3 lines
Quoted 1 line
+ * Copyright (C) SAN People
Who exactly is "SAN People" ?
The
at91sam9261.handat91sam9261_matrix.hare verbatim copies of the header files of the Linux kernel.
This explains where the file is coming from, but does not answer my question.
Quoted 11 lines
Quoted 9 lines
include/asm-arm/arch-at91sam9/at91sam9261_matrix.h line 5
Quoted 7 lines
+++
b/include/asm-arm/arch-at91sam9/at91sam9261_matrix.hinclude/asm-arm/arch-at91sam9/at91sam9261_matrix.h new file +5
-0@@ -0,0 +1,62 @@ +/* +* include/asm-arm/arch-at91/at91sam9261_matrix.h +* +* Memory Controllers (MATRIX, EBI) - System peripherals registers. +* Based on AT91SAM9261 datasheet revision D. (C) missing.
ditto.
Maybe. It's still missing.
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The human race has one really effective weapon, and that is laughter.
- Mark TwainPATCH 9/21 AT91SAM9261EK support
Le mardi 06 mai 2008 ? 23:14 +0200, Wolfgang Denk a ?crit :
Quoted 5 lines
Quoted 4 lines · In message <1210105131.25356.61.camel@galileo> you wrote:
Quoted 4 lines
Quoted 3 lines
+ * (C) Copyright 2002
+ * Gary Jennejohn, DENX Software Engineering, <gj <at> denx.de>
Quoted 7 lines
Quoted 5 lines
Quoted 1 line
Please add your own (C), and don't meddle with Gary's.
I did not modify this file, merely copied it verbatim from board/atmel/at91cap9adk, which in turn was copied from board/atmel/at91rm9200dk. So I see no reason to add my own copyright.
If it's just copuied without changes, it's time to factor it out.
Isn't every board supposed to have a u-boot.lds file ? How could I factor these out ?
Quoted 4 lines
Quoted 2 lines
As for the mangle, see my other mail on the subject.
Understood, but needs to be fixed.
I'll submit a patch for this.
Quoted 9 lines
Quoted 6 lines
Quoted 3 lines
Quoted 1 line
+ * Copyright (C) SAN People
Who exactly is "SAN People" ?
The
at91sam9261.handat91sam9261_matrix.hare verbatim copies of the header files of the Linux kernel.This explains where the file is coming from, but does not answer my question.
I think SAN is the former employer of Andrew Victor, the AT91 kernel maintainer.
Quoted 10 lines
Quoted 10 lines
Quoted 9 lines
include/asm-arm/arch-at91sam9/at91sam9261_matrix.h line 5
Quoted 7 lines
+++
b/include/asm-arm/arch-at91sam9/at91sam9261_matrix.hinclude/asm-arm/arch-at91sam9/at91sam9261_matrix.h new file +5
-0@@ -0,0 +1,62 @@ +/* +* include/asm-arm/arch-at91/at91sam9261_matrix.h +* +* Memory Controllers (MATRIX, EBI) - System peripherals registers. +* Based on AT91SAM9261 datasheet revision D. (C) missing.
Quoted 3 lines
Quoted 1 line
ditto.
Maybe. It's still missing.
And what am I supposed to do ?
Signature · 1 line
Stelian Pop <[email protected]>
PATCH 9/21 AT91SAM9261EK support
Hello Stelian,
To be able to compile for at91sam9261-ek we need a logo called atmel.bmp. This bitmap is not available in the tree, so build fails. (There is, however, a denx.bmp)
The bitmap is also a binary file, so difficult to handle with patches. Have you any idea how to solve this?
Kind Regards,
Remy
2008/5/6 Stelian Pop <[email protected]>:
Quoted 74 lines
Le mardi 06 mai 2008 ? 23:14 +0200, Wolfgang Denk a ?crit :
Quoted 5 lines
Quoted 4 lines · In message <1210105131.25356.61.camel@galileo> you wrote:
Quoted 4 lines
Quoted 3 lines
+ * (C) Copyright 2002
+ * Gary Jennejohn, DENX Software Engineering, <gj <at> denx.de>Quoted 7 lines
Quoted 5 lines
Quoted 1 line
Please add your own (C), and don't meddle with Gary's.
I did not modify this file, merely copied it verbatim from board/atmel/at91cap9adk, which in turn was copied from board/atmel/at91rm9200dk. So I see no reason to add my own copyright.
If it's just copuied without changes, it's time to factor it out.
Isn't every board supposed to have a
u-boot.ldsfile ? How could I factor these out ?Quoted 4 lines
Quoted 2 lines
As for the mangle, see my other mail on the subject.
Understood, but needs to be fixed.
I'll submit a patch for this.
Quoted 9 lines
Quoted 6 lines
Quoted 3 lines
Quoted 1 line
+ * Copyright (C) SAN People
Who exactly is "SAN People" ?
The
at91sam9261.handat91sam9261_matrix.hare verbatim copies of the header files of the Linux kernel.This explains where the file is coming from, but does not answer my question.
I think SAN is the former employer of Andrew Victor, the AT91 kernel maintainer.
Quoted 10 lines
Quoted 10 lines
Quoted 9 lines
include/asm-arm/arch-at91sam9/at91sam9261_matrix.h line 5
Quoted 7 lines
+++
b/include/asm-arm/arch-at91sam9/at91sam9261_matrix.hinclude/asm-arm/arch-at91sam9/at91sam9261_matrix.h new file +5
-0@@ -0,0 +1,62 @@ +/* +* include/asm-arm/arch-at91/at91sam9261_matrix.h +* +* Memory Controllers (MATRIX, EBI) - System peripherals registers. +* Based on AT91SAM9261 datasheet revision D. (C) missing.
Quoted 3 lines
Quoted 1 line
ditto.
Maybe. It's still missing.
And what am I supposed to do ?
--
Stelian Pop <[email protected]>-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
U-Boot-Users mailing list
U-Boot-Users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users
PATCH 9/21 AT91SAM9261EK support
Le mercredi 07 mai 2008 ? 10:25 +0200, Remy Bohmer a ?crit :
Quoted 8 lines
Hello Stelian,
To be able to compile for at91sam9261-ek we need a logo called atmel.bmp. This bitmap is not available in the tree, so build fails. (There is, however, a denx.bmp)
The bitmap is also a binary file, so difficult to handle with patches. Have you any idea how to solve this?
The patch "[PATCH 19/21] Use custom logo for Atmel boards" is a git patch containing the binary bitmap. If you use git-am to apply the patch it should handle this fine.
Otherwise, if you use plain 'patch' it will ignore the binary file.
For the time being, either use git to apply the patch or revert the whole patch 19/21 (so the standard u-boot bmp will be used).
Signature · 1 line
Stelian Pop <[email protected]>
PATCH 9/21 AT91SAM9261EK support
In reply to Remy BohmerHello Stelian,
To be able to compile for at91sam9261-ek we need a logo called atmel.bmp. This bitmap is not available in the tree, so build fails. (There is, however, a denx.bmp)
The bitmap is also a binary file, so difficult to handle with patches. Have you any idea how to solve this?
Kind Regards,
Remy
==> Is this not for the custodians to sort out as a special case?
Can't you just send a binary as an attachement and have this included in the mainstream?
An alternative would be to convert the bitmap to a non-binary file which can be used as data to a utility generating the binary during the build
Best Regards
Ulf Samuelsson
PATCH 9/21 AT91SAM9261EK support
Quoted 3 lines · In message <[email protected]> you wrote:
The bitmap is also a binary file, so difficult to handle with patches. Have you any idea how to solve this?
Use git. Git handles binary blobs just fine.
Quoted 1 line
==> Is this not for the custodians to sort out as a special case?
It is not a special case. A binary image is just another file type which can be processed using git tools.
Quoted 6 lines
Can't you just send a binary as an attachement and have this
included in the mainstream?An alternative would be to convert the bitmap to a non-binary file which can be used as data to a utility generating the binary during the build
None of this is necessary.
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Without freedom of choice there is no creativity. -- Kirk, "The return of the Archons", stardate 3157.4
PATCH 10/21 AT91SAM9263EK support
In reply to Stelian Pop--- MAINTAINERS | 1 + MAKEALL | 1 + Makefile | 3 + board/atmel/at91sam9263ek/Makefile | 53 +++++ board/atmel/at91sam9263ek/at91sam9263ek.c | 240 ++++++++++++++++++++ board/atmel/at91sam9263ek/config.mk | 1 + board/atmel/at91sam9263ek/led.c | 78 +++++++ board/atmel/at91sam9263ek/nand.c | 79 +++++++ board/atmel/at91sam9263ek/partition.c | 37 +++ board/atmel/at91sam9263ek/u-boot.lds | 57 +++++ drivers/net/macb.c | 6 +- include/asm-arm/arch-at91sam9/at91sam9263.h | 127 +++++++++++ include/asm-arm/arch-at91sam9/at91sam9263_matrix.h | 129 +++++++++++ include/asm-arm/arch-at91sam9/hardware.h | 4 + include/configs/at91sam9263ek.h | 195 ++++++++++++++++ net/eth.c | 3 +- 16 files changed, 1011 insertions(+), 3 deletions(-) create mode 100644 board/atmel/at91sam9263ek/Makefile create mode 100644 board/atmel/at91sam9263ek/at91sam9263ek.c create mode 100644 board/atmel/at91sam9263ek/config.mk create mode 100644 board/atmel/at91sam9263ek/led.c create mode 100644 board/atmel/at91sam9263ek/nand.c create mode 100644 board/atmel/at91sam9263ek/partition.c create mode 100644 board/atmel/at91sam9263ek/u-boot.lds create mode 100644 include/asm-arm/arch-at91sam9/at91sam9263.h create mode 100644 include/asm-arm/arch-at91sam9/at91sam9263_matrix.h create mode 100644 include/configs/at91sam9263ek.h
MAINTAINERS +1 -0
@@ -539,6 +539,7 @@ Stelian Pop <[email protected]> at91cap9adk ARM926EJS (AT91CAP9 SoC) at91sam9260ek ARM926EJS (AT91SAM9260 SoC) at91sam9261ek ARM926EJS (AT91SAM9261 SoC) + at91sam9263ek ARM926EJS (AT91SAM9263 SoC) Stefan Roese <[email protected]>
MAKEALL +1 -0
@@ -459,6 +459,7 @@ LIST_ARM9=" \ at91rm9200dk \ at91sam9260ek \ at91sam9261ek \ + at91sam9263ek \ cmc_pu2 \ ap920t \ ap922_XA10 \
Makefile +3 -0
@@ -2329,6 +2329,9 @@ at91rm9200dk_config : unconfig at91sam9261ek_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9261ek atmel at91sam9 +at91sam9263ek_config : unconfig + @$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9263ek atmel at91sam9 + cmc_pu2_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t cmc_pu2 NULL at91rm9200
board/atmel/at91sam9263ek/Makefile new file +53 -0
53 lines not on this page · raw message
board/atmel/at91sam9263ek/at91sam9263ek.c new file +240 -0
240 lines not on this page · raw message
board/atmel/at91sam9263ek/config.mk new file +1 -0
@@ -0,0 +1 @@ +TEXT_BASE = 0x23f00000
board/atmel/at91sam9263ek/led.c new file +78 -0
78 lines not on this page · raw message
board/atmel/at91sam9263ek/nand.c new file +79 -0
79 lines not on this page · raw message
board/atmel/at91sam9263ek/partition.c new file +37 -0
@@ -0,0 +1,37 @@ +/* +* +* 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. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, +* MA 02111-1307 USA +* +*/ +#include <common.h> +#include <config.h> +#include <asm/hardware.h> +#include <dataflash.h> + +AT91S_DATAFLASH_INFO dataflash_info[CFG_MAX_DATAFLASH_BANKS ]; + +struct dataflash_addr cs[CFG_MAX_DATAFLASH_BANKS ] = { + {CFG_DATAFLASH_LOGIC_ADDR_CS0 ,0 },/* Logical adress, CS */ +}; + +/*define the area offsets*/ +dataflash_protect_t area_list[NB_DATAFLASH_AREA ] = { + {0x00000000 ,0x000041FF ,FLAG_PROTECT_SET ,0 ,"Bootstrap" }, + {0x00004200 ,0x000083FF ,FLAG_PROTECT_CLEAR ,0 ,"Environment" }, + {0x00008400 ,0x00041FFF ,FLAG_PROTECT_SET ,0 ,"U-Boot" }, + {0x00042000 ,0x00251FFF ,FLAG_PROTECT_CLEAR ,0 ,"Kernel" }, + {0x00252000 ,0xFFFFFFFF ,FLAG_PROTECT_CLEAR ,0 ,"FS" }, +};
board/atmel/at91sam9263ek/u-boot.lds new file +57 -0
57 lines not on this page · raw message
drivers/net/macb.c +4 -2
@@ -417,13 +417,15 @@ static int macb_init(struct eth_device *netdev, bd_t *bd)/* choose RMII or MII mode. This depends on the board */ #ifdef CONFIG_RMII -#if defined(CONFIG_AT91CAP9 ) || defined(CONFIG_AT91SAM9260 ) +#if defined(CONFIG_AT91CAP9 ) || defined(CONFIG_AT91SAM9260 ) || \ + defined(CONFIG_AT91SAM9263 )macb_writel (macb,USRIO ,MACB_BIT (RMII ) |MACB_BIT (CLKEN ));#else macb_writel (macb,USRIO ,0 );#endif #else -#if defined(CONFIG_AT91CAP9 ) || defined(CONFIG_AT91SAM9260 ) +#if defined(CONFIG_AT91CAP9 ) || defined(CONFIG_AT91SAM9260 ) || \ + defined(CONFIG_AT91SAM9263 )macb_writel (macb,USRIO ,MACB_BIT (CLKEN ));#else macb_writel (macb,USRIO ,MACB_BIT (MII ));
include/asm-arm/arch-at91sam9/at91sam9263.h new file +127 -0
127 lines not on this page · raw message
include/asm-arm/arch-at91sam9/at91sam9263_matrix.h new file +129 -0
129 lines not on this page · raw message
include/asm-arm/arch-at91sam9/hardware.h +4 -0
@@ -31,6 +31,10 @@#define AT91_PMC_UHP AT91SAM926x_PMC_UHP#elif defined(CONFIG_AT91SAM9263 )#include <asm/arch/at91sam9263.h> +#define AT91_BASE_EMAC AT91SAM9263_BASE_EMAC +#define AT91_BASE_SPI AT91SAM9263_BASE_SPI0 +#define AT91_ID_UHP AT91SAM9263_ID_UHP +#define AT91_PMC_UHP AT91SAM926x_PMC_UHP#elif defined(CONFIG_AT91SAM9RL )#include <asm/arch/at91sam9rl.h> #elif defined(CONFIG_AT91CAP9 )
include/configs/at91sam9263ek.h new file +195 -0
195 lines not on this page · raw message
net/eth.c +2 -1
@@ -288,7 +288,8 @@ int eth_initialize(bd_t *bis)#if defined(CONFIG_FSLDMAFEC )mcdmafec_initialize (bis);#endif -#if defined(CONFIG_AT91CAP9 ) || defined(CONFIG_AT91SAM9260 ) +#if defined(CONFIG_AT91CAP9 ) || defined(CONFIG_AT91SAM9260 ) || \ + defined(CONFIG_AT91SAM9263 )at91sam9_eth_initialize (bis);#endif
Signature · 1 line
1.5.3.3
PATCH 10/21 AT91SAM9263EK support
board/atmel/at91sam9263ek/Makefile line 3
Quoted 10 lines · In message <[email protected]> you wrote:
board/atmel/at91sam9263ek/Makefile new file +3
-0@@ -0,0 +1,53 @@ +# +# (C) Copyright 2003-2008 +# Wolfgang Denk, DENX Software Engineering, wd <at> denx.de.
Please add your own (C), and don't mess with mine.
board/atmel/at91sam9263ek/partition.c line 6
Quoted 12 lines
board/atmel/at91sam9263ek/partition.c new file +6
-0@@ -0,0 +1,37 @@ +/* +* +* 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.
(C) missing.
board/atmel/at91sam9263ek/u-boot.lds line 3
Quoted 9 lines
board/atmel/at91sam9263ek/u-boot.lds new file +3
-0@@ -0,0 +1,57 @@ +/* + * (C) Copyright 2002 + * Gary Jennejohn, DENX Software Engineering, <gj <at> denx.de>
Please add your own (C), and don't mess with Gary's.
Quoted 5 lines
include/configs/at91sam9263ek.h new file +0
-0
...
include/configs/at91sam9263ek.h line 167
Quoted 3 lines
include/configs/at91sam9263ek.h new file +3
-0+#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ + "root=/dev/mtdblock5 " \ + "mtdparts=at91_nand:128k(bootstrap)ro,256k(uboot)ro,128k(env1)ro,128k(env2)ro,2M(linux),-(root) " \
Line length!
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de I've already got a female to worry about. Her name is the Enterprise. -- Kirk, "The Corbomite Maneuver", stardate 1514.0
PATCH 11/21 AT91SAM9RLEK support
In reply to Stelian Pop--- MAINTAINERS | 1 + MAKEALL | 1 + Makefile | 3 + board/atmel/at91sam9rlek/Makefile | 53 +++++++ board/atmel/at91sam9rlek/at91sam9rlek.c | 152 +++++++++++++++++++ board/atmel/at91sam9rlek/config.mk | 1 + board/atmel/at91sam9rlek/led.c | 77 ++++++++++ board/atmel/at91sam9rlek/nand.c | 79 ++++++++++ board/atmel/at91sam9rlek/partition.c | 37 +++++ board/atmel/at91sam9rlek/u-boot.lds | 57 +++++++ include/asm-arm/arch-at91sam9/at91sam9rl.h | 115 ++++++++++++++ include/asm-arm/arch-at91sam9/at91sam9rl_matrix.h | 96 ++++++++++++ include/asm-arm/arch-at91sam9/hardware.h | 2 + include/configs/at91sam9rlek.h | 164 +++++++++++++++++++++ 14 files changed, 838 insertions(+), 0 deletions(-) create mode 100644 board/atmel/at91sam9rlek/Makefile create mode 100644 board/atmel/at91sam9rlek/at91sam9rlek.c create mode 100644 board/atmel/at91sam9rlek/config.mk create mode 100644 board/atmel/at91sam9rlek/led.c create mode 100644 board/atmel/at91sam9rlek/nand.c create mode 100644 board/atmel/at91sam9rlek/partition.c create mode 100644 board/atmel/at91sam9rlek/u-boot.lds create mode 100644 include/asm-arm/arch-at91sam9/at91sam9rl.h create mode 100644 include/asm-arm/arch-at91sam9/at91sam9rl_matrix.h create mode 100644 include/configs/at91sam9rlek.h
MAINTAINERS +1 -0
@@ -540,6 +540,7 @@ Stelian Pop <[email protected]> at91sam9260ek ARM926EJS (AT91SAM9260 SoC) at91sam9261ek ARM926EJS (AT91SAM9261 SoC) at91sam9263ek ARM926EJS (AT91SAM9263 SoC) + at91sam9rlek ARM926EJS (AT91SAM9RL SoC) Stefan Roese <[email protected]>
MAKEALL +1 -0
@@ -460,6 +460,7 @@ LIST_ARM9=" \ at91sam9260ek \ at91sam9261ek \ at91sam9263ek \ + at91sam9rlek \ cmc_pu2 \ ap920t \ ap922_XA10 \
Makefile +3 -0
@@ -2332,6 +2332,9 @@ at91sam9261ek_config : unconfig at91sam9263ek_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9263ek atmel at91sam9 +at91sam9rlek_config : unconfig + @$(MKCONFIG) $(@:_config=) arm arm926ejs at91sam9rlek atmel at91sam9 + cmc_pu2_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t cmc_pu2 NULL at91rm9200
board/atmel/at91sam9rlek/Makefile new file +53 -0
53 lines not on this page · raw message
board/atmel/at91sam9rlek/at91sam9rlek.c new file +152 -0
152 lines not on this page · raw message
board/atmel/at91sam9rlek/config.mk new file +1 -0
@@ -0,0 +1 @@ +TEXT_BASE = 0x23f00000
board/atmel/at91sam9rlek/led.c new file +77 -0
77 lines not on this page · raw message
board/atmel/at91sam9rlek/nand.c new file +79 -0
79 lines not on this page · raw message
board/atmel/at91sam9rlek/partition.c new file +37 -0
@@ -0,0 +1,37 @@ +/* +* +* 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. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, +* MA 02111-1307 USA +* +*/ +#include <common.h> +#include <config.h> +#include <asm/hardware.h> +#include <dataflash.h> + +AT91S_DATAFLASH_INFO dataflash_info[CFG_MAX_DATAFLASH_BANKS ]; + +struct dataflash_addr cs[CFG_MAX_DATAFLASH_BANKS ] = { + {CFG_DATAFLASH_LOGIC_ADDR_CS0 ,0 },/* Logical adress, CS */ +}; + +/*define the area offsets*/ +dataflash_protect_t area_list[NB_DATAFLASH_AREA ] = { + {0x00000000 ,0x000041FF ,FLAG_PROTECT_SET ,0 ,"Bootstrap" }, + {0x00004200 ,0x000083FF ,FLAG_PROTECT_CLEAR ,0 ,"Environment" }, + {0x00008400 ,0x00041FFF ,FLAG_PROTECT_SET ,0 ,"U-Boot" }, + {0x00042000 ,0x00251FFF ,FLAG_PROTECT_CLEAR ,0 ,"Kernel" }, + {0x00252000 ,0xFFFFFFFF ,FLAG_PROTECT_CLEAR ,0 ,"FS" }, +};
board/atmel/at91sam9rlek/u-boot.lds new file +57 -0
57 lines not on this page · raw message
include/asm-arm/arch-at91sam9/at91sam9rl.h new file +115 -0
115 lines not on this page · raw message
include/asm-arm/arch-at91sam9/at91sam9rl_matrix.h new file +96 -0
96 lines not on this page · raw message
include/asm-arm/arch-at91sam9/hardware.h +2 -0
@@ -37,6 +37,8 @@#define AT91_PMC_UHP AT91SAM926x_PMC_UHP#elif defined(CONFIG_AT91SAM9RL )#include <asm/arch/at91sam9rl.h> +#define AT91_BASE_SPI AT91SAM9RL_BASE_SPI +#define AT91_ID_UHP AT91SAM9RL_ID_UHP#elif defined(CONFIG_AT91CAP9 )#include <asm/arch/at91cap9.h> #define AT91_BASE_EMAC AT91CAP9_BASE_EMAC
include/configs/at91sam9rlek.h new file +164 -0
164 lines not on this page · raw message
Signature · 1 line
1.5.3.3
PATCH 11/21 AT91SAM9RLEK support
board/atmel/at91sam9rlek/Makefile line 3
Quoted 10 lines · In message <[email protected]> you wrote:
board/atmel/at91sam9rlek/Makefile new file +3
-0@@ -0,0 +1,53 @@ +# +# (C) Copyright 2003-2008 +# Wolfgang Denk, DENX Software Engineering, wd <at> denx.de.
You should add your own Copyright here. And please don't mutilate my entry - please leave this exactly as it was.
board/atmel/at91sam9rlek/partition.c line 6
Quoted 12 lines
board/atmel/at91sam9rlek/partition.c new file +6
-0@@ -0,0 +1,37 @@ +/* +* +* 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.
Copyright entry missing.
Best regards,
Wolfgang Denk
Signature · 8 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The alternative to genuflecting before the god of code-bumming is
finding a better algorithm. It should be clear that none such was
available. If your code is too slow, you must make it faster. If no
better algorithm is available, you must trim cycles.
- td at alice.UUCP (Tom Duff) 29 Aug 88PATCH 11/21 AT91SAM9RLEK support
Le mardi 06 mai 2008 ? 21:26 +0200, Wolfgang Denk a ?crit :
Quoted 13 lines
board/atmel/at91sam9rlek/Makefile line 3
Quoted 10 lines · In message <[email protected]> you wrote:
board/atmel/at91sam9rlek/Makefile new file +3
-0@@ -0,0 +1,53 @@ +# +# (C) Copyright 2003-2008 +# Wolfgang Denk, DENX Software Engineering, wd <at> denx.de.You should add your own Copyright here
Ok.
Quoted 2 lines
And please don't mutilate my
entry - please leave this exactly as it was.
I don't know what to say here. I suppose you're talking about the @ -> <at> replacement. This is a copy of board/atmel/at91cap9adk/Makefile, and I'm pretty sure that when I submitted the AT91CAP9 patches, the @ was there.
I think that somehow Peter Pearse converted it when applying the patches into his git tree.
Quoted 6 lines
Quoted 6 lines
board/atmel/at91sam9rlek/partition.c new file +0
-0@@ -0,0 +1,37 @@
Quoted 8 lines
board/atmel/at91sam9rlek/partition.c line 6
Quoted 6 lines
board/atmel/at91sam9rlek/partition.c new file +6
-0+/* +* +* 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. Copyright entry missing.
Except that this is not mine. partition.c is a (pretty or complete, depending on the board) verbatim copy of board/atmel/at91cap9adk/partition.c, which was submitted by Ulf Samuelsson.
Signature · 1 line
Stelian Pop <[email protected]>
PATCH 12/21 Make nand_init() return the detected NAND size
In reply to Stelian Pop--- drivers/mtd/nand/nand.c | 3 ++- include/nand.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-)
drivers/mtd/nand/nand.c +2 -1
@@ -60,7 +60,7 @@ static void nand_init_chip(struct mtd_info *mtd, struct nand_chip *nand, } -void nand_init (void ) +ulong nand_init (void ) {int i;unsigned int size =0 ;
@@ -78,6 +78,7 @@ void nand_init(void)*/ board_nand_select_device (nand_info[nand_curr_device].priv, nand_curr_device);#endif + return size; }#endif
include/nand.h +1 -1
@@ -32,7 +32,7 @@ typedef struct mtd_info nand_info_t;extern int nand_curr_device;extern nand_info_t nand_info[]; -extern void nand_init (void ); +extern ulong nand_init (void );static inline int nand_read (nand_info_t *info,off_t ofs,size_t *len,u_char *buf) {
Signature · 1 line
1.5.3.3
PATCH 13/21 Remeber the RAM and NAND detected sizes for later display
In reply to Stelian Pop--- include/asm-arm/u-boot.h | 4 ++++ lib_arm/board.c | 14 ++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-)
include/asm-arm/u-boot.h +4 -0
@@ -48,10 +48,14 @@ typedef struct bd_info {ulong start;ulong size; } bi_dram[CONFIG_NR_DRAM_BANKS ]; +ulong bi_dram_size;#ifdef CONFIG_HAS_ETH1 /* second onboard ethernet port */ unsigned char bi_enet1addr[6 ];#endif +#ifdef CONFIG_CMD_NAND +ulong bi_nand_size; +#endif } bd_t;#define bi_env_data bi_env->data
lib_arm/board.c +8 -6
@@ -56,7 +56,7 @@DECLARE_GLOBAL_DATA_PTR ;#if defined(CONFIG_CMD_NAND ) -void nand_init (void ); +ulong nand_init (void );#endif #if defined(CONFIG_CMD_ONENAND )
@@ -187,21 +187,23 @@ static int display_dram_config (void) {int i; + gd->bd->bi_dram_size =0 ; +#ifdef DEBUG puts ("RAM Configuration:\n" );for (i=0 ; i<CONFIG_NR_DRAM_BANKS ; i++) {printf ("Bank #%d: %08lx " , i, gd->bd->bi_dram[i].start);print_size (gd->bd->bi_dram[i].size,"\n" ); + gd->bd->bi_dram_size += gd->bd->bi_dram[i].size; }#else -ulong size =0 ;for (i=0 ; i<CONFIG_NR_DRAM_BANKS ; i++) { - size += gd->bd->bi_dram[i].size; + gd->bd->bi_dram_size += gd->bd->bi_dram[i].size; }puts ("DRAM: " ); -print_size (size,"\n" ); +print_size (gd->bd->bi_dram_size,"\n" );#endif return (0 );
@@ -279,7 +281,7 @@ void start_armboot (void) {init_fnc_t **init_fnc_ptr;char *s; -#ifndef CFG_NO_FLASH +#if !defined(CFG_NO_FLASH ) || defined (CONFIG_VFD ) || defined(CONFIG_LCD )ulong size;#endif #if defined(CONFIG_VFD ) || defined(CONFIG_LCD )
@@ -340,7 +342,7 @@ void start_armboot (void)#if defined(CONFIG_CMD_NAND )puts ("NAND: " ); -nand_init ();/* go init the NAND */ + gd->bd->bi_nand_size =nand_init ();/* go init the NAND */ #endif #if defined(CONFIG_CMD_ONENAND )
Signature · 1 line
1.5.3.3
PATCH 13/21 Remeber the RAM and NAND detected sizes for later display
Quoted 12 lines · In message <[email protected]> you wrote:
Signed-off-by Stelian Pop <[email protected]>--- include/asm-arm/u-boot.h | 4 ++++ lib_arm/board.c | 14 ++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-)include/asm-arm/u-boot.h +0
-0
include/asm-arm/u-boot.h typedef struct bd_info { · line 51
Quoted 4 lines
include/asm-arm/u-boot.h +1
-0@@ -48,10 +48,14 @@ typedef struct bd_info {ulong start;ulong size; } bi_dram[CONFIG_NR_DRAM_BANKS ]; +ulong bi_dram_size;
Why would that be needed? Isn't adding the "size" entries above sufficient?
include/asm-arm/u-boot.h typedef struct bd_info { · line 56
Quoted 7 lines
include/asm-arm/u-boot.h +2
-2for (i=0 ; i<CONFIG_NR_DRAM_BANKS ; i++) { - size += gd->bd->bi_dram[i].size; + gd->bd->bi_dram_size += gd->bd->bi_dram[i].size; }puts ("DRAM: " ); -print_size (size,"\n" ); +print_size (gd->bd->bi_dram_size,"\n" );
We really don't need an extra variable here, me thinks.
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de You can't evaluate a man by logic alone. -- McCoy, "I, Mudd", stardate 4513.3
PATCH 13/21 Remeber the 0013-Remeber-the-RAM-and-NAND-detected-sizes-for-later-di.patch
Le mardi 06 mai 2008 ? 21:28 +0200, Wolfgang Denk a ?crit :
Quoted 8 lines
Quoted 7 lines · In message <[email protected]> you wrote:
Signed-off-by Stelian Pop <[email protected]>--- include/asm-arm/u-boot.h | 4 ++++ lib_arm/board.c | 14 ++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-)
Quoted 12 lines
include/asm-arm/u-boot.h typedef struct bd_info { · line 51
Quoted 9 lines
include/asm-arm/u-boot.h +1
-0@@ -48,10 +48,14 @@ typedef struct bd_info {ulong start;ulong size; } bi_dram[CONFIG_NR_DRAM_BANKS ]; +ulong bi_dram_size;Why would that be needed? Isn't adding the "size" entries above sufficient?
It is. But this addition is done once more in the LCD driver (see patch 14/21), so I thought it would be useful to remember the result.
But if you consider it's more costly to add 4 bytes in global data than to do the addition again, I can change it back.
Signature · 1 line
Stelian Pop <[email protected]>
PATCH 14/21 Add ATMEL LCD driver
In reply to Stelian Pop--- README | 4 + common/lcd.c | 66 +++++++++++++- drivers/video/Makefile | 1 + drivers/video/atmel_lcdfb.c | 160 +++++++++++++++++++++++++++++++ include/asm-arm/arch-at91sam9/clk.h | 6 + include/atmel_lcdc.h | 177 +++++++++++++++++++++++++++++++++++ include/lcd.h | 30 ++++++- lib_arm/board.c | 37 ++++++-- 8 files changed, 469 insertions(+), 12 deletions(-) create mode 100644 drivers/video/atmel_lcdfb.c create mode 100644 include/atmel_lcdc.h
README +4 -0
@@ -962,6 +962,10 @@ The following options need to be configured: display); also select one of the supported displays by defining one of these: + CONFIG_ATMEL_LCD: + + HITACHI TX09D70VM1CCA, 3.5", 240x320. + CONFIG_NEC_NL6448AC33: NEC NL6448AC33-18. Active, color, single scan.
common/lcd.c +65 -1
128 lines not on this page · raw message
drivers/video/Makefile +1 -0
@@ -26,6 +26,7 @@ include $(TOPDIR)/config.mk LIB := $(obj)libvideo.a COBJS-y += ati_radeon_fb.o +COBJS-$(CONFIG_ATMEL_LCD) += atmel_lcdfb.o COBJS-y += cfb_console.o COBJS-y += ct69000.o COBJS-y += mb862xx.o
drivers/video/atmel_lcdfb.c new file +160 -0
160 lines not on this page · raw message
include/asm-arm/arch-at91sam9/clk.h +6 -0
@@ -36,4 +36,10 @@ static inline unsigned long get_usart_clk_rate(unsigned int dev_id) return AT91_MASTER_CLOCK; } +static inline unsigned long get_lcdc_clk_rate (unsigned int dev_id) +{ +return AT91_MASTER_CLOCK ; +} + +#endif /* __ASM_ARM_ARCH_CLK_H__ */
include/atmel_lcdc.h new file +177 -0
177 lines not on this page · raw message
include/lcd.h +29 -1
@@ -155,7 +155,35 @@ typedef struct vidinfo { u_char vl_bpix; /* Bits per pixel, 0 = 1 */ } vidinfo_t; -#endif /* CONFIG_MPC823, CONFIG_PXA250 or CONFIG_MCC200 */ + +#elif defined(CONFIG_ATMEL_LCD) + +typedef struct vidinfo { +u_long vl_col;/* Number of columns (i.e. 640) */ +u_long vl_row;/* Number of rows (i.e. 480) */ +u_long vl_clk;/* pixel clock in ps */ + +/* LCD configuration register */ +u_long vl_sync;/* Horizontal / vertical sync */ +u_long vl_bpix;/* Bits per pixel, 0 = 1, 1 = 2, 2 = 4, 3 = 8, 4 = 16 */ +u_long vl_tft;/* 0 = passive, 1 = TFT */ + +/* Horizontal control register. */ +u_long vl_hsync_len;/* Length of horizontal sync */ +u_long vl_left_margin;/* Time from sync to picture */ +u_long vl_right_margin;/* Time from picture to sync */ + +/* Vertical control register. */ +u_long vl_vsync_len;/* Length of vertical sync */ +u_long vl_upper_margin;/* Time from sync to picture */ +u_long vl_lower_margin;/* Time from picture to sync */ + +u_long mmio;/* Memory mapped registers */ +}vidinfo_t ; + +extern vidinfo_t panel_info; + +#endif /* CONFIG_MPC823, CONFIG_PXA250 or CONFIG_MCC200 or CONFIG_ATMEL_LCD */ /* Video functions */
lib_arm/board.c +27 -10
@@ -121,6 +121,20 @@ void *sbrk (ptrdiff_t increment)return ((void *) old); } +char *strmhz (char *buf,long hz) +{ +long l, n; +long m; + + n = hz /1000000L ; + l =sprintf (buf,"%ld" , n); + m = (hz %1000000L ) /1000L ; +if (m !=0 ) +sprintf (buf + l,".%03ld" , m); +return (buf); +} + +/************************************************************************ * Coloured LED functionality ************************************************************************
@@ -325,16 +339,19 @@ void start_armboot (void)#endif /* CONFIG_VFD */ #ifdef CONFIG_LCD -# ifndef PAGE_SIZE -# define PAGE_SIZE 4096 -# endif -/* -* reserve memory for LCD display (always full pages) -*/ -/* bss_end is defined in the board-specific linker script */ - addr = (_bss_end + (PAGE_SIZE -1 )) & ~(PAGE_SIZE -1 ); - size =lcd_setmem (addr); - gd->fb_base = addr; +/* board init may have inited fb_base */ +if (!gd->fb_base) { +# ifndef PAGE_SIZE +# define PAGE_SIZE 4096 +# endif +/* +* reserve memory for LCD display (always full pages) +*/ +/* bss_end is defined in the board-specific linker script */ + addr = (_bss_end + (PAGE_SIZE -1 )) & ~(PAGE_SIZE -1 ); + size =lcd_setmem (addr); + gd->fb_base = addr; + }#endif /* CONFIG_LCD */ /* armboot_start is defined in the board-specific linker script */
Signature · 1 line
1.5.3.3
PATCH 15/21 AT91CAP9ADK: hook up the ATMEL LCD driver
In reply to Stelian Pop--- board/atmel/at91cap9adk/at91cap9adk.c | 64 +++++++++++++++++++++++++++++++++ include/configs/at91cap9adk.h | 13 +++++++ 2 files changed, 77 insertions(+), 0 deletions(-)
board/atmel/at91cap9adk/at91cap9adk.c +64 -0
@@ -30,6 +30,8 @@#include <asm/arch/at91_rstc.h> #include <asm/arch/gpio.h> #include <asm/arch/io.h> +#include <lcd.h> +#include <atmel_lcdc.h> #if defined(CONFIG_RESET_PHY_R ) && defined(CONFIG_MACB )#include <net.h> #endif
@@ -233,6 +235,65 @@ static void at91cap9_uhp_hw_init(void) }#endif +#ifdef CONFIG_LCD +vidinfo_t panel_info = { + vl_col:240 , + vl_row:320 , + vl_clk:4965000 , + vl_sync:ATMEL_LCDC_INVLINE_INVERTED | +ATMEL_LCDC_INVFRAME_INVERTED , + vl_bpix:3 , + vl_tft:1 , + vl_hsync_len:5 , + vl_left_margin:1 , + vl_right_margin:33 , + vl_vsync_len:1 , + vl_upper_margin:1 , + vl_lower_margin:0 , + mmio:AT91CAP9_LCDC_BASE , +}; + +void lcd_enable (void ) +{ +at91_set_gpio_value (AT91_PIN_PC0 ,0 );/* power up */ +} + +void lcd_disable (void ) +{ +at91_set_gpio_value (AT91_PIN_PC0 ,1 );/* power down */ +} + +static void at91cap9_lcd_hw_init (void ) +{ +at91_set_A_periph (AT91_PIN_PC1 ,0 );/* LCDHSYNC */ +at91_set_A_periph (AT91_PIN_PC2 ,0 );/* LCDDOTCK */ +at91_set_A_periph (AT91_PIN_PC3 ,0 );/* LCDDEN */ +at91_set_B_periph (AT91_PIN_PB9 ,0 );/* LCDCC */ +at91_set_A_periph (AT91_PIN_PC6 ,0 );/* LCDD2 */ +at91_set_A_periph (AT91_PIN_PC7 ,0 );/* LCDD3 */ +at91_set_A_periph (AT91_PIN_PC8 ,0 );/* LCDD4 */ +at91_set_A_periph (AT91_PIN_PC9 ,0 );/* LCDD5 */ +at91_set_A_periph (AT91_PIN_PC10 ,0 );/* LCDD6 */ +at91_set_A_periph (AT91_PIN_PC11 ,0 );/* LCDD7 */ +at91_set_A_periph (AT91_PIN_PC14 ,0 );/* LCDD10 */ +at91_set_A_periph (AT91_PIN_PC15 ,0 );/* LCDD11 */ +at91_set_A_periph (AT91_PIN_PC16 ,0 );/* LCDD12 */ +at91_set_A_periph (AT91_PIN_PC17 ,0 );/* LCDD13 */ +at91_set_A_periph (AT91_PIN_PC18 ,0 );/* LCDD14 */ +at91_set_A_periph (AT91_PIN_PC19 ,0 );/* LCDD15 */ +at91_set_A_periph (AT91_PIN_PC22 ,0 );/* LCDD18 */ +at91_set_A_periph (AT91_PIN_PC23 ,0 );/* LCDD19 */ +at91_set_A_periph (AT91_PIN_PC24 ,0 );/* LCDD20 */ +at91_set_A_periph (AT91_PIN_PC25 ,0 );/* LCDD21 */ +at91_set_A_periph (AT91_PIN_PC26 ,0 );/* LCDD22 */ +at91_set_A_periph (AT91_PIN_PC27 ,0 );/* LCDD23 */ + +at91_sys_write (AT91_PMC_PCER ,1 <<AT91CAP9_ID_LCDC ); + + gd->fb_base =0 ; +} +#endif +int board_init (void ) {/* Enable Ctrlc */
@@ -257,6 +318,9 @@ int board_init(void)#ifdef CONFIG_USB_OHCI_NEW at91cap9_uhp_hw_init ();#endif +#ifdef CONFIG_LCD +at91cap9_lcd_hw_init (); +#endif return 0 ; }
include/configs/at91cap9adk.h +13 -0
@@ -28,6 +28,7 @@#define __CONFIG_H/* ARM asynchronous clock */ +#define AT91_CPU_NAME "AT91CAP9"#define AT91_MAIN_CLOCK 200000000/* from 12 MHz crystal */ #define AT91_MASTER_CLOCK 100000000/* peripheral = main / 2 */ #define CFG_HZ 1000000/* 1us resolution */
@@ -55,6 +56,18 @@#undef CONFIG_USART2#define CONFIG_USART3 1/* USART 3 is DBGU */ +/* LCD */ +#define CONFIG_LCD 1 +#define LCD_BPP LCD_COLOR8 +#define CONFIG_LCD_LOGO 1 +#undef LCD_TEST_PATTERN +#define CONFIG_LCD_INFO 1 +#define CONFIG_LCD_INFO_BELOW_LOGO 1 +#define CFG_WHITE_ON_BLACK 1 +#define CONFIG_ATMEL_LCD 1 +#define CONFIG_ATMEL_LCD_BGR555 1 +#define CFG_CONSOLE_IS_IN_ENV 1 +#define CONFIG_BOOTDELAY 3/* #define CONFIG_ENV_OVERWRITE 1 */
Signature · 1 line
1.5.3.3
PATCH 16/21 AT91SAM9261EK: hook up the ATMEL LCD driver
In reply to Stelian Pop--- board/atmel/at91sam9261ek/at91sam9261ek.c | 64 +++++++++++++++++++++++++++++ include/configs/at91sam9261ek.h | 13 ++++++ 2 files changed, 77 insertions(+), 0 deletions(-)
board/atmel/at91sam9261ek/at91sam9261ek.c +64 -0
@@ -30,6 +30,8 @@#include <asm/arch/at91_rstc.h> #include <asm/arch/gpio.h> #include <asm/arch/io.h> +#include <lcd.h> +#include <atmel_lcdc.h> #if defined(CONFIG_RESET_PHY_R ) && defined(CONFIG_DRIVER_DM9000 )#include <net.h> #endif
@@ -150,6 +152,65 @@ static void at91sam9261ek_dm9000_hw_init(void) }#endif +#ifdef CONFIG_LCD +vidinfo_t panel_info = { + vl_col:240 , + vl_row:320 , + vl_clk:4965000 , + vl_sync:ATMEL_LCDC_INVLINE_INVERTED | +ATMEL_LCDC_INVFRAME_INVERTED , + vl_bpix:3 , + vl_tft:1 , + vl_hsync_len:5 , + vl_left_margin:1 , + vl_right_margin:33 , + vl_vsync_len:1 , + vl_upper_margin:1 , + vl_lower_margin:0 , + mmio:AT91SAM9261_LCDC_BASE , +}; + +void lcd_enable (void ) +{ +at91_set_gpio_value (AT91_PIN_PA12 ,0 );/* power up */ +} + +void lcd_disable (void ) +{ +at91_set_gpio_value (AT91_PIN_PA12 ,1 );/* power down */ +} + +static void at91sam9261ek_lcd_hw_init (void ) +{ +at91_set_A_periph (AT91_PIN_PB1 ,0 );/* LCDHSYNC */ +at91_set_A_periph (AT91_PIN_PB2 ,0 );/* LCDDOTCK */ +at91_set_A_periph (AT91_PIN_PB3 ,0 );/* LCDDEN */ +at91_set_A_periph (AT91_PIN_PB4 ,0 );/* LCDCC */ +at91_set_A_periph (AT91_PIN_PB7 ,0 );/* LCDD2 */ +at91_set_A_periph (AT91_PIN_PB8 ,0 );/* LCDD3 */ +at91_set_A_periph (AT91_PIN_PB9 ,0 );/* LCDD4 */ +at91_set_A_periph (AT91_PIN_PB10 ,0 );/* LCDD5 */ +at91_set_A_periph (AT91_PIN_PB11 ,0 );/* LCDD6 */ +at91_set_A_periph (AT91_PIN_PB12 ,0 );/* LCDD7 */ +at91_set_A_periph (AT91_PIN_PB15 ,0 );/* LCDD10 */ +at91_set_A_periph (AT91_PIN_PB16 ,0 );/* LCDD11 */ +at91_set_A_periph (AT91_PIN_PB17 ,0 );/* LCDD12 */ +at91_set_A_periph (AT91_PIN_PB18 ,0 );/* LCDD13 */ +at91_set_A_periph (AT91_PIN_PB19 ,0 );/* LCDD14 */ +at91_set_A_periph (AT91_PIN_PB20 ,0 );/* LCDD15 */ +at91_set_B_periph (AT91_PIN_PB23 ,0 );/* LCDD18 */ +at91_set_B_periph (AT91_PIN_PB24 ,0 );/* LCDD19 */ +at91_set_B_periph (AT91_PIN_PB25 ,0 );/* LCDD20 */ +at91_set_B_periph (AT91_PIN_PB26 ,0 );/* LCDD21 */ +at91_set_B_periph (AT91_PIN_PB27 ,0 );/* LCDD22 */ +at91_set_B_periph (AT91_PIN_PB28 ,0 );/* LCDD23 */ + +at91_sys_write (AT91_PMC_SCER ,AT91_PMC_HCK1 ); + + gd->fb_base =AT91SAM9261_SRAM_BASE ; +} +#endif +int board_init (void ) {/* Enable Ctrlc */
@@ -170,6 +231,9 @@ int board_init(void)#ifdef CONFIG_DRIVER_DM9000 at91sam9261ek_dm9000_hw_init ();#endif +#ifdef CONFIG_LCD +at91sam9261ek_lcd_hw_init (); +#endif return 0 ; }
include/configs/at91sam9261ek.h +13 -0
@@ -28,6 +28,7 @@#define __CONFIG_H/* ARM asynchronous clock */ +#define AT91_CPU_NAME "AT91SAM9261"#define AT91_MAIN_CLOCK 198656000/* from 18.432 MHz crystal */ #define AT91_MASTER_CLOCK 99328000/* peripheral = main / 2 */ #define CFG_HZ 1000000/* 1us resolution */
@@ -55,6 +56,18 @@#undef CONFIG_USART2#define CONFIG_USART3 1/* USART 3 is DBGU */ +/* LCD */ +#define CONFIG_LCD 1 +#define LCD_BPP LCD_COLOR8 +#define CONFIG_LCD_LOGO 1 +#undef LCD_TEST_PATTERN +#define CONFIG_LCD_INFO 1 +#define CONFIG_LCD_INFO_BELOW_LOGO 1 +#define CFG_WHITE_ON_BLACK 1 +#define CONFIG_ATMEL_LCD 1 +#define CONFIG_ATMEL_LCD_BGR555 1 +#define CFG_CONSOLE_IS_IN_ENV 1 +#define CONFIG_BOOTDELAY 3/* #define CONFIG_ENV_OVERWRITE 1 */
Signature · 1 line
1.5.3.3
PATCH 17/21 AT91SAM9263EK: hook up the ATMEL LCD driver
In reply to Stelian Pop--- board/atmel/at91sam9263ek/at91sam9263ek.c | 65 +++++++++++++++++++++++++++++ include/configs/at91sam9263ek.h | 13 ++++++ 2 files changed, 78 insertions(+), 0 deletions(-)
board/atmel/at91sam9263ek/at91sam9263ek.c +65 -0
@@ -23,6 +23,7 @@*/ #include <common.h> +#include <asm/sizes.h> #include <asm/arch/at91sam9263.h> #include <asm/arch/at91sam9263_matrix.h> #include <asm/arch/at91sam926x_mc.h>
@@ -30,6 +31,8 @@#include <asm/arch/at91_rstc.h> #include <asm/arch/gpio.h> #include <asm/arch/io.h> +#include <lcd.h> +#include <atmel_lcdc.h> #if defined(CONFIG_RESET_PHY_R ) && defined(CONFIG_MACB )#include <net.h> #endif
@@ -193,6 +196,65 @@ static void at91sam9263ek_uhp_hw_init(void) }#endif +#ifdef CONFIG_LCD +vidinfo_t panel_info = { + vl_col:240 , + vl_row:320 , + vl_clk:4965000 , + vl_sync:ATMEL_LCDC_INVLINE_INVERTED | +ATMEL_LCDC_INVFRAME_INVERTED , + vl_bpix:3 , + vl_tft:1 , + vl_hsync_len:5 , + vl_left_margin:1 , + vl_right_margin:33 , + vl_vsync_len:1 , + vl_upper_margin:1 , + vl_lower_margin:0 , + mmio:AT91SAM9263_LCDC_BASE , +}; + +void lcd_enable (void ) +{ +at91_set_gpio_value (AT91_PIN_PA30 ,1 );/* power up */ +} + +void lcd_disable (void ) +{ +at91_set_gpio_value (AT91_PIN_PA30 ,0 );/* power down */ +} + +static void at91sam9263ek_lcd_hw_init (void ) +{ +at91_set_A_periph (AT91_PIN_PC1 ,0 );/* LCDHSYNC */ +at91_set_A_periph (AT91_PIN_PC2 ,0 );/* LCDDOTCK */ +at91_set_A_periph (AT91_PIN_PC3 ,0 );/* LCDDEN */ +at91_set_B_periph (AT91_PIN_PB9 ,0 );/* LCDCC */ +at91_set_A_periph (AT91_PIN_PC6 ,0 );/* LCDD2 */ +at91_set_A_periph (AT91_PIN_PC7 ,0 );/* LCDD3 */ +at91_set_A_periph (AT91_PIN_PC8 ,0 );/* LCDD4 */ +at91_set_A_periph (AT91_PIN_PC9 ,0 );/* LCDD5 */ +at91_set_A_periph (AT91_PIN_PC10 ,0 );/* LCDD6 */ +at91_set_A_periph (AT91_PIN_PC11 ,0 );/* LCDD7 */ +at91_set_A_periph (AT91_PIN_PC14 ,0 );/* LCDD10 */ +at91_set_A_periph (AT91_PIN_PC15 ,0 );/* LCDD11 */ +at91_set_A_periph (AT91_PIN_PC16 ,0 );/* LCDD12 */ +at91_set_B_periph (AT91_PIN_PC12 ,0 );/* LCDD13 */ +at91_set_A_periph (AT91_PIN_PC18 ,0 );/* LCDD14 */ +at91_set_A_periph (AT91_PIN_PC19 ,0 );/* LCDD15 */ +at91_set_A_periph (AT91_PIN_PC22 ,0 );/* LCDD18 */ +at91_set_A_periph (AT91_PIN_PC23 ,0 );/* LCDD19 */ +at91_set_A_periph (AT91_PIN_PC24 ,0 );/* LCDD20 */ +at91_set_B_periph (AT91_PIN_PC17 ,0 );/* LCDD21 */ +at91_set_A_periph (AT91_PIN_PC26 ,0 );/* LCDD22 */ +at91_set_A_periph (AT91_PIN_PC27 ,0 );/* LCDD23 */ + +at91_sys_write (AT91_PMC_PCER ,1 <<AT91SAM9263_ID_LCDC ); + + gd->fb_base =AT91SAM9263_SRAM0_BASE ; +} +#endif +int board_init (void ) {/* Enable Ctrlc */
@@ -216,6 +278,9 @@ int board_init(void)#ifdef CONFIG_USB_OHCI_NEW at91sam9263ek_uhp_hw_init ();#endif +#ifdef CONFIG_LCD +at91sam9263ek_lcd_hw_init (); +#endif return 0 ; }
include/configs/at91sam9263ek.h +13 -0
@@ -28,6 +28,7 @@#define __CONFIG_H/* ARM asynchronous clock */ +#define AT91_CPU_NAME "AT91SAM9263"#define AT91_MAIN_CLOCK 199919000/* from 16.367 MHz crystal */ #define AT91_MASTER_CLOCK 99959500/* peripheral = main / 2 */ #define CFG_HZ 1000000/* 1us resolution */
@@ -55,6 +56,18 @@#undef CONFIG_USART2#define CONFIG_USART3 1/* USART 3 is DBGU */ +/* LCD */ +#define CONFIG_LCD 1 +#define LCD_BPP LCD_COLOR8 +#define CONFIG_LCD_LOGO 1 +#undef LCD_TEST_PATTERN +#define CONFIG_LCD_INFO 1 +#define CONFIG_LCD_INFO_BELOW_LOGO 1 +#define CFG_WHITE_ON_BLACK 1 +#define CONFIG_ATMEL_LCD 1 +#define CONFIG_ATMEL_LCD_BGR555 1 +#define CFG_CONSOLE_IS_IN_ENV 1 +#define CONFIG_BOOTDELAY 3/* #define CONFIG_ENV_OVERWRITE 1 */
Signature · 1 line
1.5.3.3
PATCH 18/21 AT91SAM9RLEK: hook up the ATMEL LCD driver
In reply to Stelian Pop--- board/atmel/at91sam9rlek/at91sam9rlek.c | 63 +++++++++++++++++++++++++++++++ include/configs/at91sam9rlek.h | 13 ++++++ 2 files changed, 76 insertions(+), 0 deletions(-)
board/atmel/at91sam9rlek/at91sam9rlek.c +63 -0
@@ -30,6 +30,8 @@#include <asm/arch/at91_rstc.h> #include <asm/arch/gpio.h> #include <asm/arch/io.h> +#include <lcd.h> +#include <atmel_lcdc.h> #if defined(CONFIG_RESET_PHY_R ) && defined(CONFIG_MACB )#include <net.h> #endif
@@ -124,6 +126,64 @@ static void at91sam9rlek_spi_hw_init(void) }#endif +#ifdef CONFIG_LCD +vidinfo_t panel_info = { + vl_col:240 , + vl_row:320 , + vl_clk:4965000 , + vl_sync:ATMEL_LCDC_INVLINE_INVERTED | +ATMEL_LCDC_INVFRAME_INVERTED , + vl_bpix:3 , + vl_tft:1 , + vl_hsync_len:5 , + vl_left_margin:1 , + vl_right_margin:33 , + vl_vsync_len:1 , + vl_upper_margin:1 , + vl_lower_margin:0 , + mmio:AT91SAM9RL_LCDC_BASE , +}; + +void lcd_enable (void ) +{ +at91_set_gpio_value (AT91_PIN_PA30 ,0 );/* power up */ +} + +void lcd_disable (void ) +{ +at91_set_gpio_value (AT91_PIN_PA30 ,1 );/* power down */ +} +static void at91sam9rlek_lcd_hw_init (void ) +{ +at91_set_B_periph (AT91_PIN_PC1 ,0 );/* LCDPWR */ +at91_set_A_periph (AT91_PIN_PC5 ,0 );/* LCDHSYNC */ +at91_set_A_periph (AT91_PIN_PC6 ,0 );/* LCDDOTCK */ +at91_set_A_periph (AT91_PIN_PC7 ,0 );/* LCDDEN */ +at91_set_A_periph (AT91_PIN_PC3 ,0 );/* LCDCC */ +at91_set_B_periph (AT91_PIN_PC9 ,0 );/* LCDD3 */ +at91_set_B_periph (AT91_PIN_PC10 ,0 );/* LCDD4 */ +at91_set_B_periph (AT91_PIN_PC11 ,0 );/* LCDD5 */ +at91_set_B_periph (AT91_PIN_PC12 ,0 );/* LCDD6 */ +at91_set_B_periph (AT91_PIN_PC13 ,0 );/* LCDD7 */ +at91_set_B_periph (AT91_PIN_PC15 ,0 );/* LCDD11 */ +at91_set_B_periph (AT91_PIN_PC16 ,0 );/* LCDD12 */ +at91_set_B_periph (AT91_PIN_PC17 ,0 );/* LCDD13 */ +at91_set_B_periph (AT91_PIN_PC18 ,0 );/* LCDD14 */ +at91_set_B_periph (AT91_PIN_PC19 ,0 );/* LCDD15 */ +at91_set_B_periph (AT91_PIN_PC20 ,0 );/* LCDD18 */ +at91_set_B_periph (AT91_PIN_PC21 ,0 );/* LCDD19 */ +at91_set_B_periph (AT91_PIN_PC22 ,0 );/* LCDD20 */ +at91_set_B_periph (AT91_PIN_PC23 ,0 );/* LCDD21 */ +at91_set_B_periph (AT91_PIN_PC24 ,0 );/* LCDD22 */ +at91_set_B_periph (AT91_PIN_PC25 ,0 );/* LCDD23 */ + +at91_sys_write (AT91_PMC_PCER ,1 <<AT91SAM9RL_ID_LCDC ); + + gd->fb_base =0 ; +} +#endif + +int board_init (void ) {/* Enable Ctrlc */
@@ -141,6 +201,9 @@ int board_init(void)#ifdef CONFIG_HAS_DATAFLASH at91sam9rlek_spi_hw_init ();#endif +#ifdef CONFIG_LCD +at91sam9rlek_lcd_hw_init (); +#endif return 0 ; }
include/configs/at91sam9rlek.h +13 -0
@@ -28,6 +28,7 @@#define __CONFIG_H/* ARM asynchronous clock */ +#define AT91_CPU_NAME "AT91SAM9RL"#define AT91_MAIN_CLOCK 200000000/* from 12.000 MHz crystal */ #define AT91_MASTER_CLOCK 100000000/* peripheral = main / 2 */ #define CFG_HZ 1000000/* 1us resolution */
@@ -55,6 +56,18 @@#undef CONFIG_USART2#define CONFIG_USART3 1/* USART 3 is DBGU */ +/* LCD */ +#define CONFIG_LCD 1 +#define LCD_BPP LCD_COLOR8 +#define CONFIG_LCD_LOGO 1 +#undef LCD_TEST_PATTERN +#define CONFIG_LCD_INFO 1 +#define CONFIG_LCD_INFO_BELOW_LOGO 1 +#define CFG_WHITE_ON_BLACK 1 +#define CONFIG_ATMEL_LCD 1 +#define CONFIG_ATMEL_LCD_RGB565 1 +#define CFG_CONSOLE_IS_IN_ENV 1 +#define CONFIG_BOOTDELAY 3/* #define CONFIG_ENV_OVERWRITE 1 */
Signature · 1 line
1.5.3.3
PATCH 19/21 Use custom logo for Atmel boards
In reply to Stelian Pop--- tools/Makefile | 4 ++++ tools/logos/atmel.bmp | Bin 0 -> 26334 bytes 2 files changed, 4 insertions(+), 0 deletions(-) create mode 100644 tools/logos/atmel.bmp
tools/Makefile +4 -0
@@ -44,6 +44,10 @@ LOGO_H = $(OBJTREE)/include/bmp_logo.h ifeq ($(LOGO_BMP),) LOGO_BMP= logos/denx.bmp endif +ifeq ($(VENDOR),atmel) +LOGO_BMP= logos/atmel.bmp +endif + #-------------------------------------------------------------------------
tools/logos/atmel.bmp new file binary +0 -0
z&wsl7l(8TE-nW;}xc-dsfBTzHmmmJluPmQ_ at 0-g%{rMj(KVa;C|MOp#&wle4m%snx z-(CLaUw^{f&o6)d``=mq<L~}rR5<~$?}sw~LEfA|~AXW#qQ@>k#gwdJ$llaRH z|KTr}AOF#JmmmK2FE7WdEB?TJKx*qs+}W)ba(kVI=ee{2-?%h6%IL_<yWU59FGIj z)#);_8&iA)#N|60YiyEr74P8->e0DfudYOzat#uNnUXu}uohkpdtQfS*)K3q0lIrf z!-BUkMe;UblrV5~Ga8lX=E|8laa7G<WXgrL(rMKtfG$u$5zZh|BeSf9apDv=+KTQ z#O)|c(cQ&bVnX^k#1GOZQMei}>VsUNAUyJWnA^;q^-m16l2;Q*zG!thzbk4aDtNV zDe^NdQ{>Rqe)29v^$tyzX3-V|Wr|pER}6ot8t{dX=k$eAgn_g+#h3yp(+8-v$CZb} zet)Bmcoui>uZDliO1wl1dcY=8tjv|1z=~n31U7e=H}r=*Y<JSgewYBMw9$ZY!PI1e zWLYFVDQ7ju{^fU_FPCSg>wLpp=1<dI7g1~37eyi#H*@FcZY|U1Iw4?W91r0Z2J zmq8n#QAz=$o70;No;KI5&fA8mE1qLY!T6BH-UNxbTBin+tdiJ?F^yYR01^1;btVx! zp+6*dh7{U;hRnP=(rqrXt{^WA=NYa5Fx@eX~boO4;MkF9PymOOo}-{21n0TS>@A8 zcQbef%n#RMr4TSu~w{e+N7<oai!p=;&XTj0|>8aVkDtNX%6Ii at t}eo#_h!d^_q zjGp;afB(BD0N{%1py+Je$kJE!x53_&J3>nGlQc;*MTRGu{4X$ASp*hEO=y>nzqT{ z at Qg~Gd0_ at 8(!QSJyr)?0Q4sCPwUgmZy?V{jniscL!w!WIdraWt#j#)iiIyUek+z< zOf1y$+lnR8tXKo6L%y#d_PruZ62|fL%PZCpQ!z{e0 at Br1EMt|vRoVFE{psl%IiSMl zJN;XJ@-$ezOn>Um_0V125D4krCTf|cjl3+*S<X-Z28?472izoz941J_HP~w~7nZs2 zF{XJ+ABeJN!u)kQ6tY&Dux>(PypK at MFeY{74e9kY1ME&*49Pt;2s~Ivcq9xP(88m@ za+0+AwF~ODVrg?tl8P0?5f?7Y?s)+MvC#6?KY_fcSd^@YnTlmu(HgB-$`Wmd;G(o* z?RV6y-4UfvH#>aG4$OXpT$58-SyB?EP8ll<2T?ibF*j9xSjCFsdcdXFMLTRk0xO4% zM|OR#2 at pj0*^}q=g;24YQ#NKBR^7dKoYwK@(HBY|JVq{iFAWYZ%1S(eeP1)!smz<f z&gR+-)+@YX8}lg3Bu1+W41KIs2<es7_W{yi<tiCmL7+hDh|$$^jmDC2-JirEg~QLe zu^YPyzNNl9Yce4b$?<K@&yOJXceY?t}@2dh)qcK3$iw6%HDM}!zjvX>L66SV4gEL zjy;3qD64T|udJI)%U6!WmVpmw1%oh7-efQ$-&nn_-z9ys;YPL_Zq)XNBULQ&R~m#U z at JQj2*g9H0qk?+vuFqE*YslmB7<pW;8H_UVY+V{#4Jd36J+xqv4(oZ!*|$s<0u zH-ne4pO4nxo;To?HoA>Vba%#jDL)?r>HPX7$1{)QX6KkSKq~cS)$Wumyy|T&I z5WXf5={Um6PH=a}YgW0!w~@gG37z^$oXi$ED?wlZU4zLUuMq~2-0ZGmGH8>t%v$O| z7YzD1c)2>}*3dfTJwpby!2M0y(p=1EbK8vMo=ZBByffL%rF&<9(c5Iu#01pV00Vf z&b7kP#J-1kOcKF*@x;y2B$oc31>hVifP|L~^6k_<7s2pGY&(SoWOWa|V_jHm^|j}4 z-c;np4H|fbxH{iQ%6wE)A_WmLO!C3<cuG^)fp+%Lyz=zMGNJ@&%O#Rf%L_{XQs?o z_H)_r!@PXq=Usod*O4NUmXc0=%XlXyEOjB1}f<X7+S^2z(F6<IMBH)AM!{sj7K;0 zW2TGl6Pxu;o~O6~BLiY>QO-o|lt+)5e2>56n%P(S!ft}{q#+)Y|OkG%CUs_I<j^c zwgl3wq||cDItLlHc*}1qqy?KxVZ1G~x?29z^Da%0ff6Ln5rWVJq2{O5rsjsug(C1q zmnxKpHMs+5ZD!xdItl3Sc5e=WtDRAB_yh!D3PvAZE^^Z~YS^)|!!Yj*Q~*9a?jRd z>&}18dHnQTyHltaYI5I=R3CnaI)EiQ&gTH0|nvP%&vFOkIxNG>Z$8Bmj-pe?56JS zq@*6IAc#80r at L#JDvsh+#J>F8}Rm at dW@#Ma}Gmti8y?@^pFT3HJyoTFn3oe&n3C zwjjII9VTS!lm;rF1VS;G1?oN!CAPL?$1UG&m7r>#V|kFlTmkQ47R<~)lF^{KT#x{ z6USAMH&;Xy)+~xoD4lkv+C&fs*dMyHyj3C8qVlWuNjeI?D&QXZKrp~IZg*K$V)TC z>xE#EN#IgJ8XByx&hb_b9YzxXIaM(VF2^Q4Mng}@UCYn&^p9^@qvGM!#ZR*yYy^Z5 z<@k34n#WCu<;vnY1wYrH{VO}n!*Q&;FO$U^@Af-xY{e($lyy51x5}cODyEtP-f$ z*-WYdxjZ4WqtdEx$h3LxPmFXl0N}KHDh2FSI_<E0bYyM?W3_c7ZZ-;d2&ASRP&4?l znp?*w0WDMi0Ri>H<gbzK%3AegD*i0NnH<k+zuT!WJs2E!8wCfJoj&b)}>J~<|qiO zj2DiaZ|ejjY-&uXsjjjixw0Zu9)NheNQ;P2$hjX8HNtUia|)}kqINXzJonAX0vZE> zR!<u|Jbc)oj9IHF!m4RGuleR$v{1flbu at oz_$TT*QapQR@bQsNvW>-&c?@kz@$Va zo)zADk at WBcpb5NGUh9t$I)P#0cwpcC*T}Tboo}z&hea)P(odh4GKcEyb(KR<Ceg? z5rsk{2fS@?!%4l0xs at U|V7eKcKm+qV414x2${&_@k2l<HAgIb{Rb<i<4S~!!%9M)N ztov~2n~rm>Yaj}QZ?2)>CX$*l6FZ3YwRsZp;Dg>saRG6i;^q4t7_g6b18<K*I;G_ zlX^_-PB+vOuWuw8zLh#Ul_v7&+dL0gPnBSRH!>I+BGmeBi5e|7cid3KR_CUv&+#m_ zV3A+{vbUd68ifHFp*%8JCA2f6iP>DLyZ&vyF>aBHHMQtyR^8qE5Rp4mXHT$Cgpi5z zSw_6MZE20U7&N*XFGhm+3~Y3 at T*h?gCG^Uw@^(c$t+Ca21Cr=sbdQ+;k3>Ro5ZOJw z_J_PpWm8;;f`JuHKh#xYF<8lT8oo=Kg|crdUR~7LFlcGZCe0*|_G}SG5d<KARZ;x5 z2oR5HHYOTkssp@!k7|r+Cv?PUf<(Ltf|l;Tp0A|nKZVH>Q#RI7<2*p%fP+JPUNIZ8 ztHN0@R-E39>xO?xE_!di36W?(g2tz(CFVT8Wc5%&Nt)YXJ^3h~o*Wsu(U<dcZeO&0 z#dRU^gc;cDE>OfcTAy8?7Oxp}7y?g35?MLU%kaZE>kqyPmmKJ0R>+Q?DjQ_sFiP# zHCsQ;m^dJ=!lq2K~P)cSY685o$~%G at B&uW;W at GlkJfMC)BirjritT@?aD_eKSE! zB>kTIh49-0rB}%iQ-y($|piFay&jIRg7mNGEwO#&jAyvuCKVetB<1xs@Nz>YV|(4 zHg1#$<!-#&vZ^JSvb+Gz-<aVd8ZB{d%W~Z|_08>tVro?y%o1YlZm0vYU@^v^w;*R( zZ4|ZLrHyT9BDs;CXO7Tj3t}y??72xwu1+8H%n^Ozn>2Vj<6TPS=ocP1Z;a)#XBe4T zhhmP>dK2iCvhUDbn6eJSPfwyVX+gk3UmCq1z{@R=#ff2jfrbcNwUGULw(sfyYr#4 z{;dr&thL2g)eb;;)rZklSL1smcyEN3i!JsdHqwVg&PNYRjrCcQwIR9jyl3+dr?bBJ z7kwLbioz0J%@!5kfWRRjElgaLIND>|(B>i&Cuq?Z&zzaDd0cA*lb~@(Tw1>SU;EV zpDT<c>8X_2QOnTGdL{KYduKK<P%yyMwyEYh64?dk-<51cs9y@q>ASZ2Bjb&ClL*{ z0#w}j9#1qaS6EoPm2&&viPGXtU3#bO-_DuRh=Um)CWTZe9&^SPQHR0xi%e(l9Jf3 zejalT)MQLn*Fl-qkK^fpj$2zmqNl_}1>e6=id)Sws-|kERw*nmVNiKXd|rL-b^Zx# z5;Wt<5ys_f-gWI4tA#TVUX$doHrQ2Hfb73#S$JYIER>e4XGdk#Hk$6-G8;^3Swvh zV(k}!TO2vYJ*%+wtR at UDnbNo$a<IT#?ybi6_fgHVh<BqOoCv2YGFzZZgcy+{4%6p| zI@vhmHkGl2$kZ6QPC%5X$25La&b$88CpTucnpj$@<)QzNLY8c|$Af7?SqK4>!gK zH1GULrKtfRH~#X4^HsF;9pQ8bU<t*tXa*x<o^MDd#5sj6hS97Uj6})cY<AY?NIJ>@ zAZDAu{Clp-hE!S{(O|HidWMRx3oDV~Y+QRlcu-Rku~krH^s~|^Q^uWRCi)r*TvWS^ z$E>boY(rkop%9gS0bgV0D1nc^aF%JitO%&YA=)StE|N14pg9gv&!dn8A%44!aR7m z+eR8}CK!32h3LsYOFSQjmm=n6W at rUNEduw*Wr&~4D-dV$gfu8$9QhNQWnTM6%YZ# zs7h!;K_Y)p*<Y@%b%K7*GaOdztI_e0MqpXwLyKMTzq}k;izDtP{>4?o6o#i0;o}i zJdngShPf6Qe3+SAiB^d7tFii0uavT$Xh=lgobNT_kadFKP^aS9-X>@(bqcuh_zTfg zGRCKABR-THFTS|z-R_4;jFmgTwH3KX2=o&VhKgDrl##;WDb80|%q0nknZf3-^_jIv zG2M&1l4A~P9DW30NkJ+B!g#|AHE)z92sOB#%^BGPoxkW{5-DXYF|qk#B{ws#o4)Rn z3%_2$jJmW=idPbEns+qlbR^-WP1lNrS-n4^5$nRV)ui)EaMrOOc{5T7P*(ag2;LH& zHdwQ449pQr9y?%oLPu5u&Z>vhXJg~Ayxm+<-h{6aBA29&^-4taY5}5;EJ<ytQCIE} zQw19Bqh3WQ-^6ALGh}ZUd4f1skTN&nwVP4svKZs4a&uoS*;+$!hFoFxu$->JIRk4 zZ<==OyqJlFK^Z;STHpa1C5H6-%QiYBrEeIHJa_S6rE&$uI_U-pD47_=;L#2S~KV zaHvTeI%^~dJ%Wtr<Jk{h^1Q)7fA~Ox7if4fjJhm7yajt}5*ovb9wNvf((?{%{X2rJ zY}R^p-bz@m>Ep;8cncKTi~U>G?9c^>y^Je9Y(fJu|lls9dTl6ZDVVE&59-Qy(jJq zWyggn{1M;^pn*?r?}#+K6XJw7J4&CaLFjc6F;#m?Y(6Rkc7C=mG<ZUKp%MNVq) zIZ#>Vr~-yfpzTk|sPBf5@%Pf^!vbI0Sxp5Gkf30Y7{1jMg~hO7i43-3sqRRjr`TI zG=r4c)+ at huUaKO$p)^3~Fd_4q!Cv&AD-z-Oz4a=pN06uugN(maVYMJ3entr*l0bBU z3Qz+FzR@>wCQ+G>4$*hI)n$MTeSOl*RU$TeV+L>MLZJoVAP*L3G(K#b3=RuTpdCnI z6L!=qIbmc?8-BRw0jio!mNis<_gz@k2>_A8^4?}};#rEAp^Wg9M}@uH!D!5y!98!# zDK*o{wSYuJ-jp~T2S~P<&_fKOQL)Wnrd*Pe!%TPvRpva1x;Rk2O#2T%#OyBQHKhbz z29+66iRV!0#ZV&ANIe<aW(JpChSoRGvPU{l2v7w3Bn~7h9z3Ic^LJCysu~If_^y za^P3NLV+ZYQWuDikw*|jFya)0k6`L2DBOQFx<rY1MQA80swo_yGCJ=Uh9Ou6T#SZF zqWV%Fjdzac9XEvB7ciM!A^}i2aAj_dRo9JCIVy<6qi#F*kVgD{5Cqo7sL^L&Cb&Tv zTS-KbMI@S{#tt!q;#senzg%evYtWDhDYc6hP-ia&NDR%_3>bW_)fED#LV$%5e*AKm z4b%$R#{yVbEaT!KYOXXIEnn(Dyl8om!MZ#L6LcK*fCr3_I{E94FdMzoCVy3l1~Co- z#Jk5_@@7YIR}j&$gZ0v;FyvO(o3>}LCe8tX0S#Xc32g9N#}w*Wf!m!-Vk}#?l9R z0pt3~8wN9;o1=-dILC7rPlHIQab at s^NO);66fh2gM}!+4G52tSr+gJUs51*a%L+ zM at o-_Tq2=DRZP&>#U6Biu3Q7gCmlwU;Tr{_hY<xZeE8N!hh<QPEti#Ajc3I&e|vjT z%)U3rz)qM(TI=x{L|}NIuJ{_;J<Z<&C4GI~4z0~_&qMTk=wCRLW7hIUoQZl05q+lp z(37<~aKP_(frL=jtVF-{p<Q|z0!80VhOT7&48V--6W8FyWbDT#9;ZH2mb0FtoK2 z%3gq47!$rwxqBvh-{6;66t-cqsaObXy~;KKAE{{3-TjvelpCzrf;VO(tB+XIGNING zkDKVRIzZWf2Z&Jou@upHw;9N?qglLYtyt8tIOM)HcTv_6;6B!Db!y*}!3fpoIi$^C zqJ6OI;cT9neq+ZF@>QcB?6Ea!*?Yf{)uEx7KJrU7-EFVIBD^cV<Qe0#XyN+I(?G zV)Xsc$kX&aNsS<6HwOsSXxVFD at 6?0@i>?XX)5^4UEgR%Ur#YXKnu3rphX5rQL#L z^86+ at G#dk;^t*UiIP5bHh*9*#3SQ2pKARj*atmx;Dvh9g+JtNVhB*_MR}1 at uMxkuO z5R6{tZ>BtRh(VN_c+o^Np!o$zkk+ at D6~{85h2Rv)<6A}n;MPoEKPrFC&D4SqqJ$QU zB+(5#RPm at _C^|JWST$YP{Ef%7O|8R(W*^N_V-AIZh#3POt6hT3CHeH|6sB4@7;a5+ zY<WxubHK^7lbGURZ~5jGrGPJ1Dvzz7<)&GqZ)Rkog$;HCH=WE(4<i&N?9k?&2-@>o zC9snx1L6+IW<|OP1U>o^c<21B42T)uAc(2;uy&^W1{ERjMik7<U_Nlz>Qz)#!xHy zi(V3@(P;*2oOS=rl%Z=ZI%*iM8LS!_X9WrQj)s)2CEjYXkB8s&vTJ-zz;#-AN@| z4jtwtNu%87Fsraus+I%@nxP5KWZM@^smA1F1cx1LXc+>R2%ZjFNye41k?;~sL$Qz z59AH(Y~xBP)*0wqwlElV0yU*O-Q!0w at zLw;wZ}wZxjiu)z%3f0J(^$2!C_$FXg5 zhWvfT7_pgbDL5CmK(@;uj-ug;6?{gL{56HeL^h4lzCaFT;n?(Ms%GxGC1M^vkB0V z!O$hGCJ<r;1@t?-FemtI)}rv{IbMb9mO>HSo_SwO#Hni-u5-VYxsyhxFXY5k)Y%N zn5oCTy=M9v&>v%SjFt at Ilc3QRxXXj1TTh}qC5N7#OkBm@$pyYk#As8pqjsle?su7 zd#sEXpagTkj)~xdbR)jEOF}<bAuE&KkEKy4FaTm+dmXgFwv}7$u$)4SJldQu2{@j znNq|v$1HN^(8Ax^jG_6_vzsES8!DtQ@<A=X1eq)PX|~5Y+U7*|_V)`+DyAjRM?kUg zs>cI6xp8=+s(>ijTCvF9bwf?<aB7rA*{;n#TJvWU>(J;ZTtGd&@gu&hp5^F!0dlc4 z6)Th)3NiQ{R4ZgFmIaNoOeB1uo|DX7^YE6XuTG3iBaCpQ5{}l2m0O;<qpnlw5UX=w z{k*{j_(PacvD8=Qp55Z9mG*XrMX^>y9U%sddnabg7Xzmj5C0 at OQR^drzamsa2HARU zq=woy8EiZ!y0W0F;$SSlG0vFHGd6*BwARQUS3HyHEs(Kbe3-$FG?qn~nZNJ~4HAAy z|Ki~N8|$6FrnBbfe1(5w0%eWwhysrgJ{@IbHU#i*L=x|FY<}Y2Yh$Mxkm;w>GXN+J z0okC;75P*vvqUzKv;Q*EnQ7e=PK9|?tACf}>%#Dg*bxq)jJeU|=Vb1LI12J}PC4$_ zId at +Bf1KQE*U!6Z;O=(MDEdT*w-JJDQMOC12WT6vF^-3|5R42)M9&A0Zq_SbUwdk4 z at UW)ZG#~5x2XdPhXM5aP@~2zz>1O(cT at nItzNYbvC_cA<G%{Ya)URJrpIL)xR$1^f zeZQx)X<l6nZ00VzK4_z<_I5%1p!zm5I0nD&eK8h#oOL00TM4JKhnGW}kxQ{8W|AON zJ_2GR9kM}OxfNZiklu#4a~(QI#T6m^?KzV_%WT?=*z>^}<6Gu;Fz*=vYY}&N)Vac z->Ok0LYh at Ih*=zMBf7w%8H~p1{a~BXE)8E*OefRc0332R(r6>jIjMV6-WYlV^pdXP z4B-^mEP7e1T39#rdn-bV4!O>jX}S_euG&IV(8M58fejT&BZxsR60o{xqs$wtY}5 zyN!|s9hSeQ5{-*JUB&4J-;@(NVFMPXKrEX=3dUZ*iZ*-)d1dJ;wPZF!h@)PfepV zHSNS-SImhAeG(Vfz at HZZEy#JE{qRtC>!2i(Lt(7g5m9-Yr8PK_*3SWw%1MHO~&qh z(vg3dt4H%3v{J8ntzDhW>9G6%n0?uYxD@$wD+r_Kq1!!<p&U;b<(+WbkkZHP{4H$6 z%0}+S_K<*HBj9j&<9Qz)v_6UAKDV~OdIIq225)Hn@Kyt|c(#IkG0IcaK~EQ{8HqGn z?$7F)jJU&dkXv<mV249i(N$++f8{^1M1K0{<$<bNn3s3BoAIW_Zyvu|jldya9;&N! z*;YTyeJma&R!xpqqbV*wkMnPK)pwqFtIFTuZW8S)AI}l+@&0A=IxHWcsCVIRZ?8^k z20zljIVOIMZ_ZNYbDQ+aW$>f&*K-?ZvS;I- at M5q0%BOKM_;LQ_Xq$+B-v at V=t5+wS zE9oQa^Qh(C_*=2gd;2S)w;B96|E_!2d#O~fRN#L$L+tbt-kNP%Nd=A#$Wj&bs-=H z=gY<Op1)pUOL~>I-&tWEwI8kVygxj7!fnZrZC>luWDC49 at t@1dW+w$c$@pGwJ+;m izA4NR>mof~feTIyc>?!9zh02N;qm(wYwW<Q4*w6N*nmL*
literal 0
HcmV?d00001
Signature · 1 line
1.5.3.3
PATCH 20/21 Support AT91CAP9 revC CPUs
In reply to Stelian Pop--- board/atmel/at91cap9adk/at91cap9adk.c | 28 ++++++++++++++++++++++++++++ include/asm-arm/arch-at91sam9/at91_pmc.h | 5 +++++ include/asm-arm/arch-at91sam9/at91cap9.h | 14 +++++++++++++- 3 files changed, 46 insertions(+), 1 deletions(-)
board/atmel/at91cap9adk/at91cap9adk.c +28 -0
@@ -72,6 +72,33 @@ static void at91cap9_serial_hw_init(void)#endif } +static void at91cap9_slowclock_hw_init (void ) +{ +/* +* On AT91CAP9 revC CPUs, the slow clock can be based on an +* internal impreciseRC oscillator or an external 32kHz oscillator. +* Switch to the latter. +*/ +#define ARCH_ID_AT91CAP9_REVB 0x399 +#define ARCH_ID_AT91CAP9_REVC 0x601 +if (at91_sys_read (AT91_PMC_VER ) ==ARCH_ID_AT91CAP9_REVC ) { +unsigned i, tmp =at91_sys_read (AT91_SCKCR ); +if ((tmp &AT91CAP9_SCKCR_OSCSEL ) ==AT91CAP9_SCKCR_OSCSEL_RC ) { +extern void timer_init (void ); +timer_init (); + tmp |=AT91CAP9_SCKCR_OSC32EN ; +at91_sys_write (AT91_SCKCR , tmp); +for (i =0 ; i <1200 ; i++) +udelay (1000 ); + tmp |=AT91CAP9_SCKCR_OSCSEL_32 ; +at91_sys_write (AT91_SCKCR , tmp); +udelay (200 ); + tmp &= ~AT91CAP9_SCKCR_RCEN ; +at91_sys_write (AT91_SCKCR , tmp); + } + } +} +static void at91cap9_nor_hw_init (void ) {unsigned long csa;
@@ -305,6 +332,7 @@ int board_init(void) gd->bd->bi_boot_params =PHYS_SDRAM +0x100 ;at91cap9_serial_hw_init (); +at91cap9_slowclock_hw_init ();at91cap9_nor_hw_init ();#ifdef CONFIG_CMD_NAND at91cap9_nand_hw_init ();
include/asm-arm/arch-at91sam9/at91_pmc.h +5 -0
@@ -96,4 +96,9 @@#define AT91_PMC_PCK3RDY (1 << 11)/* Programmable Clock 3 */ #define AT91_PMC_IMR (AT91_PMC + 0x6c)/* Interrupt Mask Register */ +#define AT91_PMC_PROT (AT91_PMC + 0xe4)/* Protect Register [AT91CAP9 revC only] */ +#define AT91_PMC_PROTKEY 0x504d4301/* Activation Code */ + +#define AT91_PMC_VER (AT91_PMC + 0xfc)/* PMC Module Version [AT91CAP9 only] */ +#endif
include/asm-arm/arch-at91sam9/at91cap9.h +13 -1
@@ -101,13 +101,25 @@#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_SCKCR (0xfffffd50 - AT91_BASE_SYS) +#define AT91_GPBR_REVB (0xfffffd50 - AT91_BASE_SYS) +#define AT91_GPBR_REVC (0xfffffd60 - AT91_BASE_SYS)#define AT91_USART0 AT91CAP9_BASE_US0#define AT91_USART1 AT91CAP9_BASE_US1#define AT91_USART2 AT91CAP9_BASE_US2/* +* SCKCR flags +*/ +#define AT91CAP9_SCKCR_RCEN (1 << 0)/* RC Oscillator Enable */ +#define AT91CAP9_SCKCR_OSC32EN (1 << 1)/* 32kHz Oscillator Enable */ +#define AT91CAP9_SCKCR_OSC32BYP (1 << 2)/* 32kHz Oscillator Bypass */ +#define AT91CAP9_SCKCR_OSCSEL (1 << 3)/* Slow Clock Selector */ +#define AT91CAP9_SCKCR_OSCSEL_RC (0 << 3) +#define AT91CAP9_SCKCR_OSCSEL_32 (1 << 3) + +/* * Internal Memory. */ #define AT91CAP9_SRAM_BASE 0x00100000/* Internal SRAM base address */
Signature · 1 line
1.5.3.3
PATCH 21/21 [U-Boot-Users] [PATCH 21/21]
There is no patch 21/21, operator error. :)
Signature · 1 line
Stelian Pop <[email protected]>
PATCH 20/21 Support AT91CAP9 revC CPUs
In reply to Stelian PopQuoted 18 lines · In message <[email protected]> you wrote:
Signed-off-by Stelian Pop <[email protected]>--- board/atmel/at91cap9adk/at91cap9adk.c | 28 ++++++++++++++++++++++++++++ include/asm-arm/arch-at91sam9/at91_pmc.h | 5 +++++ include/asm-arm/arch-at91sam9/at91cap9.h | 14 +++++++++++++- 3 files changed, 46 insertions(+), 1 deletions(-)board/atmel/at91cap9adk/at91cap9adk.c +2
-0@@ -72,6 +72,33 @@ static void at91cap9_serial_hw_init(void)#endif } +static void at91cap9_slowclock_hw_init (void ) +{
board/atmel/at91cap9adk/at91cap9adk.c static void at91cap9_serial_hw_init(void) · line 86
Quoted 10 lines
board/atmel/at91cap9adk/at91cap9adk.c +10
-0+/* +* On AT91CAP9 revC CPUs, the slow clock can be based on an +* internal impreciseRC oscillator or an external 32kHz oscillator. +* Switch to the latter. +*/ +#define ARCH_ID_AT91CAP9_REVB 0x399 +#define ARCH_ID_AT91CAP9_REVC 0x601 +if (at91_sys_read (AT91_PMC_VER ) ==ARCH_ID_AT91CAP9_REVC ) { +unsigned i, tmp =at91_sys_read (AT91_SCKCR ); +if ((tmp &AT91CAP9_SCKCR_OSCSEL ) ==AT91CAP9_SCKCR_OSCSEL_RC ) {
Please don't add #defines in the middle of a source file. Either right at the beginning, or in a header file.
Best regards,
Wolfgang Denk
Signature · 6 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Politics: A strife of interests masquerading as a contest of principles. The conduct of public affairs for private advantage. - Ambrose Bierce
PATCH 20/21 Support AT91CAP9 revC CPUs
In reply to Stelian Popinclude/asm-arm/arch-at91sam9/at91_pmc.h line 100
Quoted 11 lines · In message <[email protected]> you wrote:
include/asm-arm/arch-at91sam9/at91_pmc.h +2
-0@@ -96,4 +96,9 @@#define AT91_PMC_PCK3RDY (1 << 11)/* Programmable Clock 3 */ #define AT91_PMC_IMR (AT91_PMC + 0x6c)/* Interrupt Mask Register */ +#define AT91_PMC_PROT (AT91_PMC + 0xe4)/* Protect Register [AT91CAP9 revC only] */ +#define AT91_PMC_PROTKEY 0x504d4301/* Activation Code */
Line lenght ?
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Never worry about theory as long as the machinery does what it's supposed to do. - R. A. Heinlein