Add support for EDB93xx boards
Subsystems (4)
cover Add support for EDB93xx boards
Add support for the following Cirrus Logic EDB93xx boards:
EDB9301
EDB9302
EDB9302A
EDB9307
EDB9307A
EDB93012
EDB9315
EDB9315A
This patchset has been tested on boards based on the EDB9301 and EDB9307A designs
Matthias Kaehlcke (5):
ARM: Add support for EP93xx SoCs
Add EP93xx ethernet driver
Add support for EP9xx GPIOs
Add PrimeCell PL010 serial driver
Add support for EDB93xx boards
Documentation/boards.dox | 8 + MAINTAINERS | 11 + arch/arm/Kconfig | 6 + arch/arm/Makefile | 9 + arch/arm/configs/edb93xx_defconfig | 237 ++++++++ arch/arm/mach-ep93xx/Kconfig | 446 +++++++++++++++ arch/arm/mach-ep93xx/Makefile | 3 + arch/arm/mach-ep93xx/clocksource.c | 96 ++++ arch/arm/mach-ep93xx/gpio.c | 136 +++++ arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h | 600 ++++++++++++++++++++ arch/arm/mach-ep93xx/include/mach/gpio.h | 29 + arch/arm/mach-ep93xx/led.c | 62 ++ arch/arm/mach-ep93xx/led.h | 26 + arch/arm/mach-ep93xx/lowlevel_init.S | 64 +++ board/edb93xx/Makefile | 4 + board/edb93xx/barebox.lds.S | 79 +++ board/edb93xx/config.h | 4 + board/edb93xx/early_udelay.h | 34 ++ board/edb93xx/edb93xx.c | 172 ++++++ board/edb93xx/edb93xx.dox | 108 ++++ board/edb93xx/edb93xx.h | 48 ++ board/edb93xx/env/bin/boot | 48 ++ board/edb93xx/env/bin/flash_partition | 22 + board/edb93xx/env/bin/init | 19 + board/edb93xx/env/bin/set_nor_parts | 3 + board/edb93xx/env/bin/update_kernel | 16 + board/edb93xx/env/bin/update_rootfs | 16 + board/edb93xx/env/config | 16 + board/edb93xx/flash_cfg.c | 38 ++ board/edb93xx/pll_cfg.c | 58 ++ board/edb93xx/pll_cfg.h | 72 +++ board/edb93xx/sdram_cfg.c | 127 +++++ board/edb93xx/sdram_cfg.h | 144 +++++ drivers/net/Kconfig | 5 + drivers/net/Makefile | 1 + drivers/net/ep93xx.c | 686 +++++++++++++++++++++++ drivers/net/ep93xx.h | 155 +++++ drivers/serial/Kconfig | 7 + drivers/serial/Makefile | 2 +- drivers/serial/serial_pl010.c | 172 ++++++ drivers/serial/serial_pl010.h | 100 ++++ include/common.h | 1 + 42 files changed, 3889 insertions(+), 1 deletions(-) create mode 100644 arch/arm/configs/edb93xx_defconfig create mode 100644 arch/arm/mach-ep93xx/Kconfig create mode 100644 arch/arm/mach-ep93xx/Makefile create mode 100644 arch/arm/mach-ep93xx/clocksource.c create mode 100644 arch/arm/mach-ep93xx/gpio.c create mode 100644 arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h create mode 100644 arch/arm/mach-ep93xx/include/mach/gpio.h create mode 100644 arch/arm/mach-ep93xx/led.c create mode 100644 arch/arm/mach-ep93xx/led.h create mode 100644 arch/arm/mach-ep93xx/lowlevel_init.S create mode 100644 board/edb93xx/Makefile create mode 100644 board/edb93xx/barebox.lds.S create mode 100644 board/edb93xx/config.h create mode 100644 board/edb93xx/early_udelay.h create mode 100644 board/edb93xx/edb93xx.c create mode 100644 board/edb93xx/edb93xx.dox create mode 100644 board/edb93xx/edb93xx.h create mode 100644 board/edb93xx/env/bin/boot create mode 100644 board/edb93xx/env/bin/flash_partition create mode 100644 board/edb93xx/env/bin/init create mode 100644 board/edb93xx/env/bin/set_nor_parts create mode 100644 board/edb93xx/env/bin/update_kernel create mode 100644 board/edb93xx/env/bin/update_rootfs create mode 100644 board/edb93xx/env/config create mode 100644 board/edb93xx/flash_cfg.c create mode 100644 board/edb93xx/pll_cfg.c create mode 100644 board/edb93xx/pll_cfg.h create mode 100644 board/edb93xx/sdram_cfg.c create mode 100644 board/edb93xx/sdram_cfg.h create mode 100644 drivers/net/ep93xx.c create mode 100644 drivers/net/ep93xx.h create mode 100644 drivers/serial/serial_pl010.c create mode 100644 drivers/serial/serial_pl010.h
_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox
Hello Matthias,
Thanks for the nice work. The patches look mostly fine. I wonder that U-Boot ep93xx support has never made it to the mainline. Some comments about the patches inline.
Sascha
Quoted 20 lines · Matthias Kaehlcke
Add support for the following Cirrus Logic EDB93xx boards:
EDB9301
EDB9302
EDB9302A
EDB9307
EDB9307A
EDB93012
EDB9315
EDB9315AThis patchset has been tested on boards based on the EDB9301 and EDB9307A designs
Matthias Kaehlcke (5):
ARM: Add support for EP93xx SoCs
Add EP93xx ethernet driver
Add support for EP9xx GPIOs
Add PrimeCell PL010 serial driver
Add support for EDB93xx boards
Quoted 14 lines
Documentation/boards.dox | 8 + MAINTAINERS | 11 + arch/arm/Kconfig | 6 + arch/arm/Makefile | 9 + arch/arm/configs/edb93xx_defconfig | 237 ++++++++ arch/arm/mach-ep93xx/Kconfig | 446 +++++++++++++++ arch/arm/mach-ep93xx/Makefile | 3 + arch/arm/mach-ep93xx/clocksource.c | 96 ++++ arch/arm/mach-ep93xx/gpio.c | 136 +++++ arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h | 600 ++++++++++++++++++++ arch/arm/mach-ep93xx/include/mach/gpio.h | 29 + arch/arm/mach-ep93xx/led.c | 62 ++ arch/arm/mach-ep93xx/led.h | 26 + arch/arm/mach-ep93xx/lowlevel_init.S | 64 +++
Aren't the LED functions and thus the lowlevel_init board specific? I can imagine many custom boards do not have LEDs connected to these gpio pins.
Quoted 2 lines
board/edb93xx/Makefile | 4 + board/edb93xx/barebox.lds.S | 79 +++
I think it's better to add a
#ifdef CONFIG_ARCH_EP93XX /* the EP93xx expects to find the pattern 'CRUS' at * 0x1000 */ . = 0x1000; LONG(0x53555243) /* 'CRUS' */
#endif
to the generic linker script. We might have to revert this when we're heading to an ifdeffery here, but for now I think it's better be able to make changes to the linker script in only one file.
Quoted 67 lines
board/edb93xx/config.h | 4 + board/edb93xx/early_udelay.h | 34 ++ board/edb93xx/edb93xx.c | 172 ++++++ board/edb93xx/edb93xx.dox | 108 ++++ board/edb93xx/edb93xx.h | 48 ++ board/edb93xx/env/bin/boot | 48 ++ board/edb93xx/env/bin/flash_partition | 22 + board/edb93xx/env/bin/init | 19 + board/edb93xx/env/bin/set_nor_parts | 3 + board/edb93xx/env/bin/update_kernel | 16 + board/edb93xx/env/bin/update_rootfs | 16 + board/edb93xx/env/config | 16 + board/edb93xx/flash_cfg.c | 38 ++ board/edb93xx/pll_cfg.c | 58 ++ board/edb93xx/pll_cfg.h | 72 +++ board/edb93xx/sdram_cfg.c | 127 +++++ board/edb93xx/sdram_cfg.h | 144 +++++ drivers/net/Kconfig | 5 + drivers/net/Makefile | 1 + drivers/net/ep93xx.c | 686 +++++++++++++++++++++++ drivers/net/ep93xx.h | 155 +++++ drivers/serial/Kconfig | 7 + drivers/serial/Makefile | 2 +- drivers/serial/serial_pl010.c | 172 ++++++ drivers/serial/serial_pl010.h | 100 ++++ include/common.h | 1 + 42 files changed, 3889 insertions(+), 1 deletions(-) create mode 100644 arch/arm/configs/edb93xx_defconfig create mode 100644 arch/arm/mach-ep93xx/Kconfig create mode 100644 arch/arm/mach-ep93xx/Makefile create mode 100644 arch/arm/mach-ep93xx/clocksource.c create mode 100644 arch/arm/mach-ep93xx/gpio.c create mode 100644 arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h create mode 100644 arch/arm/mach-ep93xx/include/mach/gpio.h create mode 100644 arch/arm/mach-ep93xx/led.c create mode 100644 arch/arm/mach-ep93xx/led.h create mode 100644 arch/arm/mach-ep93xx/lowlevel_init.S create mode 100644 board/edb93xx/Makefile create mode 100644 board/edb93xx/barebox.lds.S create mode 100644 board/edb93xx/config.h create mode 100644 board/edb93xx/early_udelay.h create mode 100644 board/edb93xx/edb93xx.c create mode 100644 board/edb93xx/edb93xx.dox create mode 100644 board/edb93xx/edb93xx.h create mode 100644 board/edb93xx/env/bin/boot create mode 100644 board/edb93xx/env/bin/flash_partition create mode 100644 board/edb93xx/env/bin/init create mode 100644 board/edb93xx/env/bin/set_nor_parts create mode 100644 board/edb93xx/env/bin/update_kernel create mode 100644 board/edb93xx/env/bin/update_rootfs create mode 100644 board/edb93xx/env/config create mode 100644 board/edb93xx/flash_cfg.c create mode 100644 board/edb93xx/pll_cfg.c create mode 100644 board/edb93xx/pll_cfg.h create mode 100644 board/edb93xx/sdram_cfg.c create mode 100644 board/edb93xx/sdram_cfg.h create mode 100644 drivers/net/ep93xx.c create mode 100644 drivers/net/ep93xx.h create mode 100644 drivers/serial/serial_pl010.c create mode 100644 drivers/serial/serial_pl010.h_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox
Signature · 9 lines
Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list [email protected] http://lists.infradead.org/mailman/listinfo/barebox
Hi Sascha,
El Mon, Jan 11, 2010 at 10:49:02AM +0100 Sascha Hauer ha dit:
Quoted 3 lines
Thanks for the nice work. The patches look mostly fine. I wonder that U-Boot ep93xx support has never made it to the mainline. Some comments about the patches inline.
in late december i sent a (new) set of patches to the U-Boot mailing list. i still havn't received feedback, i suppose due to christmas, new year, ... my aim is to mainline ep93xx support, i am confident this will be accomplished soon.
Quoted 36 lines · Matthias Kaehlcke
Quoted 20 lines
Add support for the following Cirrus Logic EDB93xx boards:
EDB9301
EDB9302
EDB9302A
EDB9307
EDB9307A
EDB93012
EDB9315
EDB9315AThis patchset has been tested on boards based on the EDB9301 and EDB9307A designs
Matthias Kaehlcke (5):
ARM: Add support for EP93xx SoCs
Add EP93xx ethernet driver
Add support for EP9xx GPIOs
Add PrimeCell PL010 serial driver
Add support for EDB93xx boardsQuoted 14 lines
Documentation/boards.dox | 8 + MAINTAINERS | 11 + arch/arm/Kconfig | 6 + arch/arm/Makefile | 9 + arch/arm/configs/edb93xx_defconfig | 237 ++++++++ arch/arm/mach-ep93xx/Kconfig | 446 +++++++++++++++ arch/arm/mach-ep93xx/Makefile | 3 + arch/arm/mach-ep93xx/clocksource.c | 96 ++++ arch/arm/mach-ep93xx/gpio.c | 136 +++++ arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h | 600 ++++++++++++++++++++ arch/arm/mach-ep93xx/include/mach/gpio.h | 29 + arch/arm/mach-ep93xx/led.c | 62 ++ arch/arm/mach-ep93xx/led.h | 26 + arch/arm/mach-ep93xx/lowlevel_init.S | 64 +++
Quoted 3 lines
Aren't the LED functions and thus the
lowlevel_initboard specific? I can imagine many custom boards do not have LEDs connected to these gpio pins.
custom board could do this, but probably shouldn't. the EP93xx explicitly 'reserves' specific GPIOs for a red and a green LED. these LEDs are used by the boot algorithm to give feed back before the bootloader is started.
please tell me if this convinces you to leave the LED functions and lowlevel_init in the SoC part or if you prefer moving them to the board directory.
Quoted 11 lines
Quoted 2 lines
board/edb93xx/Makefile | 4 + board/edb93xx/barebox.lds.S | 79 +++I think it's better to add a
#ifdef CONFIG_ARCH_EP93XX /* the EP93xx expects to find the pattern 'CRUS' at * 0x1000 */ . = 0x1000; LONG(0x53555243) /* 'CRUS' */
Quoted 5 lines
#endif
to the generic linker script. We might have to revert this when we're heading to an ifdeffery here, but for now I think it's better be able to make changes to the linker script in only one file.
that's fine for me
thanks for your review!
Signature · 16 lines
Matthias Kaehlcke
Embedded Linux Developer
Barcelona
If God had not intended for us to eat animals,
how come He made them out of meat?
(Sarah Palin)
.''`.
using free software / Debian GNU/Linux | http://debian.org : :' :
`. `'`
gpg --keyserver pgp.mit.edu --recv-keys 47D8E5D4 `-
_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/bareboxQuoted 49 lines · Matthias Kaehlcke
Hi Sascha,
El Mon, Jan 11, 2010 at 10:49:02AM +0100 Sascha Hauer ha dit:
Quoted 3 lines
Thanks for the nice work. The patches look mostly fine. I wonder that U-Boot ep93xx support has never made it to the mainline. Some comments about the patches inline.
in late december i sent a (new) set of patches to the U-Boot mailing list. i still havn't received feedback, i suppose due to christmas, new year, ... my aim is to mainline ep93xx support, i am confident this will be accomplished soon.
Quoted 36 lines · Matthias Kaehlcke
Quoted 34 lines
Add support for the following Cirrus Logic EDB93xx boards:
EDB9301
EDB9302
EDB9302A
EDB9307
EDB9307A
EDB93012
EDB9315
EDB9315AThis patchset has been tested on boards based on the EDB9301 and EDB9307A designs
Matthias Kaehlcke (5):
ARM: Add support for EP93xx SoCs
Add EP93xx ethernet driver
Add support for EP9xx GPIOs
Add PrimeCell PL010 serial driver
Add support for EDB93xx boardsDocumentation/boards.dox | 8 + MAINTAINERS | 11 + arch/arm/Kconfig | 6 + arch/arm/Makefile | 9 + arch/arm/configs/edb93xx_defconfig | 237 ++++++++ arch/arm/mach-ep93xx/Kconfig | 446 +++++++++++++++ arch/arm/mach-ep93xx/Makefile | 3 + arch/arm/mach-ep93xx/clocksource.c | 96 ++++ arch/arm/mach-ep93xx/gpio.c | 136 +++++ arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h | 600 ++++++++++++++++++++ arch/arm/mach-ep93xx/include/mach/gpio.h | 29 + arch/arm/mach-ep93xx/led.c | 62 ++ arch/arm/mach-ep93xx/led.h | 26 + arch/arm/mach-ep93xx/lowlevel_init.S | 64 +++
Quoted 8 lines
Quoted 3 lines
Aren't the LED functions and thus the
lowlevel_initboard specific? I can imagine many custom boards do not have LEDs connected to these gpio pins.custom board could do this, but probably shouldn't. the EP93xx explicitly 'reserves' specific GPIOs for a red and a green LED. these LEDs are used by the boot algorithm to give feed back before the bootloader is started.
Ah, I didn't know this. A good move from Cirrus that the software developer can rely on some debug LEDs.
Quoted 4 lines
please tell me if this convinces you to leave the LED functions and
lowlevel_initin the SoC part or if you prefer moving them to the board directory.
I'm fine with the LEDs being available for all ep93xx then.
Sascha
Signature · 9 lines
Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list [email protected] http://lists.infradead.org/mailman/listinfo/barebox
PATCH 1/1 Add support for EDB93xx boards [rev2]
Added support for the following Cirrus Logic EDB93xx boards:
EDB9301
EDB9302
EDB9302A
EDB9307
EDB9307A
EDB93012
EDB9315
EDB9315A
---
Changes with respect to rev1:
* Use global linker script with EP93xx ifdef instead of a board
specific one
Documentation/boards.dox | 8 + arch/arm/configs/edb93xx_defconfig | 236 +++++++++++++++++++++++++++++++++ arch/arm/lib/barebox.lds.S | 5 + arch/arm/mach-ep93xx/Kconfig | 8 - board/edb93xx/Makefile | 2 + board/edb93xx/config.h | 4 + board/edb93xx/early_udelay.h | 34 +++++ board/edb93xx/edb93xx.c | 172 ++++++++++++++++++++++++ board/edb93xx/edb93xx.dox | 108 +++++++++++++++ board/edb93xx/edb93xx.h | 48 +++++++ board/edb93xx/env/bin/boot | 48 +++++++ board/edb93xx/env/bin/flash_partition | 22 +++ board/edb93xx/env/bin/init | 19 +++ board/edb93xx/env/bin/set_nor_parts | 3 + board/edb93xx/env/bin/update_kernel | 16 +++ board/edb93xx/env/bin/update_rootfs | 16 +++ board/edb93xx/env/config | 16 +++ board/edb93xx/flash_cfg.c | 38 ++++++ board/edb93xx/pll_cfg.c | 58 ++++++++ board/edb93xx/pll_cfg.h | 72 ++++++++++ board/edb93xx/sdram_cfg.c | 127 ++++++++++++++++++ board/edb93xx/sdram_cfg.h | 144 ++++++++++++++++++++ 22 files changed, 1196 insertions(+), 8 deletions(-) create mode 100644 arch/arm/configs/edb93xx_defconfig create mode 100644 board/edb93xx/Makefile create mode 100644 board/edb93xx/config.h create mode 100644 board/edb93xx/early_udelay.h create mode 100644 board/edb93xx/edb93xx.c create mode 100644 board/edb93xx/edb93xx.dox create mode 100644 board/edb93xx/edb93xx.h create mode 100644 board/edb93xx/env/bin/boot create mode 100644 board/edb93xx/env/bin/flash_partition create mode 100644 board/edb93xx/env/bin/init create mode 100644 board/edb93xx/env/bin/set_nor_parts create mode 100644 board/edb93xx/env/bin/update_kernel create mode 100644 board/edb93xx/env/bin/update_rootfs create mode 100644 board/edb93xx/env/config create mode 100644 board/edb93xx/flash_cfg.c create mode 100644 board/edb93xx/pll_cfg.c create mode 100644 board/edb93xx/pll_cfg.h create mode 100644 board/edb93xx/sdram_cfg.c create mode 100644 board/edb93xx/sdram_cfg.h
Documentation/boards.dox +8 -0
@@ -20,6 +20,14 @@ ARM type: @li @subpage a9m2440 @li @subpage a9m2410 @li @subpage eukrea_cpuimx27 +@li @subpage edb9301 +@li @subpage edb9302 +@li @subpage edb9302a +@li @subpage edb9307 +@li @subpage edb9307a +@li @subpage edb9312 +@li @subpage edb9315 +@li @subpage edb9315a Blackfin type:
arch/arm/configs/edb93xx_defconfig new file +236 -0
236 lines not on this page · raw message
arch/arm/lib/barebox.lds.S +5 -0
@@ -39,6 +39,11 @@ SECTIONS _stext = .; _text = .; *(.text_entry*) +#ifdef CONFIG_ARCH_EP93XX + /* the EP93xx expects to find the pattern 'CRUS' at 0x1000 */ + . = 0x1000; + LONG(0x53555243) /* 'CRUS' */ +#endif *(.text_bare_init*) *(.text*) }
arch/arm/mach-ep93xx/Kconfig +0 -8
@@ -39,7 +39,6 @@ config MACH_EDB9301 bool "Cirrus Logic EDB9301" select EP93XX_SDCE3_SYNC_PHYS_OFFSET select MACH_HAS_LOWLEVEL_INIT - select BOARD_LINKER_SCRIPT help Say y here if you are using Cirrus Logic's EDB9301 Evaluation board
@@ -105,7 +104,6 @@ config MACH_EDB9302 bool "Cirrus Logic EDB9302" select EP93XX_SDCE3_SYNC_PHYS_OFFSET select MACH_HAS_LOWLEVEL_INIT - select BOARD_LINKER_SCRIPT help Say y here if you are using Cirrus Logic's EDB9302 Evaluation board
@@ -113,7 +111,6 @@ config MACH_EDB9302A bool "Cirrus Logic EDB9302A" select EP93XX_SDCE0_PHYS_OFFSET select MACH_HAS_LOWLEVEL_INIT - select BOARD_LINKER_SCRIPT help Say y here if you are using Cirrus Logic's EDB9302A Evaluation board
@@ -226,7 +223,6 @@ config MACH_EDB9307 bool "Cirrus Logic EDB9307" select EP93XX_SDCE3_SYNC_PHYS_OFFSET select MACH_HAS_LOWLEVEL_INIT - select BOARD_LINKER_SCRIPT help Say y here if you are using Cirrus Logic's EDB9307 Evaluation board
@@ -234,7 +230,6 @@ config MACH_EDB9307A bool "Cirrus Logic EDB9307A" select EP93XX_SDCE0_PHYS_OFFSET select MACH_HAS_LOWLEVEL_INIT - select BOARD_LINKER_SCRIPT help Say y here if you are using Cirrus Logic's EDB9307A Evaluation board
@@ -315,7 +310,6 @@ config MACH_EDB9312 bool "Cirrus Logic EDB9312" select EP93XX_SDCE3_SYNC_PHYS_OFFSET select MACH_HAS_LOWLEVEL_INIT - select BOARD_LINKER_SCRIPT help Say y here if you are using Cirrus Logic's EDB9312 Evaluation board
@@ -365,7 +359,6 @@ config MACH_EDB9315 bool "Cirrus Logic EDB9315" select EP93XX_SDCE3_SYNC_PHYS_OFFSET select MACH_HAS_LOWLEVEL_INIT - select BOARD_LINKER_SCRIPT help Say y here if you are using Cirrus Logic's EDB9315 Evaluation board
@@ -373,7 +366,6 @@ config MACH_EDB9315A bool "Cirrus Logic EDB9315A" select EP93XX_SDCE0_PHYS_OFFSET select MACH_HAS_LOWLEVEL_INIT - select BOARD_LINKER_SCRIPT help Say y here if you are using Cirrus Logic's EDB9315A Evaluation board
board/edb93xx/Makefile new file +2 -0
@@ -0,0 +1,2 @@ + +obj-y += edb93xx.o flash_cfg.o pll_cfg.o sdram_cfg.o
board/edb93xx/config.h new file +4 -0
@@ -0,0 +1,4 @@ +#ifndef __CONFIG_H +#define __CONFIG_H + +#endif /* __CONFIG_H */
board/edb93xx/early_udelay.h new file +34 -0
@@ -0,0 +1,34 @@ +/* +* Copyright (C) 2009 Matthias Kaehlcke <[email protected]> +* +* See file CREDITS for list of people who contributed to this +* project. +* +* 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> + +/* delay execution before timers are initialized */ +static inline void early_udelay (uint32_t usecs) +{ +/* loop takes 4 cycles at 5.0ns (fastest case, running at 200MHz) */ + registeruint32_t loops = (usecs *1000 ) /20 ; + + __asm__volatile ("1:\n" +"subs %0, %1, #1\n" +"bne 1b" :"=r" (loops):"0" (loops)); +}
board/edb93xx/edb93xx.c new file +172 -0
172 lines not on this page · raw message
board/edb93xx/edb93xx.dox new file +108 -0
109 lines not on this page · raw message
board/edb93xx/edb93xx.h new file +48 -0
48 lines not on this page · raw message
board/edb93xx/env/bin/boot new file +48 -0
49 lines not on this page · raw message
board/edb93xx/env/bin/flash_partition new file +22 -0
@@ -0,0 +1,22 @@ +#!/bin/sh + +if [ $# != 2 ]; +then + echo "Usage: $0 <image> <partition>" + exit 1 +fi + +image=$1 +partition=$2 + +echo "Unlocking ${partition}" +unprotect ${partition} + +echo "Erasing ${partition}" +erase ${partition} + +echo "Flashing ${image} to ${partition}" +cp ${image} ${partition} + +echo "Locking ${partition}" +protect ${partition}
board/edb93xx/env/bin/init new file +19 -0
@@ -0,0 +1,19 @@ +#!/bin/sh + +PATH=/env/bin +export PATH + +. /env/config + +# add partitions to barebox +. /env/bin/set_nor_parts +addpart /dev/nor0 ${nor_parts} + +echo +echo -n "Hit any key to stop autoboot: " +timeout -a $autoboot_timeout +if [ $? != 0 ]; then + exit +fi + +boot
board/edb93xx/env/bin/set_nor_parts new file +3 -0
@@ -0,0 +1,3 @@ +#!/bin/sh + +nor_parts="256k(barebox)ro,128k(env_boot),128k(env_boot.bak),1664k(kernel_1)${cfg_1_ro},6144k(rootfs_1)${cfg_1_ro},1664k(kernel_2)${cfg_2_ro},6144k(rootfs_2)${cfg_2_ro},128k(cfg_app),128k(cfg_app.bak)"
board/edb93xx/env/bin/update_kernel new file +16 -0
@@ -0,0 +1,16 @@ +#!/bin/sh + +. /env/config + +if [ $# != 1 ]; +then + echo "Usage: $0 <1/2>" + exit 1 +fi + +partition=/dev/nor0.kernel_$1 + +cd / +tftp ${board}/kernel.img || exit 1 + +flash_partition kernel.img ${partition}
board/edb93xx/env/bin/update_rootfs new file +16 -0
@@ -0,0 +1,16 @@ +#!/bin/sh + +. /env/config + +if [ $# != 1 ]; +then + echo "Usage: $0 <1/2>" + exit 1 +fi + +partition=/dev/nor0.rootfs_$1 + +cd / +tftp ${board}/rootfs.img || exit 1 + +flash_partition rootfs.img ${partition}
board/edb93xx/env/config new file +16 -0
@@ -0,0 +1,16 @@ +#!/bin/sh + +eth0.ipaddr=192.168.0.50 +eth0.netmask=255.255.0.0 +eth0.serverip=192.168.0.8 +eth0.ethaddr=80:81:82:83:84:85 + +board=edb9301 +autoboot_timeout=3 +active_cfg=1 +bootargs_common="console=ttyAM0,115200" + +# valid media: flash/net +kernel_boot_media=flash +rootfs_boot_media=flash +
board/edb93xx/flash_cfg.c new file +38 -0
@@ -0,0 +1,38 @@ +/* +* Flash setup for Cirrus edb93xx boards +* +* Copyright (C) 2009 Matthias Kaehlcke <[email protected]> +* +* See file CREDITS for list of people who contributed to this +* project. +* +* 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 <mach/ep93xx-regs.h> +#include <asm/io.h> + +#define SMC_BCR6_VALUE (2 << SMC_BCR_IDCY_SHIFT | 5 << SMC_BCR_WST1_SHIFT | \ + SMC_BCR_BLE | 2 << SMC_BCR_WST2_SHIFT | \ + 1 << SMC_BCR_MW_SHIFT) + +void flash_cfg (void ) +{ +struct smc_regs *smc = (struct smc_regs *)SMC_BASE ; + +writel (SMC_BCR6_VALUE , &smc->bcr6); +}
board/edb93xx/pll_cfg.c new file +58 -0
58 lines not on this page · raw message
board/edb93xx/pll_cfg.h new file +72 -0
72 lines not on this page · raw message
board/edb93xx/sdram_cfg.c new file +127 -0
127 lines not on this page · raw message
board/edb93xx/sdram_cfg.h new file +144 -0
144 lines not on this page · raw message
Signature · 7 lines
1.6.3.1 _______________________________________________ barebox mailing list [email protected] http://lists.infradead.org/mailman/listinfo/barebox
Re: [PATCH] Add support for EDB93xx boards [rev2]
Hi Matthias,
arch/arm/mach-ep93xx/Kconfig config MACH_EDB9301 · line 42
Quoted 10 lines · Matthias Kaehlcke
arch/arm/mach-ep93xx/Kconfig +0
-1@@ -39,7 +39,6 @@ config MACH_EDB9301 bool "Cirrus Logic EDB9301" select EP93XX_SDCE3_SYNC_PHYS_OFFSET select MACH_HAS_LOWLEVEL_INIT - select BOARD_LINKER_SCRIPT help
Something went wrong here, this seems to be a fixup patch, at least these hunks.
The rest of the patches is ok now. Can you please resend the whole series? It's easier to apply when it's clear that the original messages are the patches than to dig through the thread and look for patches in replies.
Thanks
Sascha
Signature · 9 lines
Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list [email protected] http://lists.infradead.org/mailman/listinfo/barebox
Re: [PATCH] Add support for EDB93xx boards [rev2]
Hi Sascha,
El Tue, Jan 12, 2010 at 10:52:33AM +0100 Sascha Hauer ha dit:
Quoted 6 lines · Matthias Kaehlcke
Quoted 5 lines
arch/arm/mach-ep93xx/Kconfig +0
-0@@ -39,7 +39,6 @@ config MACH_EDB9301
Quoted 8 lines
arch/arm/mach-ep93xx/Kconfig config MACH_EDB9301 · line 42
Quoted 5 lines
arch/arm/mach-ep93xx/Kconfig +0
-1bool "Cirrus Logic EDB9301" select EP93XX_SDCE3_SYNC_PHYS_OFFSET select MACH_HAS_LOWLEVEL_INIT - select BOARD_LINKER_SCRIPT helpSomething went wrong here, this seems to be a fixup patch, at least these hunks.
sorry, i added applied these changes to the wrong patch of the set
Quoted 4 lines
The rest of the patches is ok now. Can you please resend the whole series? It's easier to apply when it's clear that the original messages are the patches than to dig through the thread and look for patches in replies.
sure, and thanks for pointing me to the right way to send revisions of a patch
Signature · 16 lines
Matthias Kaehlcke
Embedded Linux Developer
Barcelona
Ma patrie est où je suis, où personne ne me dérange, où personne
ne me demande que je suis, d'où je viens et ce que je fais
(B. Traven)
.''`.
using free software / Debian GNU/Linux | http://debian.org : :' :
`. `'`
gpg --keyserver pgp.mit.edu --recv-keys 47D8E5D4 `-
_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox