U-Boot
Threads by month
- ----- 2025 -----
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2000 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
June 2009
- 211 participants
- 509 discussions
Get back to us with your Name,Age and Country
for a Won prize $1.000,000.For more details, send your info to free_loto(a)btinternet.com
1
0
Hi everybody,
U-Boot v2009.06 has been released and is available from the git
repository and the FTP server.
The "next" branch has been pulled into mainline ("master" branch) and
then been removed.
The Merge Window for the next release is open until
Sunday, Jul 19, 2009, i. e. 35 days remaining.
I decided to have such an unusally long merge window for two reasons:
1) I wanted to avoid to have a significant overlap with the Linux
kernel's merge window. This way everybody has enough time to
prepare and submit his patches.
2) I'll be off for vacation soon, but want to be able to review
patches and then give posters time to respond to review comments.
The next release is scheduled for August 30, 2009.
See http://www.denx.de/wiki/U-Boot/ReleaseCycle for details.
A little statistics [1] - changes since release v2009.01:
Processed 470 csets from 74 developers
27 employers found
A total of 51824 lines added, 17041 removed (delta 34783)
Compare v2009.03:
Processed 537 csets from 90 developers
41 employers found
A total of 54469 lines added, 8339 removed (delta 46130)
Developers with the most changesets
Mike Frysinger 95 (20.2%)
Jean-Christophe PLAGNIOL-VILLARD 55 (11.7%)
Peter Tyser 32 (6.8%)
Wolfgang Denk 29 (6.2%)
Stefan Roese 24 (5.1%)
Detlev Zundel 15 (3.2%)
Kumar Gala 12 (2.6%)
Ladislav Michl 12 (2.6%)
Haavard Skinnemoen 9 (1.9%)
Haiying Wang 8 (1.7%)
...
Developers with the most changed lines
Stefan Roese 20091 (34.7%)
Mike Frysinger 6961 (12.0%)
Wolfgang Denk 5363 (9.3%)
Jean-Christophe PLAGNIOL-VILLARD 3629 (6.3%)
Haiying Wang 1577 (2.7%)
Detlev Zundel 1523 (2.6%)
Graeme Russ 1331 (2.3%)
Ilko Iliev 1319 (2.3%)
Haavard Skinnemoen 1258 (2.2%)
unsik Kim 1080 (1.9%)
...
Developers with the most lines removed
Ladislav Michl 550 (3.2%)
Trent Piepho 405 (2.4%)
Matthias Fuchs 262 (1.5%)
Kumar Gala 232 (1.4%)
Dirk Behme 103 (0.6%)
Michael Zaidman 55 (0.3%)
David Gibson 34 (0.2%)
Kyungmin Park 33 (0.2%)
Adrian Hunter 24 (0.1%)
Kim Phillips 24 (0.1%)
...
Developers with the most signoffs (total 599)
Mike Frysinger 115 (19.2%)
Jean-Christophe PLAGNIOL-VILLARD 68 (11.4%)
Stefan Roese 46 (7.7%)
Peter Tyser 32 (5.3%)
Kumar Gala 29 (4.8%)
Haavard Skinnemoen 25 (4.2%)
Scott Wood 21 (3.5%)
Ben Warren 16 (2.7%)
Detlev Zundel 15 (2.5%)
Ladislav Michl 12 (2.0%)
...
Developers with the most reviews (total 2)
David Hawkins 2 (100.0%)
Developers with the most test credits (total 15)
Nobuhiro Iwamatsu 3 (20.0%)
Stefan Roese 2 (13.3%)
Heiko Schocher 2 (13.3%)
Sergey Lapin 2 (13.3%)
Paul Gortmaker 2 (13.3%)
Mikhail Zaturenskiy 2 (13.3%)
Eric BENARD 2 (13.3%)
Developers who gave the most tested-by credits (total 15)
Wolfgang Denk 11 (73.3%)
Jean-Christophe PLAGNIOL-VILLARD 2 (13.3%)
Kim Phillips 1 (6.7%)
Yoshihiro Shimoda 1 (6.7%)
Developers with the most report credits (total 6)
Wolfgang Denk 4 (66.7%)
Joakim Tjernlund 2 (33.3%)
Developers who gave the most report credits (total 6)
Wolfgang Denk 3 (50.0%)
Guennadi Liakhovetski 2 (33.3%)
Dave Liu 1 (16.7%)
Top changeset contributors by employer
Analog Devices 100 (21.3%)
DENX Software Engineering 83 (17.7%)
jcrosoft 55 (11.7%)
Freescale 43 (9.1%)
(Unknown) 40 (8.5%)
Extreme Engineering Solutions 32 (6.8%)
2N TELEKOMUNIKACE a.s. 12 (2.6%)
Atmel 11 (2.3%)
ESD Electronics 7 (1.5%)
Samsung 7 (1.5%)
...
Top lines changed by employer
DENX Software Engineering 28718 (49.7%)
Analog Devices 7964 (13.8%)
jcrosoft 4842 (8.4%)
Freescale 3875 (6.7%)
(Unknown) 2799 (4.8%)
Atmel 2065 (3.6%)
Graeme Russ 1331 (2.3%)
Ronetix 1319 (2.3%)
Oce Technologies 1054 (1.8%)
Semihalf Embedded Systems 788 (1.4%)
...
Employers with the most signoffs (total 599)
Analog Devices 120 (20.0%)
Freescale 97 (16.2%)
DENX Software Engineering 87 (14.5%)
(Unknown) 80 (13.4%)
jcrosoft 68 (11.4%)
Extreme Engineering Solutions 32 (5.3%)
Atmel 29 (4.8%)
2N TELEKOMUNIKACE a.s. 12 (2.0%)
Samsung 11 (1.8%)
Oce Technologies 8 (1.3%)
...
[1] See http://www.denx.de/wiki/U-Boot/UbootStat_2009_06 for full
statistics, and http://www.denx.de/wiki/UBoot/ReleaseCycle
for links to statistics for earlier releases.
Best regards,
Wolfgang Denk
--
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(a)denx.de
The perversity of nature is nowhere better demonstrated by the fact
that, when exposed to the same atmosphere, bread becomes hard while
crackers become soft.
_______________________________________________
U-Boot mailing list
U-Boot(a)lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot
1
0
The following changes since commit 229549a56d9ae413c00f64fd7c728c6879a1b54b:
Stefan Roese (1):
mpc512x: MPC5121ADS: Add NAND support
are available in the git repository at:
git://git.denx.de/u-boot-mpc85xx.git next
Haiying Wang (10):
drivers/qe: Rename the camel-case identifiers in uec
85xx: Add QE clk support
drivers/qe: Change QE RISC ALLOCATION to support 4 RISCs
drivers/qe: Add more SNUM number for QE
85xx: Add UEC3 and UEC4 support for MPC8569MDS
85xx: Add RMII support for MPC8569MDS
fsl: Update the number of ethxaddr in reading system eeprom
qe: Pass in uec_info struct through uec_initialize
drivers/qe: add sgmii support in for UEC driver
85xx: Add UEC6 and UEC8 at SGMII mode for MPC8569MDS
Kumar Gala (2):
85xx: Always attempt ethernet device tree fixup
85xx: Added MPC8535/E identifiers
Peter Tyser (6):
fsl: Create common fsl_dma.h for 85xx and 86xx cpus
fsl/85xx, 86xx: Sync up DMA code
85xx: Add PORBMSR and PORDEVSR shift defines
xes: Update Freescale PCI code to work with 86xx processors
xes: Update Freescale DDR code to work with 86xx processors
xes: Update Freescale clock code to work with 86xx processors
Srikanth Srinivasan (1):
85xx: Add P2020DS support
MAKEALL | 2 +
Makefile | 9 +
board/freescale/common/sys_eeprom.c | 23 +-
board/freescale/mpc8569mds/bcsr.c | 19 +-
board/freescale/mpc8569mds/bcsr.h | 2 +-
board/freescale/mpc8569mds/mpc8569mds.c | 126 ++++-
board/freescale/p2020ds/Makefile | 54 ++
board/freescale/p2020ds/config.mk | 32 +
board/freescale/p2020ds/ddr.c | 130 ++++
board/freescale/p2020ds/law.c | 42 ++
board/freescale/p2020ds/p2020ds.c | 634 +++++++++++++++++
board/freescale/p2020ds/tlb.c | 95 +++
board/freescale/p2020ds/u-boot.lds | 143 ++++
board/xes/common/Makefile | 7 +-
.../xes/common/{fsl_8572_clk.c => fsl_8xxx_clk.c} | 8 +
.../xes/common/{fsl_85xx_ddr.c => fsl_8xxx_ddr.c} | 8 +-
.../xes/common/{fsl_85xx_pci.c => fsl_8xxx_pci.c} | 81 ++-
cpu/mpc83xx/cpu.c | 20 +-
cpu/mpc85xx/cpu.c | 60 +-
cpu/mpc85xx/fdt.c | 3 -
cpu/mpc85xx/speed.c | 15 +-
cpu/mpc86xx/cpu.c | 35 +-
drivers/qe/qe.c | 18 +-
drivers/qe/qe.h | 18 +-
drivers/qe/uec.c | 224 ++-----
drivers/qe/uec.h | 56 ++-
include/asm-ppc/fsl_dma.h | 51 ++
include/asm-ppc/immap_85xx.h | 80 +--
include/asm-ppc/immap_86xx.h | 78 +--
include/asm-ppc/immap_qe.h | 13 +-
include/asm-ppc/processor.h | 2 +
include/configs/MPC8569MDS.h | 82 +++-
include/configs/P2020DS.h | 741 ++++++++++++++++++++
include/e500.h | 1 +
34 files changed, 2493 insertions(+), 419 deletions(-)
create mode 100644 board/freescale/p2020ds/Makefile
create mode 100644 board/freescale/p2020ds/config.mk
create mode 100644 board/freescale/p2020ds/ddr.c
create mode 100644 board/freescale/p2020ds/law.c
create mode 100644 board/freescale/p2020ds/p2020ds.c
create mode 100644 board/freescale/p2020ds/tlb.c
create mode 100644 board/freescale/p2020ds/u-boot.lds
rename board/xes/common/{fsl_8572_clk.c => fsl_8xxx_clk.c} (86%)
rename board/xes/common/{fsl_85xx_ddr.c => fsl_8xxx_ddr.c} (92%)
rename board/xes/common/{fsl_85xx_pci.c => fsl_8xxx_pci.c} (79%)
create mode 100644 include/asm-ppc/fsl_dma.h
create mode 100644 include/configs/P2020DS.h
2
1

14 Jun '09
This patch adds NAND Flash Controller driver for MPC5121 revision 2.
All device features, except hardware ECC and power management, are
supported.
This NFC driver replaces the one orignally posted by John Rigby:
"[PATCH] Freescale NFC NAND driver"
It's a port of the Linux driver version posted by Piotr Ziecik a few
weeks ago. Using this driver has the following advantages (from my
point of view):
- Compatibility with the Linux NAND driver (e.g. ECC usage)
- Better code quality in general
- Resulting U-Boot image is a bit smaller (approx. 3k)
- Better to sync with newer Linux driver versions
The only disadvantage I can see, is that HW-ECC is not supported right
now. But this could be added later (e.g. port from Linux driver after
it's supported there). Using HW-ECC on the MCP5121 NFC has a general
problem because of the ECC usage in the spare area. This collides with
JFFS2 for example.
Signed-off-by: Stefan Roese <sr(a)denx.de>
Cc: Piotr Ziecik <kosmo(a)semihalf.com>
Cc: Wolfgang Denk <wd(a)denx.de>
Cc: John Rigby <jcrigby(a)gmail.com>
Cc: Scott Wood <scottwood(a)freescale.com>
---
v3:
- Reworked chip-select routines after testing on MPC5121ADS
with 2 NAND chips. Tested successfully on MPC5121ADS and
esd MECP5123.
v2:
- Added (C) for myself
- Reduced line length of commit text
- Fixed spelling error in commit text
- chip select function is implemented as weak default so that
board may implement a board specific variant (e.g. MPC5121ADS)
drivers/mtd/nand/Makefile | 1 +
drivers/mtd/nand/mpc5121_nfc.c | 692 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 693 insertions(+), 0 deletions(-)
create mode 100644 drivers/mtd/nand/mpc5121_nfc.c
diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile
index 471cd6b..71dd5b9 100644
--- a/drivers/mtd/nand/Makefile
+++ b/drivers/mtd/nand/Makefile
@@ -40,6 +40,7 @@ COBJS-$(CONFIG_DRIVER_NAND_BFIN) += bfin_nand.o
COBJS-$(CONFIG_NAND_DAVINCI) += davinci_nand.o
COBJS-$(CONFIG_NAND_FSL_ELBC) += fsl_elbc_nand.o
COBJS-$(CONFIG_NAND_FSL_UPM) += fsl_upm.o
+COBJS-$(CONFIG_NAND_MPC5121_NFC) += mpc5121_nfc.o
COBJS-$(CONFIG_NAND_NOMADIK) += nomadik.o
COBJS-$(CONFIG_NAND_S3C2410) += s3c2410_nand.c
COBJS-$(CONFIG_NAND_S3C64XX) += s3c64xx.o
diff --git a/drivers/mtd/nand/mpc5121_nfc.c b/drivers/mtd/nand/mpc5121_nfc.c
new file mode 100644
index 0000000..856cb36
--- /dev/null
+++ b/drivers/mtd/nand/mpc5121_nfc.c
@@ -0,0 +1,692 @@
+/*
+ * Copyright 2004-2008 Freescale Semiconductor, Inc.
+ * Copyright 2009 Semihalf.
+ * (C) Copyright 2009 Stefan Roese <sr(a)denx.de>
+ *
+ * Based on original driver from Freescale Semiconductor
+ * written by John Rigby <jrigby(a)freescale.com> on basis
+ * of drivers/mtd/nand/mxc_nand.c. Reworked and extended
+ * Piotr Ziecik <kosmo(a)semihalf.com>.
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ */
+
+#include <common.h>
+#include <malloc.h>
+
+#include <linux/mtd/mtd.h>
+#include <linux/mtd/nand.h>
+#include <linux/mtd/nand_ecc.h>
+#include <linux/mtd/compat.h>
+
+#include <asm/errno.h>
+#include <asm/io.h>
+#include <asm/processor.h>
+#include <nand.h>
+
+#define DRV_NAME "mpc5121_nfc"
+
+/* Timeouts */
+#define NFC_RESET_TIMEOUT 1000 /* 1 ms */
+#define NFC_TIMEOUT 2000 /* 2000 us */
+
+/* Addresses for NFC MAIN RAM BUFFER areas */
+#define NFC_MAIN_AREA(n) ((n) * 0x200)
+
+/* Addresses for NFC SPARE BUFFER areas */
+#define NFC_SPARE_BUFFERS 8
+#define NFC_SPARE_LEN 0x40
+#define NFC_SPARE_AREA(n) (0x1000 + ((n) * NFC_SPARE_LEN))
+
+/* MPC5121 NFC registers */
+#define NFC_BUF_ADDR 0x1E04
+#define NFC_FLASH_ADDR 0x1E06
+#define NFC_FLASH_CMD 0x1E08
+#define NFC_CONFIG 0x1E0A
+#define NFC_ECC_STATUS1 0x1E0C
+#define NFC_ECC_STATUS2 0x1E0E
+#define NFC_SPAS 0x1E10
+#define NFC_WRPROT 0x1E12
+#define NFC_NF_WRPRST 0x1E18
+#define NFC_CONFIG1 0x1E1A
+#define NFC_CONFIG2 0x1E1C
+#define NFC_UNLOCKSTART_BLK0 0x1E20
+#define NFC_UNLOCKEND_BLK0 0x1E22
+#define NFC_UNLOCKSTART_BLK1 0x1E24
+#define NFC_UNLOCKEND_BLK1 0x1E26
+#define NFC_UNLOCKSTART_BLK2 0x1E28
+#define NFC_UNLOCKEND_BLK2 0x1E2A
+#define NFC_UNLOCKSTART_BLK3 0x1E2C
+#define NFC_UNLOCKEND_BLK3 0x1E2E
+
+/* Bit Definitions: NFC_BUF_ADDR */
+#define NFC_RBA_MASK (7 << 0)
+#define NFC_ACTIVE_CS_SHIFT 5
+#define NFC_ACTIVE_CS_MASK (3 << NFC_ACTIVE_CS_SHIFT)
+
+/* Bit Definitions: NFC_CONFIG */
+#define NFC_BLS_UNLOCKED (1 << 1)
+
+/* Bit Definitions: NFC_CONFIG1 */
+#define NFC_ECC_4BIT (1 << 0)
+#define NFC_FULL_PAGE_DMA (1 << 1)
+#define NFC_SPARE_ONLY (1 << 2)
+#define NFC_ECC_ENABLE (1 << 3)
+#define NFC_INT_MASK (1 << 4)
+#define NFC_BIG_ENDIAN (1 << 5)
+#define NFC_RESET (1 << 6)
+#define NFC_CE (1 << 7)
+#define NFC_ONE_CYCLE (1 << 8)
+#define NFC_PPB_32 (0 << 9)
+#define NFC_PPB_64 (1 << 9)
+#define NFC_PPB_128 (2 << 9)
+#define NFC_PPB_256 (3 << 9)
+#define NFC_PPB_MASK (3 << 9)
+#define NFC_FULL_PAGE_INT (1 << 11)
+
+/* Bit Definitions: NFC_CONFIG2 */
+#define NFC_COMMAND (1 << 0)
+#define NFC_ADDRESS (1 << 1)
+#define NFC_INPUT (1 << 2)
+#define NFC_OUTPUT (1 << 3)
+#define NFC_ID (1 << 4)
+#define NFC_STATUS (1 << 5)
+#define NFC_CMD_FAIL (1 << 15)
+#define NFC_INT (1 << 15)
+
+/* Bit Definitions: NFC_WRPROT */
+#define NFC_WPC_LOCK_TIGHT (1 << 0)
+#define NFC_WPC_LOCK (1 << 1)
+#define NFC_WPC_UNLOCK (1 << 2)
+
+struct mpc5121_nfc_prv {
+ struct mtd_info mtd;
+ struct nand_chip chip;
+ int irq;
+ void __iomem *regs;
+ struct clk *clk;
+ uint column;
+ int spareonly;
+ int chipsel;
+};
+
+int mpc5121_nfc_chip = 0;
+
+static void mpc5121_nfc_done(struct mtd_info *mtd);
+
+/* Read NFC register */
+static inline u16 nfc_read(struct mtd_info *mtd, uint reg)
+{
+ struct nand_chip *chip = mtd->priv;
+ struct mpc5121_nfc_prv *prv = chip->priv;
+
+ return in_be16(prv->regs + reg);
+}
+
+/* Write NFC register */
+static inline void nfc_write(struct mtd_info *mtd, uint reg, u16 val)
+{
+ struct nand_chip *chip = mtd->priv;
+ struct mpc5121_nfc_prv *prv = chip->priv;
+
+ out_be16(prv->regs + reg, val);
+}
+
+/* Set bits in NFC register */
+static inline void nfc_set(struct mtd_info *mtd, uint reg, u16 bits)
+{
+ nfc_write(mtd, reg, nfc_read(mtd, reg) | bits);
+}
+
+/* Clear bits in NFC register */
+static inline void nfc_clear(struct mtd_info *mtd, uint reg, u16 bits)
+{
+ nfc_write(mtd, reg, nfc_read(mtd, reg) & ~bits);
+}
+
+/* Invoke address cycle */
+static inline void mpc5121_nfc_send_addr(struct mtd_info *mtd, u16 addr)
+{
+ nfc_write(mtd, NFC_FLASH_ADDR, addr);
+ nfc_write(mtd, NFC_CONFIG2, NFC_ADDRESS);
+ mpc5121_nfc_done(mtd);
+}
+
+/* Invoke command cycle */
+static inline void mpc5121_nfc_send_cmd(struct mtd_info *mtd, u16 cmd)
+{
+ nfc_write(mtd, NFC_FLASH_CMD, cmd);
+ nfc_write(mtd, NFC_CONFIG2, NFC_COMMAND);
+ mpc5121_nfc_done(mtd);
+}
+
+/* Send data from NFC buffers to NAND flash */
+static inline void mpc5121_nfc_send_prog_page(struct mtd_info *mtd)
+{
+ nfc_clear(mtd, NFC_BUF_ADDR, NFC_RBA_MASK);
+ nfc_write(mtd, NFC_CONFIG2, NFC_INPUT);
+ mpc5121_nfc_done(mtd);
+}
+
+/* Receive data from NAND flash */
+static inline void mpc5121_nfc_send_read_page(struct mtd_info *mtd)
+{
+ nfc_clear(mtd, NFC_BUF_ADDR, NFC_RBA_MASK);
+ nfc_write(mtd, NFC_CONFIG2, NFC_OUTPUT);
+ mpc5121_nfc_done(mtd);
+}
+
+/* Receive ID from NAND flash */
+static inline void mpc5121_nfc_send_read_id(struct mtd_info *mtd)
+{
+ nfc_clear(mtd, NFC_BUF_ADDR, NFC_RBA_MASK);
+ nfc_write(mtd, NFC_CONFIG2, NFC_ID);
+ mpc5121_nfc_done(mtd);
+}
+
+/* Receive status from NAND flash */
+static inline void mpc5121_nfc_send_read_status(struct mtd_info *mtd)
+{
+ nfc_clear(mtd, NFC_BUF_ADDR, NFC_RBA_MASK);
+ nfc_write(mtd, NFC_CONFIG2, NFC_STATUS);
+ mpc5121_nfc_done(mtd);
+}
+
+static void mpc5121_nfc_done(struct mtd_info *mtd)
+{
+ int max_retries = NFC_TIMEOUT;
+
+ while (1) {
+ max_retries--;
+ if (nfc_read(mtd, NFC_CONFIG2) & NFC_INT)
+ break;
+ udelay(1);
+ }
+
+ if (max_retries <= 0)
+ printk(KERN_WARNING DRV_NAME
+ ": Timeout while waiting for completion.\n");
+}
+
+/* Do address cycle(s) */
+static void mpc5121_nfc_addr_cycle(struct mtd_info *mtd, int column, int page)
+{
+ struct nand_chip *chip = mtd->priv;
+ u32 pagemask = chip->pagemask;
+
+ if (column != -1) {
+ mpc5121_nfc_send_addr(mtd, column);
+ if (mtd->writesize > 512)
+ mpc5121_nfc_send_addr(mtd, column >> 8);
+ }
+
+ if (page != -1) {
+ do {
+ mpc5121_nfc_send_addr(mtd, page & 0xFF);
+ page >>= 8;
+ pagemask >>= 8;
+ } while (pagemask);
+ }
+}
+
+/* Control chip select signals */
+
+/*
+ * Selecting the active device:
+ *
+ * This is different than the linux version. Switching between chips
+ * is done via board_nand_select_device(). The Linux select_chip
+ * function used here in U-Boot has only 2 valid chip numbers:
+ * 0 select
+ * -1 deselect
+ */
+
+/*
+ * Implement it as a weak default, so that boards with a specific
+ * chip-select routine can use their own function.
+ */
+void __mpc5121_nfc_select_chip(struct mtd_info *mtd, int chip)
+{
+ if (chip < 0) {
+ nfc_clear(mtd, NFC_CONFIG1, NFC_CE);
+ return;
+ }
+
+ nfc_clear(mtd, NFC_BUF_ADDR, NFC_ACTIVE_CS_MASK);
+ nfc_set(mtd, NFC_BUF_ADDR, (chip << NFC_ACTIVE_CS_SHIFT) &
+ NFC_ACTIVE_CS_MASK);
+ nfc_set(mtd, NFC_CONFIG1, NFC_CE);
+}
+void mpc5121_nfc_select_chip(struct mtd_info *mtd, int chip)
+ __attribute__((weak, alias("__mpc5121_nfc_select_chip")));
+
+void board_nand_select_device(struct nand_chip *nand, int chip)
+{
+ /*
+ * Only save this chip number in global variable here. This
+ * will be used later in mpc5121_nfc_select_chip().
+ */
+ mpc5121_nfc_chip = chip;
+}
+
+/* Read NAND Ready/Busy signal */
+static int mpc5121_nfc_dev_ready(struct mtd_info *mtd)
+{
+ /*
+ * NFC handles ready/busy signal internally. Therefore, this function
+ * always returns status as ready.
+ */
+ return 1;
+}
+
+/* Write command to NAND flash */
+static void mpc5121_nfc_command(struct mtd_info *mtd, unsigned command,
+ int column, int page)
+{
+ struct nand_chip *chip = mtd->priv;
+ struct mpc5121_nfc_prv *prv = chip->priv;
+
+ prv->column = (column >= 0) ? column : 0;
+ prv->spareonly = 0;
+
+ switch (command) {
+ case NAND_CMD_PAGEPROG:
+ mpc5121_nfc_send_prog_page(mtd);
+ break;
+ /*
+ * NFC does not support sub-page reads and writes,
+ * so emulate them using full page transfers.
+ */
+ case NAND_CMD_READ0:
+ column = 0;
+ break;
+
+ case NAND_CMD_READ1:
+ prv->column += 256;
+ command = NAND_CMD_READ0;
+ column = 0;
+ break;
+
+ case NAND_CMD_READOOB:
+ prv->spareonly = 1;
+ command = NAND_CMD_READ0;
+ column = 0;
+ break;
+
+ case NAND_CMD_SEQIN:
+ mpc5121_nfc_command(mtd, NAND_CMD_READ0, column, page);
+ column = 0;
+ break;
+
+ case NAND_CMD_ERASE1:
+ case NAND_CMD_ERASE2:
+ case NAND_CMD_READID:
+ case NAND_CMD_STATUS:
+ break;
+
+ default:
+ return;
+ }
+
+ mpc5121_nfc_send_cmd(mtd, command);
+ mpc5121_nfc_addr_cycle(mtd, column, page);
+
+ switch (command) {
+ case NAND_CMD_READ0:
+ if (mtd->writesize > 512)
+ mpc5121_nfc_send_cmd(mtd, NAND_CMD_READSTART);
+ mpc5121_nfc_send_read_page(mtd);
+ break;
+
+ case NAND_CMD_READID:
+ mpc5121_nfc_send_read_id(mtd);
+ break;
+
+ case NAND_CMD_STATUS:
+ mpc5121_nfc_send_read_status(mtd);
+ if (chip->options & NAND_BUSWIDTH_16)
+ prv->column = 1;
+ else
+ prv->column = 0;
+ break;
+ }
+}
+
+/* Copy data from/to NFC spare buffers. */
+static void mpc5121_nfc_copy_spare(struct mtd_info *mtd, uint offset,
+ u8 * buffer, uint size, int wr)
+{
+ struct nand_chip *nand = mtd->priv;
+ struct mpc5121_nfc_prv *prv = nand->priv;
+ uint o, s, sbsize, blksize;
+
+ /*
+ * NAND spare area is available through NFC spare buffers.
+ * The NFC divides spare area into (page_size / 512) chunks.
+ * Each chunk is placed into separate spare memory area, using
+ * first (spare_size / num_of_chunks) bytes of the buffer.
+ *
+ * For NAND device in which the spare area is not divided fully
+ * by the number of chunks, number of used bytes in each spare
+ * buffer is rounded down to the nearest even number of bytes,
+ * and all remaining bytes are added to the last used spare area.
+ *
+ * For more information read section 26.6.10 of MPC5121e
+ * Microcontroller Reference Manual, Rev. 3.
+ */
+
+ /* Calculate number of valid bytes in each spare buffer */
+ sbsize = (mtd->oobsize / (mtd->writesize / 512)) & ~1;
+
+ while (size) {
+ /* Calculate spare buffer number */
+ s = offset / sbsize;
+ if (s > NFC_SPARE_BUFFERS - 1)
+ s = NFC_SPARE_BUFFERS - 1;
+
+ /*
+ * Calculate offset to requested data block in selected spare
+ * buffer and its size.
+ */
+ o = offset - (s * sbsize);
+ blksize = min(sbsize - o, size);
+
+ if (wr)
+ memcpy_toio(prv->regs + NFC_SPARE_AREA(s) + o,
+ buffer, blksize);
+ else
+ memcpy_fromio(buffer,
+ prv->regs + NFC_SPARE_AREA(s) + o,
+ blksize);
+
+ buffer += blksize;
+ offset += blksize;
+ size -= blksize;
+ };
+}
+
+/* Copy data from/to NFC main and spare buffers */
+static void mpc5121_nfc_buf_copy(struct mtd_info *mtd, u_char * buf, int len,
+ int wr)
+{
+ struct nand_chip *chip = mtd->priv;
+ struct mpc5121_nfc_prv *prv = chip->priv;
+ uint c = prv->column;
+ uint l;
+
+ /* Handle spare area access */
+ if (prv->spareonly || c >= mtd->writesize) {
+ /* Calculate offset from beginning of spare area */
+ if (c >= mtd->writesize)
+ c -= mtd->writesize;
+
+ prv->column += len;
+ mpc5121_nfc_copy_spare(mtd, c, buf, len, wr);
+ return;
+ }
+
+ /*
+ * Handle main area access - limit copy length to prevent
+ * crossing main/spare boundary.
+ */
+ l = min((uint) len, mtd->writesize - c);
+ prv->column += l;
+
+ if (wr)
+ memcpy_toio(prv->regs + NFC_MAIN_AREA(0) + c, buf, l);
+ else
+ memcpy_fromio(buf, prv->regs + NFC_MAIN_AREA(0) + c, l);
+
+ /* Handle crossing main/spare boundary */
+ if (l != len) {
+ buf += l;
+ len -= l;
+ mpc5121_nfc_buf_copy(mtd, buf, len, wr);
+ }
+}
+
+/* Read data from NFC buffers */
+static void mpc5121_nfc_read_buf(struct mtd_info *mtd, u_char * buf, int len)
+{
+ mpc5121_nfc_buf_copy(mtd, buf, len, 0);
+}
+
+/* Write data to NFC buffers */
+static void mpc5121_nfc_write_buf(struct mtd_info *mtd,
+ const u_char * buf, int len)
+{
+ mpc5121_nfc_buf_copy(mtd, (u_char *) buf, len, 1);
+}
+
+/* Compare buffer with NAND flash */
+static int mpc5121_nfc_verify_buf(struct mtd_info *mtd,
+ const u_char * buf, int len)
+{
+ u_char tmp[256];
+ uint bsize;
+
+ while (len) {
+ bsize = min(len, 256);
+ mpc5121_nfc_read_buf(mtd, tmp, bsize);
+
+ if (memcmp(buf, tmp, bsize))
+ return 1;
+
+ buf += bsize;
+ len -= bsize;
+ }
+
+ return 0;
+}
+
+/* Read byte from NFC buffers */
+static u8 mpc5121_nfc_read_byte(struct mtd_info *mtd)
+{
+ u8 tmp;
+
+ mpc5121_nfc_read_buf(mtd, &tmp, sizeof(tmp));
+
+ return tmp;
+}
+
+/* Read word from NFC buffers */
+static u16 mpc5121_nfc_read_word(struct mtd_info *mtd)
+{
+ u16 tmp;
+
+ mpc5121_nfc_read_buf(mtd, (u_char *) & tmp, sizeof(tmp));
+
+ return tmp;
+}
+
+/*
+ * Read NFC configuration from Reset Config Word
+ *
+ * NFC is configured during reset in basis of information stored
+ * in Reset Config Word. There is no other way to set NAND block
+ * size, spare size and bus width.
+ */
+static int mpc5121_nfc_read_hw_config(struct mtd_info *mtd)
+{
+ immap_t *im = (immap_t *)CONFIG_SYS_IMMR;
+ struct nand_chip *chip = mtd->priv;
+ uint rcw_pagesize = 0;
+ uint rcw_sparesize = 0;
+ uint rcw_width;
+ uint rcwh;
+ uint romloc, ps;
+
+ rcwh = in_be32(&(im->reset.rcwh));
+
+ /* Bit 6: NFC bus width */
+ rcw_width = ((rcwh >> 6) & 0x1) ? 2 : 1;
+
+ /* Bit 7: NFC Page/Spare size */
+ ps = (rcwh >> 7) & 0x1;
+
+ /* Bits [22:21]: ROM Location */
+ romloc = (rcwh >> 21) & 0x3;
+
+ /* Decode RCW bits */
+ switch ((ps << 2) | romloc) {
+ case 0x00:
+ case 0x01:
+ rcw_pagesize = 512;
+ rcw_sparesize = 16;
+ break;
+ case 0x02:
+ case 0x03:
+ rcw_pagesize = 4096;
+ rcw_sparesize = 128;
+ break;
+ case 0x04:
+ case 0x05:
+ rcw_pagesize = 2048;
+ rcw_sparesize = 64;
+ break;
+ case 0x06:
+ case 0x07:
+ rcw_pagesize = 4096;
+ rcw_sparesize = 218;
+ break;
+ }
+
+ mtd->writesize = rcw_pagesize;
+ mtd->oobsize = rcw_sparesize;
+ if (rcw_width == 2)
+ chip->options |= NAND_BUSWIDTH_16;
+
+ debug(KERN_NOTICE DRV_NAME ": Configured for "
+ "%u-bit NAND, page size %u with %u spare.\n",
+ rcw_width * 8, rcw_pagesize, rcw_sparesize);
+ return 0;
+}
+
+int board_nand_init(struct nand_chip *chip)
+{
+ struct mpc5121_nfc_prv *prv;
+ struct mtd_info *mtd;
+ int resettime = 0;
+ int retval = 0;
+ int rev;
+ static int chip_nr = 0;
+
+ /*
+ * Check SoC revision. This driver supports only NFC
+ * in MPC5121 revision 2.
+ */
+ rev = (mfspr(SPRN_SVR) >> 4) & 0xF;
+ if (rev != 2) {
+ printk(KERN_ERR DRV_NAME
+ ": SoC revision %u is not supported!\n", rev);
+ return -ENXIO;
+ }
+
+ prv = malloc(sizeof(*prv));
+ if (!prv) {
+ printk(KERN_ERR DRV_NAME ": Memory exhausted!\n");
+ return -ENOMEM;
+ }
+
+ mtd = &nand_info[chip_nr++];
+ mtd->priv = chip;
+ chip->priv = prv;
+
+ /* Read NFC configuration from Reset Config Word */
+ retval = mpc5121_nfc_read_hw_config(mtd);
+ if (retval) {
+ printk(KERN_ERR DRV_NAME ": Unable to read NFC config!\n");
+ return retval;
+ }
+
+ prv->regs = (void __iomem *)CONFIG_SYS_NAND_BASE;
+ chip->dev_ready = mpc5121_nfc_dev_ready;
+ chip->cmdfunc = mpc5121_nfc_command;
+ chip->read_byte = mpc5121_nfc_read_byte;
+ chip->read_word = mpc5121_nfc_read_word;
+ chip->read_buf = mpc5121_nfc_read_buf;
+ chip->write_buf = mpc5121_nfc_write_buf;
+ chip->verify_buf = mpc5121_nfc_verify_buf;
+ chip->select_chip = mpc5121_nfc_select_chip;
+ chip->options = NAND_NO_AUTOINCR | NAND_USE_FLASH_BBT;
+ chip->ecc.mode = NAND_ECC_SOFT;
+
+ /* Reset NAND Flash controller */
+ nfc_set(mtd, NFC_CONFIG1, NFC_RESET);
+ while (nfc_read(mtd, NFC_CONFIG1) & NFC_RESET) {
+ if (resettime++ >= NFC_RESET_TIMEOUT) {
+ printk(KERN_ERR DRV_NAME
+ ": Timeout while resetting NFC!\n");
+ retval = -EINVAL;
+ goto error;
+ }
+
+ udelay(1);
+ }
+
+ /* Enable write to NFC memory */
+ nfc_write(mtd, NFC_CONFIG, NFC_BLS_UNLOCKED);
+
+ /* Enable write to all NAND pages */
+ nfc_write(mtd, NFC_UNLOCKSTART_BLK0, 0x0000);
+ nfc_write(mtd, NFC_UNLOCKEND_BLK0, 0xFFFF);
+ nfc_write(mtd, NFC_WRPROT, NFC_WPC_UNLOCK);
+
+ /*
+ * Setup NFC:
+ * - Big Endian transfers,
+ * - Interrupt after full page read/write.
+ */
+ nfc_write(mtd, NFC_CONFIG1, NFC_BIG_ENDIAN | NFC_INT_MASK |
+ NFC_FULL_PAGE_INT);
+
+ /* Set spare area size */
+ nfc_write(mtd, NFC_SPAS, mtd->oobsize >> 1);
+
+ /* Detect NAND chips */
+ if (nand_scan(mtd, 1)) {
+ printk(KERN_ERR DRV_NAME ": NAND Flash not found !\n");
+ retval = -ENXIO;
+ goto error;
+ }
+
+ /* Set erase block size */
+ switch (mtd->erasesize / mtd->writesize) {
+ case 32:
+ nfc_set(mtd, NFC_CONFIG1, NFC_PPB_32);
+ break;
+
+ case 64:
+ nfc_set(mtd, NFC_CONFIG1, NFC_PPB_64);
+ break;
+
+ case 128:
+ nfc_set(mtd, NFC_CONFIG1, NFC_PPB_128);
+ break;
+
+ case 256:
+ nfc_set(mtd, NFC_CONFIG1, NFC_PPB_256);
+ break;
+
+ default:
+ printk(KERN_ERR DRV_NAME ": Unsupported NAND flash!\n");
+ retval = -ENXIO;
+ goto error;
+ }
+
+ return 0;
+error:
+ return retval;
+}
--
1.6.3.2
2
2
Here's the Blackfin queue for the release after 2009.06. Pretty much all
just new board ports that have been cleaned up over time and should be
ready to go now. Some of these have been posted before in some incarnation
or another and afaik, all previous feedback should be integrated.
Hoan Hoang (1):
Blackfin: ibf-dsp561: new board port
Mike Frysinger (16):
Blackfin: add support for embedding the environment into LDRs
Blackfin: new spibootldr command
Blackfin: cm-bf533: new board port
Blackfin: cm-bf537e: new board port
Blackfin: cm-bf561: new board port
Blackfin: tcm-bf537: new board port
Blackfin: cm-bf548: new board port
Blackfin: cm-bf527: new board port
Blackfin: bf537-pnav: new board port
Blackfin: bf537-minotaur: new board port
Blackfin: bf537-srv1: new board port
Blackfin: blackstamp: new board port
Blackfin: make default ADI env more flexible
Blackfin: enable LZMA for all ADI boards
Blackfin: convert specific pre/post config headers to common method
Blackfin: bf518f-ezbrd: enable SST SPI flash driver
MAINTAINERS | 27 ++
MAKEALL | 11 +
Makefile | 15 +-
blackfin_config.mk | 7 +
board/bf537-minotaur/.gitignore | 1 +
board/bf537-minotaur/Makefile | 57 ++++
board/bf537-minotaur/bf537-minotaur.c | 56 ++++
board/bf537-minotaur/config.mk | 33 +++
board/bf537-minotaur/u-boot.lds.S | 143 ++++++++++
board/bf537-pnav/.gitignore | 1 +
board/bf537-pnav/Makefile | 57 ++++
board/bf537-pnav/bf537-pnav.c | 56 ++++
board/bf537-pnav/config.mk | 32 +++
board/bf537-pnav/u-boot.lds.S | 143 ++++++++++
board/bf537-srv1/.gitignore | 1 +
board/bf537-srv1/Makefile | 57 ++++
board/bf537-srv1/bf537-srv1.c | 56 ++++
board/bf537-srv1/config.mk | 33 +++
board/bf537-srv1/u-boot.lds.S | 143 ++++++++++
board/blackstamp/.gitignore | 1 +
board/blackstamp/Makefile | 57 ++++
board/blackstamp/blackstamp.c | 46 +++
board/blackstamp/config.mk | 32 +++
board/blackstamp/u-boot.lds.S | 143 ++++++++++
board/cm-bf527/.gitignore | 1 +
board/cm-bf527/Makefile | 57 ++++
board/cm-bf527/cm-bf527.c | 79 ++++++
board/cm-bf527/config.mk | 32 +++
board/cm-bf527/gpio.c | 74 +++++
board/cm-bf527/gpio_cfi_flash.c | 63 +++++
board/cm-bf527/gpio_cfi_flash.h | 10 +
board/cm-bf527/u-boot.lds.S | 124 +++++++++
board/cm-bf533/.gitignore | 1 +
board/cm-bf533/Makefile | 57 ++++
board/cm-bf533/cm-bf533.c | 25 ++
board/cm-bf533/config.mk | 33 +++
board/cm-bf533/u-boot.lds.S | 143 ++++++++++
board/cm-bf537e/.gitignore | 1 +
board/cm-bf537e/Makefile | 57 ++++
board/cm-bf537e/cm-bf537e.c | 59 ++++
board/cm-bf537e/config.mk | 33 +++
board/cm-bf537e/flash.c | 34 +++
board/cm-bf537e/gpio_cfi_flash.c | 60 ++++
board/cm-bf537e/gpio_cfi_flash.h | 10 +
board/cm-bf537e/u-boot.lds.S | 143 ++++++++++
board/cm-bf548/.gitignore | 1 +
board/cm-bf548/Makefile | 58 ++++
board/cm-bf548/cm-bf548.c | 79 ++++++
board/cm-bf548/config.mk | 36 +++
board/cm-bf548/u-boot.lds.S | 124 +++++++++
board/cm-bf548/video.c | 339 +++++++++++++++++++++++
board/cm-bf561/.gitignore | 1 +
board/cm-bf561/Makefile | 57 ++++
board/cm-bf561/cm-bf561.c | 25 ++
board/cm-bf561/config.mk | 33 +++
board/cm-bf561/u-boot.lds.S | 150 ++++++++++
board/ibf-dsp561/.gitignore | 1 +
board/ibf-dsp561/Makefile | 57 ++++
board/ibf-dsp561/config.mk | 33 +++
board/ibf-dsp561/ibf-dsp561.c | 25 ++
board/ibf-dsp561/u-boot.lds.S | 152 ++++++++++
board/tcm-bf537/.gitignore | 1 +
board/tcm-bf537/Makefile | 57 ++++
board/tcm-bf537/config.mk | 33 +++
board/tcm-bf537/flash.c | 37 +++
board/tcm-bf537/gpio_cfi_flash.c | 62 ++++
board/tcm-bf537/gpio_cfi_flash.h | 10 +
board/tcm-bf537/tcm-bf537.c | 59 ++++
board/tcm-bf537/u-boot.lds.S | 143 ++++++++++
common/Makefile | 1 +
common/cmd_spibootldr.c | 36 +++
include/asm-blackfin/blackfin-config-post.h | 149 ----------
include/asm-blackfin/blackfin-config-pre.h | 74 -----
include/asm-blackfin/config-pre.h | 74 +++++
include/asm-blackfin/config.h | 159 ++++++++++--
include/asm-blackfin/mach-common/bits/bootrom.h | 27 ++
include/configs/bf518f-ezbrd.h | 5 +-
include/configs/bf526-ezbrd.h | 4 +-
include/configs/bf527-ezkit.h | 4 +-
include/configs/bf533-ezkit.h | 4 +-
include/configs/bf533-stamp.h | 4 +-
include/configs/bf537-minotaur.h | 201 ++++++++++++++
include/configs/bf537-pnav.h | 170 ++++++++++++
include/configs/bf537-srv1.h | 201 ++++++++++++++
include/configs/bf537-stamp.h | 4 +-
include/configs/bf538f-ezkit.h | 4 +-
include/configs/bf548-ezkit.h | 4 +-
include/configs/bf561-ezkit.h | 6 +-
include/configs/bfin_adi_common.h | 36 ++-
include/configs/blackstamp.h | 273 ++++++++++++++++++
include/configs/cm-bf527.h | 135 +++++++++
include/configs/cm-bf533.h | 102 +++++++
include/configs/cm-bf537e.h | 122 ++++++++
include/configs/cm-bf548.h | 139 +++++++++
include/configs/cm-bf561.h | 102 +++++++
include/configs/ibf-dsp561.h | 128 +++++++++
include/configs/tcm-bf537.h | 124 +++++++++
97 files changed, 5895 insertions(+), 274 deletions(-)
create mode 100644 board/bf537-minotaur/.gitignore
create mode 100644 board/bf537-minotaur/Makefile
create mode 100644 board/bf537-minotaur/bf537-minotaur.c
create mode 100644 board/bf537-minotaur/config.mk
create mode 100644 board/bf537-minotaur/u-boot.lds.S
create mode 100644 board/bf537-pnav/.gitignore
create mode 100644 board/bf537-pnav/Makefile
create mode 100644 board/bf537-pnav/bf537-pnav.c
create mode 100644 board/bf537-pnav/config.mk
create mode 100644 board/bf537-pnav/u-boot.lds.S
create mode 100644 board/bf537-srv1/.gitignore
create mode 100644 board/bf537-srv1/Makefile
create mode 100644 board/bf537-srv1/bf537-srv1.c
create mode 100644 board/bf537-srv1/config.mk
create mode 100644 board/bf537-srv1/u-boot.lds.S
create mode 100644 board/blackstamp/.gitignore
create mode 100644 board/blackstamp/Makefile
create mode 100644 board/blackstamp/blackstamp.c
create mode 100644 board/blackstamp/config.mk
create mode 100644 board/blackstamp/u-boot.lds.S
create mode 100644 board/cm-bf527/.gitignore
create mode 100644 board/cm-bf527/Makefile
create mode 100644 board/cm-bf527/cm-bf527.c
create mode 100644 board/cm-bf527/config.mk
create mode 100644 board/cm-bf527/gpio.c
create mode 100644 board/cm-bf527/gpio_cfi_flash.c
create mode 100644 board/cm-bf527/gpio_cfi_flash.h
create mode 100644 board/cm-bf527/u-boot.lds.S
create mode 100644 board/cm-bf533/.gitignore
create mode 100644 board/cm-bf533/Makefile
create mode 100644 board/cm-bf533/cm-bf533.c
create mode 100644 board/cm-bf533/config.mk
create mode 100644 board/cm-bf533/u-boot.lds.S
create mode 100644 board/cm-bf537e/.gitignore
create mode 100644 board/cm-bf537e/Makefile
create mode 100644 board/cm-bf537e/cm-bf537e.c
create mode 100644 board/cm-bf537e/config.mk
create mode 100644 board/cm-bf537e/flash.c
create mode 100644 board/cm-bf537e/gpio_cfi_flash.c
create mode 100644 board/cm-bf537e/gpio_cfi_flash.h
create mode 100644 board/cm-bf537e/u-boot.lds.S
create mode 100644 board/cm-bf548/.gitignore
create mode 100644 board/cm-bf548/Makefile
create mode 100644 board/cm-bf548/cm-bf548.c
create mode 100644 board/cm-bf548/config.mk
create mode 100644 board/cm-bf548/u-boot.lds.S
create mode 100644 board/cm-bf548/video.c
create mode 100644 board/cm-bf561/.gitignore
create mode 100644 board/cm-bf561/Makefile
create mode 100644 board/cm-bf561/cm-bf561.c
create mode 100644 board/cm-bf561/config.mk
create mode 100644 board/cm-bf561/u-boot.lds.S
create mode 100644 board/ibf-dsp561/.gitignore
create mode 100644 board/ibf-dsp561/Makefile
create mode 100644 board/ibf-dsp561/config.mk
create mode 100644 board/ibf-dsp561/ibf-dsp561.c
create mode 100644 board/ibf-dsp561/u-boot.lds.S
create mode 100644 board/tcm-bf537/.gitignore
create mode 100644 board/tcm-bf537/Makefile
create mode 100644 board/tcm-bf537/config.mk
create mode 100644 board/tcm-bf537/flash.c
create mode 100644 board/tcm-bf537/gpio_cfi_flash.c
create mode 100644 board/tcm-bf537/gpio_cfi_flash.h
create mode 100644 board/tcm-bf537/tcm-bf537.c
create mode 100644 board/tcm-bf537/u-boot.lds.S
create mode 100644 common/cmd_spibootldr.c
delete mode 100644 include/asm-blackfin/blackfin-config-post.h
delete mode 100644 include/asm-blackfin/blackfin-config-pre.h
create mode 100644 include/asm-blackfin/config-pre.h
create mode 100644 include/configs/bf537-minotaur.h
create mode 100644 include/configs/bf537-pnav.h
create mode 100644 include/configs/bf537-srv1.h
create mode 100644 include/configs/blackstamp.h
create mode 100644 include/configs/cm-bf527.h
create mode 100644 include/configs/cm-bf533.h
create mode 100644 include/configs/cm-bf537e.h
create mode 100644 include/configs/cm-bf548.h
create mode 100644 include/configs/cm-bf561.h
create mode 100644 include/configs/ibf-dsp561.h
create mode 100644 include/configs/tcm-bf537.h
2
19
All the Blackfin linker scripts were duplicated across the board dirs with
no difference save from the semi-often used ENV_IS_EMBEDDED option. So
unify all of them in the lib_blackfin/ dir and for the few boards that
need to embedded the environment directly, add a LDS_BOARD_TEXT define for
them to customize via their board config file. This is much simpler than
forcing them to duplicate the rest of the linker script.
Signed-off-by: Mike Frysinger <vapier(a)gentoo.org>
---
note: i've filtered the deleted u-boot.lds.S files from the diff because
that takes the output from ~40k to ~120k, and it's just useless noise here.
you can see in the diffstat all the linker scripts that were punted.
Makefile | 6 +-
blackfin_config.mk | 4 +
board/bf518f-ezbrd/.gitignore | 1 -
board/bf518f-ezbrd/Makefile | 5 +-
board/bf518f-ezbrd/config.mk | 2 -
board/bf518f-ezbrd/u-boot.lds.S | 124 ------------------------------
board/bf526-ezbrd/.gitignore | 1 -
board/bf526-ezbrd/Makefile | 5 +-
board/bf526-ezbrd/config.mk | 2 -
board/bf526-ezbrd/u-boot.lds.S | 124 ------------------------------
board/bf527-ezkit/.gitignore | 1 -
board/bf527-ezkit/Makefile | 5 +-
board/bf527-ezkit/config.mk | 2 -
board/bf527-ezkit/u-boot.lds.S | 124 ------------------------------
board/bf533-ezkit/.gitignore | 1 -
board/bf533-ezkit/Makefile | 5 +-
board/bf533-ezkit/config.mk | 2 -
board/bf533-ezkit/u-boot.lds.S | 145 -----------------------------------
board/bf533-stamp/.gitignore | 1 -
board/bf533-stamp/Makefile | 5 +-
board/bf533-stamp/config.mk | 2 -
board/bf533-stamp/u-boot.lds.S | 143 ----------------------------------
board/bf537-minotaur/.gitignore | 1 -
board/bf537-minotaur/Makefile | 5 +-
board/bf537-minotaur/config.mk | 2 -
board/bf537-minotaur/u-boot.lds.S | 143 ----------------------------------
board/bf537-pnav/.gitignore | 1 -
board/bf537-pnav/Makefile | 5 +-
board/bf537-pnav/config.mk | 2 -
board/bf537-pnav/u-boot.lds.S | 143 ----------------------------------
board/bf537-srv1/.gitignore | 1 -
board/bf537-srv1/Makefile | 5 +-
board/bf537-srv1/config.mk | 2 -
board/bf537-srv1/u-boot.lds.S | 143 ----------------------------------
board/bf537-stamp/.gitignore | 1 -
board/bf537-stamp/Makefile | 5 +-
board/bf537-stamp/config.mk | 2 -
board/bf537-stamp/u-boot.lds.S | 143 ----------------------------------
board/bf538f-ezkit/.gitignore | 1 -
board/bf538f-ezkit/Makefile | 5 +-
board/bf538f-ezkit/config.mk | 2 -
board/bf538f-ezkit/u-boot.lds.S | 143 ----------------------------------
board/bf548-ezkit/.gitignore | 1 -
board/bf548-ezkit/Makefile | 5 +-
board/bf548-ezkit/config.mk | 2 -
board/bf548-ezkit/u-boot.lds.S | 124 ------------------------------
board/bf561-ezkit/.gitignore | 1 -
board/bf561-ezkit/Makefile | 5 +-
board/bf561-ezkit/config.mk | 2 -
board/bf561-ezkit/u-boot.lds.S | 152 -------------------------------------
board/blackstamp/.gitignore | 1 -
board/blackstamp/Makefile | 5 +-
board/blackstamp/config.mk | 2 -
board/blackstamp/u-boot.lds.S | 143 ----------------------------------
board/cm-bf527/.gitignore | 1 -
board/cm-bf527/Makefile | 5 +-
board/cm-bf527/config.mk | 2 -
board/cm-bf527/u-boot.lds.S | 124 ------------------------------
board/cm-bf533/.gitignore | 1 -
board/cm-bf533/Makefile | 5 +-
board/cm-bf533/config.mk | 2 -
board/cm-bf533/u-boot.lds.S | 143 ----------------------------------
board/cm-bf537e/.gitignore | 1 -
board/cm-bf537e/Makefile | 5 +-
board/cm-bf537e/config.mk | 2 -
board/cm-bf537e/u-boot.lds.S | 143 ----------------------------------
board/cm-bf548/.gitignore | 1 -
board/cm-bf548/Makefile | 5 +-
board/cm-bf548/config.mk | 2 -
board/cm-bf548/u-boot.lds.S | 124 ------------------------------
board/cm-bf561/.gitignore | 1 -
board/cm-bf561/Makefile | 5 +-
board/cm-bf561/config.mk | 2 -
board/cm-bf561/u-boot.lds.S | 150 ------------------------------------
board/ibf-dsp561/.gitignore | 1 -
board/ibf-dsp561/Makefile | 5 +-
board/ibf-dsp561/config.mk | 2 -
board/ibf-dsp561/u-boot.lds.S | 152 -------------------------------------
board/tcm-bf537/.gitignore | 1 -
board/tcm-bf537/Makefile | 5 +-
board/tcm-bf537/config.mk | 2 -
board/tcm-bf537/u-boot.lds.S | 143 ----------------------------------
include/configs/bf533-stamp.h | 15 ++++
include/configs/bf537-pnav.h | 15 ++++
include/configs/bf537-stamp.h | 15 ++++
include/configs/bf538f-ezkit.h | 15 ++++
include/configs/bf561-ezkit.h | 17 ++++
include/configs/cm-bf537e.h | 15 ++++
include/configs/ibf-dsp561.h | 17 ++++
include/configs/tcm-bf537.h | 15 ++++
lib_blackfin/.gitignore | 1 +
lib_blackfin/Makefile | 5 +-
lib_blackfin/u-boot.lds.S | 132 ++++++++++++++++++++++++++++++++
93 files changed, 286 insertions(+), 2919 deletions(-)
delete mode 100644 board/bf518f-ezbrd/.gitignore
delete mode 100644 board/bf518f-ezbrd/u-boot.lds.S
delete mode 100644 board/bf526-ezbrd/.gitignore
delete mode 100644 board/bf526-ezbrd/u-boot.lds.S
delete mode 100644 board/bf527-ezkit/.gitignore
delete mode 100644 board/bf527-ezkit/u-boot.lds.S
delete mode 100644 board/bf533-ezkit/.gitignore
delete mode 100644 board/bf533-ezkit/u-boot.lds.S
delete mode 100644 board/bf533-stamp/.gitignore
delete mode 100644 board/bf533-stamp/u-boot.lds.S
delete mode 100644 board/bf537-minotaur/.gitignore
delete mode 100644 board/bf537-minotaur/u-boot.lds.S
delete mode 100644 board/bf537-pnav/.gitignore
delete mode 100644 board/bf537-pnav/u-boot.lds.S
delete mode 100644 board/bf537-srv1/.gitignore
delete mode 100644 board/bf537-srv1/u-boot.lds.S
delete mode 100644 board/bf537-stamp/.gitignore
delete mode 100644 board/bf537-stamp/u-boot.lds.S
delete mode 100644 board/bf538f-ezkit/.gitignore
delete mode 100644 board/bf538f-ezkit/u-boot.lds.S
delete mode 100644 board/bf548-ezkit/.gitignore
delete mode 100644 board/bf548-ezkit/u-boot.lds.S
delete mode 100644 board/bf561-ezkit/.gitignore
delete mode 100644 board/bf561-ezkit/u-boot.lds.S
delete mode 100644 board/blackstamp/.gitignore
delete mode 100644 board/blackstamp/u-boot.lds.S
delete mode 100644 board/cm-bf527/.gitignore
delete mode 100644 board/cm-bf527/u-boot.lds.S
delete mode 100644 board/cm-bf533/.gitignore
delete mode 100644 board/cm-bf533/u-boot.lds.S
delete mode 100644 board/cm-bf537e/.gitignore
delete mode 100644 board/cm-bf537e/u-boot.lds.S
delete mode 100644 board/cm-bf548/.gitignore
delete mode 100644 board/cm-bf548/u-boot.lds.S
delete mode 100644 board/cm-bf561/.gitignore
delete mode 100644 board/cm-bf561/u-boot.lds.S
delete mode 100644 board/ibf-dsp561/.gitignore
delete mode 100644 board/ibf-dsp561/u-boot.lds.S
delete mode 100644 board/tcm-bf537/.gitignore
delete mode 100644 board/tcm-bf537/u-boot.lds.S
create mode 100644 lib_blackfin/.gitignore
create mode 100644 lib_blackfin/u-boot.lds.S
diff --git a/Makefile b/Makefile
index 8fe6bd4..aa9cb8c 100644
--- a/Makefile
+++ b/Makefile
@@ -3562,11 +3562,7 @@ clean:
$(obj)board/netstar/{eeprom,crcek,crcit,*.srec,*.bin} \
$(obj)board/trab/trab_fkt $(obj)board/voiceblue/eeprom \
$(obj)board/armltd/{integratorap,integratorcp}/u-boot.lds \
- $(obj)board/bf5{18f,26,27,33,38f,48,61}-ez{brd,kit}/u-boot.lds \
- $(obj)board/bf5{33,37}-stamp/u-boot.lds \
- $(obj)board/{bf537-{minotaur,pnav,srv1},blackstamp}/u-boot.lds \
- $(obj)board/{,t}cm-bf5{27,33,37e,48,61}/u-boot.lds \
- $(obj)board/ibf-dsp561/u-boot.lds \
+ $(obj)lib_blackfin/u-boot.lds \
$(obj)cpu/blackfin/bootrom-asm-offsets.[chs]
@rm -f $(obj)include/bmp_logo.h
@rm -f $(obj)nand_spl/{u-boot-spl,u-boot-spl.map,System.map}
diff --git a/blackfin_config.mk b/blackfin_config.mk
index 00e3bfc..989e976 100644
--- a/blackfin_config.mk
+++ b/blackfin_config.mk
@@ -56,3 +56,7 @@ LDR_FLAGS += --quiet
endif
LDR_FLAGS += $(LDR_FLAGS-y)
+
+ifeq ($(wildcard $(TOPDIR)/board/$(BOARD)/u-boot.lds*),)
+LDSCRIPT = $(obj)lib_$(ARCH)/u-boot.lds
+endif
diff --git a/board/bf518f-ezbrd/Makefile b/board/bf518f-ezbrd/Makefile
index 1b21728..f2bd2c2 100644
--- a/board/bf518f-ezbrd/Makefile
+++ b/board/bf518f-ezbrd/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf518f-ezbrd/config.mk b/board/bf518f-ezbrd/config.mk
index f4a5a80..eaa09ff 100644
--- a/board/bf518f-ezbrd/config.mk
+++ b/board/bf518f-ezbrd/config.mk
@@ -26,7 +26,5 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/bf526-ezbrd/Makefile b/board/bf526-ezbrd/Makefile
index 88846ba..a9ff760 100644
--- a/board/bf526-ezbrd/Makefile
+++ b/board/bf526-ezbrd/Makefile
@@ -36,12 +36,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf526-ezbrd/config.mk b/board/bf526-ezbrd/config.mk
index f4a5a80..eaa09ff 100644
--- a/board/bf526-ezbrd/config.mk
+++ b/board/bf526-ezbrd/config.mk
@@ -26,7 +26,5 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/bf527-ezkit/Makefile b/board/bf527-ezkit/Makefile
index c2b98ec..1a2f4b1 100644
--- a/board/bf527-ezkit/Makefile
+++ b/board/bf527-ezkit/Makefile
@@ -36,12 +36,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf527-ezkit/config.mk b/board/bf527-ezkit/config.mk
index f4a5a80..eaa09ff 100644
--- a/board/bf527-ezkit/config.mk
+++ b/board/bf527-ezkit/config.mk
@@ -26,7 +26,5 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/bf533-ezkit/Makefile b/board/bf533-ezkit/Makefile
index 1260277..487b737 100644
--- a/board/bf533-ezkit/Makefile
+++ b/board/bf533-ezkit/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf533-ezkit/config.mk b/board/bf533-ezkit/config.mk
index c8b9fb8..9847924 100644
--- a/board/bf533-ezkit/config.mk
+++ b/board/bf533-ezkit/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --bits 16 --dma 8
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/bf533-stamp/Makefile b/board/bf533-stamp/Makefile
index 0f52837..dbba12b 100644
--- a/board/bf533-stamp/Makefile
+++ b/board/bf533-stamp/Makefile
@@ -36,12 +36,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf533-stamp/config.mk b/board/bf533-stamp/config.mk
index c8b9fb8..9847924 100644
--- a/board/bf533-stamp/config.mk
+++ b/board/bf533-stamp/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --bits 16 --dma 8
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/bf537-minotaur/Makefile b/board/bf537-minotaur/Makefile
index 1b21728..f2bd2c2 100644
--- a/board/bf537-minotaur/Makefile
+++ b/board/bf537-minotaur/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf537-minotaur/config.mk b/board/bf537-minotaur/config.mk
index feafcef..d830843 100644
--- a/board/bf537-minotaur/config.mk
+++ b/board/bf537-minotaur/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_UART := --port g --gpio 6
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/bf537-pnav/Makefile b/board/bf537-pnav/Makefile
index 1b21728..f2bd2c2 100644
--- a/board/bf537-pnav/Makefile
+++ b/board/bf537-pnav/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf537-pnav/config.mk b/board/bf537-pnav/config.mk
index f4a5a80..eaa09ff 100644
--- a/board/bf537-pnav/config.mk
+++ b/board/bf537-pnav/config.mk
@@ -26,7 +26,5 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/bf537-srv1/Makefile b/board/bf537-srv1/Makefile
index 1b21728..f2bd2c2 100644
--- a/board/bf537-srv1/Makefile
+++ b/board/bf537-srv1/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf537-srv1/config.mk b/board/bf537-srv1/config.mk
index feafcef..d830843 100644
--- a/board/bf537-srv1/config.mk
+++ b/board/bf537-srv1/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_UART := --port g --gpio 6
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/bf537-stamp/Makefile b/board/bf537-stamp/Makefile
index 1dbf406..4c9e015 100644
--- a/board/bf537-stamp/Makefile
+++ b/board/bf537-stamp/Makefile
@@ -39,12 +39,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf537-stamp/config.mk b/board/bf537-stamp/config.mk
index 719b97e..d9e884e 100644
--- a/board/bf537-stamp/config.mk
+++ b/board/bf537-stamp/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --bits 16 --dma 8
LDR_FLAGS-BFIN_BOOT_UART := --port g --gpio 6
diff --git a/board/bf538f-ezkit/Makefile b/board/bf538f-ezkit/Makefile
index 1b21728..f2bd2c2 100644
--- a/board/bf538f-ezkit/Makefile
+++ b/board/bf538f-ezkit/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf538f-ezkit/config.mk b/board/bf538f-ezkit/config.mk
index c8b9fb8..9847924 100644
--- a/board/bf538f-ezkit/config.mk
+++ b/board/bf538f-ezkit/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --bits 16 --dma 8
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/bf548-ezkit/Makefile b/board/bf548-ezkit/Makefile
index c2b98ec..1a2f4b1 100644
--- a/board/bf548-ezkit/Makefile
+++ b/board/bf548-ezkit/Makefile
@@ -36,12 +36,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf548-ezkit/config.mk b/board/bf548-ezkit/config.mk
index 8b471f6..95ab6b3 100644
--- a/board/bf548-ezkit/config.mk
+++ b/board/bf548-ezkit/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --dma 6
LDR_FLAGS-BFIN_BOOT_FIFO := --dma 1
diff --git a/board/bf561-ezkit/Makefile b/board/bf561-ezkit/Makefile
index daebb74..bfeaf79 100644
--- a/board/bf561-ezkit/Makefile
+++ b/board/bf561-ezkit/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/bf561-ezkit/config.mk b/board/bf561-ezkit/config.mk
index 710809a..77c888b 100644
--- a/board/bf561-ezkit/config.mk
+++ b/board/bf561-ezkit/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --bits 16
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/blackstamp/Makefile b/board/blackstamp/Makefile
index 1b21728..f2bd2c2 100644
--- a/board/blackstamp/Makefile
+++ b/board/blackstamp/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/blackstamp/config.mk b/board/blackstamp/config.mk
index f4a5a80..eaa09ff 100644
--- a/board/blackstamp/config.mk
+++ b/board/blackstamp/config.mk
@@ -26,7 +26,5 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/cm-bf527/Makefile b/board/cm-bf527/Makefile
index 07d285e..c2cd244 100644
--- a/board/cm-bf527/Makefile
+++ b/board/cm-bf527/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/cm-bf527/config.mk b/board/cm-bf527/config.mk
index f4a5a80..eaa09ff 100644
--- a/board/cm-bf527/config.mk
+++ b/board/cm-bf527/config.mk
@@ -26,7 +26,5 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/cm-bf533/Makefile b/board/cm-bf533/Makefile
index 1b21728..f2bd2c2 100644
--- a/board/cm-bf533/Makefile
+++ b/board/cm-bf533/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/cm-bf533/config.mk b/board/cm-bf533/config.mk
index c8b9fb8..9847924 100644
--- a/board/cm-bf533/config.mk
+++ b/board/cm-bf533/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --bits 16 --dma 8
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/cm-bf537e/Makefile b/board/cm-bf537e/Makefile
index f8c270e..3812ba1 100644
--- a/board/cm-bf537e/Makefile
+++ b/board/cm-bf537e/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/cm-bf537e/config.mk b/board/cm-bf537e/config.mk
index c8b9fb8..9847924 100644
--- a/board/cm-bf537e/config.mk
+++ b/board/cm-bf537e/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --bits 16 --dma 8
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/cm-bf548/Makefile b/board/cm-bf548/Makefile
index c2b98ec..1a2f4b1 100644
--- a/board/cm-bf548/Makefile
+++ b/board/cm-bf548/Makefile
@@ -36,12 +36,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/cm-bf548/config.mk b/board/cm-bf548/config.mk
index 0dbce93..396f20a 100644
--- a/board/cm-bf548/config.mk
+++ b/board/cm-bf548/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --dma 6
LDR_FLAGS-BFIN_BOOT_FIFO := --dma 1
diff --git a/board/cm-bf561/Makefile b/board/cm-bf561/Makefile
index 1b21728..f2bd2c2 100644
--- a/board/cm-bf561/Makefile
+++ b/board/cm-bf561/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/cm-bf561/config.mk b/board/cm-bf561/config.mk
index 710809a..77c888b 100644
--- a/board/cm-bf561/config.mk
+++ b/board/cm-bf561/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --bits 16
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/ibf-dsp561/Makefile b/board/ibf-dsp561/Makefile
index daebb74..bfeaf79 100644
--- a/board/ibf-dsp561/Makefile
+++ b/board/ibf-dsp561/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/ibf-dsp561/config.mk b/board/ibf-dsp561/config.mk
index 710809a..77c888b 100644
--- a/board/ibf-dsp561/config.mk
+++ b/board/ibf-dsp561/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --bits 16
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/board/tcm-bf537/Makefile b/board/tcm-bf537/Makefile
index f8c270e..3812ba1 100644
--- a/board/tcm-bf537/Makefile
+++ b/board/tcm-bf537/Makefile
@@ -35,12 +35,9 @@ SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
SOBJS := $(addprefix $(obj),$(SOBJS-y))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(obj)u-boot.lds
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
-$(obj)u-boot.lds: u-boot.lds.S
- $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
-
clean:
rm -f $(SOBJS) $(OBJS)
diff --git a/board/tcm-bf537/config.mk b/board/tcm-bf537/config.mk
index c8b9fb8..9847924 100644
--- a/board/tcm-bf537/config.mk
+++ b/board/tcm-bf537/config.mk
@@ -26,8 +26,6 @@
# This is not actually used for Blackfin boards so do not change it
#TEXT_BASE = do-not-use-me
-LDSCRIPT = $(obj)board/$(BOARDDIR)/u-boot.lds
-
# Set some default LDR flags based on boot mode.
LDR_FLAGS-BFIN_BOOT_PARA := --bits 16 --dma 8
LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
diff --git a/include/configs/bf533-stamp.h b/include/configs/bf533-stamp.h
index 242bf5a..579540e 100644
--- a/include/configs/bf533-stamp.h
+++ b/include/configs/bf533-stamp.h
@@ -117,6 +117,21 @@
#else
#define ENV_IS_EMBEDDED_CUSTOM
#endif
+#ifdef ENV_IS_EMBEDDED
+/* WARNING - the following is hand-optimized to fit within
+ * the sector before the environment sector. If it throws
+ * an error during compilation remove an object here to get
+ * it linked after the configuration sector.
+ */
+# define LDS_BOARD_TEXT \
+ cpu/blackfin/traps.o (.text .text.*); \
+ cpu/blackfin/interrupt.o (.text .text.*); \
+ cpu/blackfin/serial.o (.text .text.*); \
+ common/dlmalloc.o (.text .text.*); \
+ lib_generic/crc32.o (.text .text.*); \
+ . = DEFINED(env_offset) ? env_offset : .; \
+ common/env_embedded.o (.text .text.*);
+#endif
/*
diff --git a/include/configs/bf537-pnav.h b/include/configs/bf537-pnav.h
index c8a59ab..284c7fc 100644
--- a/include/configs/bf537-pnav.h
+++ b/include/configs/bf537-pnav.h
@@ -105,6 +105,21 @@
#endif
#define CONFIG_ENV_SIZE 0x1000
#define CONFIG_ENV_SECT_SIZE 0x2000
+#ifdef ENV_IS_EMBEDDED
+/* WARNING - the following is hand-optimized to fit within
+ * the sector before the environment sector. If it throws
+ * an error during compilation remove an object here to get
+ * it linked after the configuration sector.
+ */
+# define LDS_BOARD_TEXT \
+ cpu/blackfin/traps.o (.text .text.*); \
+ cpu/blackfin/interrupt.o (.text .text.*); \
+ cpu/blackfin/serial.o (.text .text.*); \
+ common/dlmalloc.o (.text .text.*); \
+ lib_generic/crc32.o (.text .text.*); \
+ . = DEFINED(env_offset) ? env_offset : .; \
+ common/env_embedded.o (.text .text.*);
+#endif
/*
diff --git a/include/configs/bf537-stamp.h b/include/configs/bf537-stamp.h
index a8c5b91..e883f2e 100644
--- a/include/configs/bf537-stamp.h
+++ b/include/configs/bf537-stamp.h
@@ -115,6 +115,21 @@
#else
#define ENV_IS_EMBEDDED_CUSTOM
#endif
+#ifdef ENV_IS_EMBEDDED
+/* WARNING - the following is hand-optimized to fit within
+ * the sector before the environment sector. If it throws
+ * an error during compilation remove an object here to get
+ * it linked after the configuration sector.
+ */
+# define LDS_BOARD_TEXT \
+ cpu/blackfin/traps.o (.text .text.*); \
+ cpu/blackfin/interrupt.o (.text .text.*); \
+ cpu/blackfin/serial.o (.text .text.*); \
+ common/dlmalloc.o (.text .text.*); \
+ lib_generic/crc32.o (.text .text.*); \
+ . = DEFINED(env_offset) ? env_offset : .; \
+ common/env_embedded.o (.text .text.*);
+#endif
/*
diff --git a/include/configs/bf538f-ezkit.h b/include/configs/bf538f-ezkit.h
index f719acc..91622e3 100644
--- a/include/configs/bf538f-ezkit.h
+++ b/include/configs/bf538f-ezkit.h
@@ -111,6 +111,21 @@
#else
#define ENV_IS_EMBEDDED_CUSTOM
#endif
+#ifdef ENV_IS_EMBEDDED
+/* WARNING - the following is hand-optimized to fit within
+ * the sector before the environment sector. If it throws
+ * an error during compilation remove an object here to get
+ * it linked after the configuration sector.
+ */
+# define LDS_BOARD_TEXT \
+ cpu/blackfin/traps.o (.text .text.*); \
+ cpu/blackfin/interrupt.o (.text .text.*); \
+ cpu/blackfin/serial.o (.text .text.*); \
+ common/dlmalloc.o (.text .text.*); \
+ lib_generic/crc32.o (.text .text.*); \
+ . = DEFINED(env_offset) ? env_offset : .; \
+ common/env_embedded.o (.text .text.*);
+#endif
/*
diff --git a/include/configs/bf561-ezkit.h b/include/configs/bf561-ezkit.h
index e7cfc8a..4779a97 100644
--- a/include/configs/bf561-ezkit.h
+++ b/include/configs/bf561-ezkit.h
@@ -88,6 +88,23 @@
#else
#define ENV_IS_EMBEDDED_CUSTOM
#endif
+#ifdef ENV_IS_EMBEDDED
+/* WARNING - the following is hand-optimized to fit within
+ * the sector before the environment sector. If it throws
+ * an error during compilation remove an object here to get
+ * it linked after the configuration sector.
+ */
+# define LDS_BOARD_TEXT \
+ cpu/blackfin/traps.o (.text .text.*); \
+ cpu/blackfin/interrupt.o (.text .text.*); \
+ cpu/blackfin/serial.o (.text .text.*); \
+ common/dlmalloc.o (.text .text.*); \
+ lib_generic/crc32.o (.text .text.*); \
+ lib_generic/zlib.o (.text .text.*); \
+ board/bf561-ezkit/bf561-ezkit.o (.text .text.*); \
+ . = DEFINED(env_offset) ? env_offset : .; \
+ common/env_embedded.o (.text .text.*);
+#endif
/*
diff --git a/include/configs/cm-bf537e.h b/include/configs/cm-bf537e.h
index 65604ed..021b631 100644
--- a/include/configs/cm-bf537e.h
+++ b/include/configs/cm-bf537e.h
@@ -94,6 +94,21 @@
#else
#define ENV_IS_EMBEDDED_CUSTOM
#endif
+#ifdef ENV_IS_EMBEDDED
+/* WARNING - the following is hand-optimized to fit within
+ * the sector before the environment sector. If it throws
+ * an error during compilation remove an object here to get
+ * it linked after the configuration sector.
+ */
+# define LDS_BOARD_TEXT \
+ cpu/blackfin/traps.o (.text .text.*); \
+ cpu/blackfin/interrupt.o (.text .text.*); \
+ cpu/blackfin/serial.o (.text .text.*); \
+ common/dlmalloc.o (.text .text.*); \
+ lib_generic/crc32.o (.text .text.*); \
+ . = DEFINED(env_offset) ? env_offset : .; \
+ common/env_embedded.o (.text .text.*);
+#endif
/*
diff --git a/include/configs/ibf-dsp561.h b/include/configs/ibf-dsp561.h
index 7738742..066859f 100644
--- a/include/configs/ibf-dsp561.h
+++ b/include/configs/ibf-dsp561.h
@@ -77,6 +77,23 @@
#else
#define ENV_IS_EMBEDDED_CUSTOM
#endif
+#ifdef ENV_IS_EMBEDDED
+/* WARNING - the following is hand-optimized to fit within
+ * the sector before the environment sector. If it throws
+ * an error during compilation remove an object here to get
+ * it linked after the configuration sector.
+ */
+# define LDS_BOARD_TEXT \
+ cpu/blackfin/traps.o (.text .text.*); \
+ cpu/blackfin/interrupt.o (.text .text.*); \
+ cpu/blackfin/serial.o (.text .text.*); \
+ common/dlmalloc.o (.text .text.*); \
+ lib_generic/crc32.o (.text .text.*); \
+ lib_generic/zlib.o (.text .text.*); \
+ board/ibf-dsp561/ibf-dsp561.o (.text .text.*); \
+ . = DEFINED(env_offset) ? env_offset : .; \
+ common/env_embedded.o (.text .text.*);
+#endif
/*
diff --git a/include/configs/tcm-bf537.h b/include/configs/tcm-bf537.h
index 31fe61a..9794e1b 100644
--- a/include/configs/tcm-bf537.h
+++ b/include/configs/tcm-bf537.h
@@ -95,6 +95,21 @@
#else
#define ENV_IS_EMBEDDED_CUSTOM
#endif
+#ifdef ENV_IS_EMBEDDED
+/* WARNING - the following is hand-optimized to fit within
+ * the sector before the environment sector. If it throws
+ * an error during compilation remove an object here to get
+ * it linked after the configuration sector.
+ */
+# define LDS_BOARD_TEXT \
+ cpu/blackfin/traps.o (.text .text.*); \
+ cpu/blackfin/interrupt.o (.text .text.*); \
+ cpu/blackfin/serial.o (.text .text.*); \
+ common/dlmalloc.o (.text .text.*); \
+ lib_generic/crc32.o (.text .text.*); \
+ . = DEFINED(env_offset) ? env_offset : .; \
+ common/env_embedded.o (.text .text.*);
+#endif
/*
diff --git a/lib_blackfin/.gitignore b/lib_blackfin/.gitignore
new file mode 100644
index 0000000..09f1be0
--- /dev/null
+++ b/lib_blackfin/.gitignore
@@ -0,0 +1 @@
+u-boot.lds
diff --git a/lib_blackfin/Makefile b/lib_blackfin/Makefile
index 46ef7f3..e32ecc9 100644
--- a/lib_blackfin/Makefile
+++ b/lib_blackfin/Makefile
@@ -47,9 +47,12 @@ COBJS-y += string.o
SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
-$(LIB): $(obj).depend $(OBJS)
+$(LIB): $(obj).depend $(OBJS) $(obj)u-boot.lds
$(AR) $(ARFLAGS) $@ $(OBJS)
+$(obj)u-boot.lds: u-boot.lds.S
+ $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -P $^ > $@
+
#########################################################################
# defines $(obj).depend target
diff --git a/lib_blackfin/u-boot.lds.S b/lib_blackfin/u-boot.lds.S
new file mode 100644
index 0000000..4755153
--- /dev/null
+++ b/lib_blackfin/u-boot.lds.S
@@ -0,0 +1,132 @@
+/*
+ * U-boot - u-boot.lds.S
+ *
+ * Copyright (c) 2005-2009 Analog Device Inc.
+ *
+ * (C) Copyright 2000-2004
+ * Wolfgang Denk, DENX Software Engineering, wd(a)denx.de.
+ *
+ * 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 <config.h>
+#include <asm/blackfin.h>
+#undef ALIGN
+#undef ENTRY
+#undef bfin
+
+#ifndef LDS_BOARD_TEXT
+# define LDS_BOARD_TEXT
+#endif
+
+/* If we don't actually load anything into L1 data, this will avoid
+ * a syntax error. If we do actually load something into L1 data,
+ * we'll get a linker memory load error (which is what we'd want).
+ * This is here in the first place so we can quickly test building
+ * for different CPU's which may lack non-cache L1 data.
+ */
+#ifndef L1_DATA_B_SRAM
+# define L1_DATA_B_SRAM CONFIG_SYS_MONITOR_BASE
+# define L1_DATA_B_SRAM_SIZE 0
+#endif
+
+OUTPUT_ARCH(bfin)
+
+MEMORY
+{
+ ram : ORIGIN = CONFIG_SYS_MONITOR_BASE, LENGTH = CONFIG_SYS_MONITOR_LEN
+ l1_code : ORIGIN = L1_INST_SRAM, LENGTH = L1_INST_SRAM_SIZE
+ l1_data : ORIGIN = L1_DATA_B_SRAM, LENGTH = L1_DATA_B_SRAM_SIZE
+}
+
+ENTRY(_start)
+SECTIONS
+{
+ .text :
+ {
+ cpu/blackfin/start.o (.text .text.*)
+
+ LDS_BOARD_TEXT
+
+ __initcode_start = .;
+ cpu/blackfin/initcode.o (.text .text.*)
+ __initcode_end = .;
+
+ *(.text .text.*)
+ } >ram
+
+ .rodata :
+ {
+ . = ALIGN(4);
+ *(.rodata .rodata.*)
+ *(.rodata1)
+ *(.eh_frame)
+ . = ALIGN(4);
+ } >ram
+
+ .data :
+ {
+ . = ALIGN(256);
+ *(.data .data.*)
+ *(.data1)
+ *(.sdata)
+ *(.sdata2)
+ *(.dynamic)
+ CONSTRUCTORS
+ } >ram
+
+ .u_boot_cmd :
+ {
+ ___u_boot_cmd_start = .;
+ *(.u_boot_cmd)
+ ___u_boot_cmd_end = .;
+ } >ram
+
+ .text_l1 :
+ {
+ . = ALIGN(4);
+ __stext_l1 = .;
+ *(.l1.text)
+ . = ALIGN(4);
+ __etext_l1 = .;
+ } >l1_code AT>ram
+ __stext_l1_lma = LOADADDR(.text_l1);
+
+ .data_l1 :
+ {
+ . = ALIGN(4);
+ __sdata_l1 = .;
+ *(.l1.data)
+ *(.l1.bss)
+ . = ALIGN(4);
+ __edata_l1 = .;
+ } >l1_data AT>ram
+ __sdata_l1_lma = LOADADDR(.data_l1);
+
+ .bss :
+ {
+ . = ALIGN(4);
+ __bss_start = .;
+ *(.sbss) *(.scommon)
+ *(.dynbss)
+ *(.bss .bss.*)
+ *(COMMON)
+ __bss_end = .;
+ } >ram
+}
--
1.6.3.1
1
0

[U-Boot] [PATCH 1/1] at91: use Linux CONFIG scheme for board and arch
by Jean-Christophe PLAGNIOL-VILLARD 14 Jun '09
by Jean-Christophe PLAGNIOL-VILLARD 14 Jun '09
14 Jun '09
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj(a)jcrosoft.com>
---
applied on testing branch
with the following patch
pm9263: lowlevel init update
pm9263: use macro instead of hardcode value for the lowlevel_init
at91: add support for the PM9261 board of Ronetix GmbH
at91sam9263ek: add nor flash support
at91: unify nor boot support
at91: use Linux CONFIG scheme for board and arch
Move libgcc inclusion from common Makefile to platform configs files
ARM: Don't include libgcc anymore
this branch is based on the wdenk/next which was rebased yesterday
Best Regards,
J.
Makefile | 4 ++--
board/atmel/at91sam9260ek/at91sam9260ek.c | 2 +-
cpu/arm920t/at91rm9200/usb.c | 4 ++--
cpu/arm920t/start.S | 2 +-
cpu/arm926ejs/at91/Makefile | 12 ++++++------
cpu/arm926ejs/at91/at91sam9260_devices.c | 2 +-
cpu/arm926ejs/at91/clock.c | 8 ++++----
cpu/arm926ejs/at91/lowlevel_init.S | 4 ++--
drivers/i2c/soft_i2c.c | 2 +-
drivers/net/macb.c | 8 ++++----
drivers/usb/host/ohci-at91.c | 15 ++++++++-------
drivers/usb/host/ohci-hcd.c | 2 +-
drivers/video/atmel_lcdfb.c | 2 +-
include/asm-arm/arch-at91/at91sam9260.h | 4 ++--
include/asm-arm/arch-at91/at91sam9_matrix.h | 10 +++++-----
include/asm-arm/arch-at91/hardware.h | 14 +++++++-------
include/configs/afeb9260.h | 4 ++--
include/configs/at91cap9adk.h | 4 ++--
include/configs/at91rm9200dk.h | 4 ++--
include/configs/at91rm9200ek.h | 4 ++--
include/configs/at91sam9260ek.h | 8 ++++----
include/configs/at91sam9261ek.h | 4 ++--
include/configs/at91sam9263ek.h | 4 ++--
include/configs/at91sam9rlek.h | 4 ++--
include/configs/cmc_pu2.h | 2 +-
include/configs/csb637.h | 2 +-
include/configs/kb9202.h | 2 +-
include/configs/m501sk.h | 2 +-
include/configs/mp2usb.h | 4 ++--
include/configs/pm9261.h | 4 ++--
include/configs/pm9263.h | 4 ++--
net/eth.c | 2 +-
32 files changed, 77 insertions(+), 76 deletions(-)
diff --git a/Makefile b/Makefile
index b2a0e72..872f952 100644
--- a/Makefile
+++ b/Makefile
@@ -2695,10 +2695,10 @@ at91sam9g20ek_dataflash_cs1_config \
at91sam9g20ek_config : unconfig
@mkdir -p $(obj)include
@if [ "$(findstring 9g20,$@)" ] ; then \
- echo "#define CONFIG_AT91SAM9G20EK 1" >>$(obj)include/config.h ; \
+ echo "#define CONFIG_MACH_AT91SAM9G20EK 1" >>$(obj)include/config.h ; \
$(XECHO) "... 9G20 Variant" ; \
else \
- echo "#define CONFIG_AT91SAM9260EK 1" >>$(obj)include/config.h ; \
+ echo "#define CONFIG_MACH_AT91SAM9260EK 1" >>$(obj)include/config.h ; \
fi;
@if [ "$(findstring _nandflash,$@)" ] ; then \
echo "#define CONFIG_SYS_USE_NANDFLASH 1" >>$(obj)include/config.h ; \
diff --git a/board/atmel/at91sam9260ek/at91sam9260ek.c b/board/atmel/at91sam9260ek/at91sam9260ek.c
index 6bd3b44..d9da4d8 100644
--- a/board/atmel/at91sam9260ek/at91sam9260ek.c
+++ b/board/atmel/at91sam9260ek/at91sam9260ek.c
@@ -141,7 +141,7 @@ int board_init(void)
/* Enable Ctrlc */
console_init_f();
-#ifdef CONFIG_AT91SAM9G20EK
+#ifdef CONFIG_MACH_AT91SAM9G20EK
/* arch number of AT91SAM9260EK-Board */
gd->bd->bi_arch_number = MACH_TYPE_AT91SAM9G20EK;
#else
diff --git a/cpu/arm920t/at91rm9200/usb.c b/cpu/arm920t/at91rm9200/usb.c
index 72355dc..9c923bc 100644
--- a/cpu/arm920t/at91rm9200/usb.c
+++ b/cpu/arm920t/at91rm9200/usb.c
@@ -24,7 +24,7 @@
#include <common.h>
#if defined(CONFIG_USB_OHCI_NEW) && defined(CONFIG_SYS_USB_OHCI_CPU_INIT)
-# ifdef CONFIG_AT91RM9200
+# ifdef CONFIG_ARCH_AT91RM9200
#include <asm/arch/hardware.h>
@@ -49,5 +49,5 @@ int usb_cpu_init_fail(void)
return usb_cpu_stop();
}
-# endif /* CONFIG_AT91RM9200 */
+# endif /* CONFIG_ARCH_AT91RM9200 */
#endif /* defined(CONFIG_USB_OHCI) && defined(CONFIG_SYS_USB_OHCI_CPU_INIT) */
diff --git a/cpu/arm920t/start.S b/cpu/arm920t/start.S
index 475cdaf..6c99359 100644
--- a/cpu/arm920t/start.S
+++ b/cpu/arm920t/start.S
@@ -118,7 +118,7 @@ start_code:
bl coloured_LED_init
bl red_LED_on
-#if defined(CONFIG_AT91RM9200DK) || defined(CONFIG_AT91RM9200EK)
+#if defined(CONFIG_ARCH_AT91RM9200DK) || defined(CONFIG_MACH_AT91RM9200EK)
/*
* relocate exception table
*/
diff --git a/cpu/arm926ejs/at91/Makefile b/cpu/arm926ejs/at91/Makefile
index 3da89f4..adebeb5 100644
--- a/cpu/arm926ejs/at91/Makefile
+++ b/cpu/arm926ejs/at91/Makefile
@@ -25,12 +25,12 @@ include $(TOPDIR)/config.mk
LIB = $(obj)lib$(SOC).a
-COBJS-$(CONFIG_AT91CAP9) += at91cap9_devices.o
-COBJS-$(CONFIG_AT91SAM9260) += at91sam9260_devices.o
-COBJS-$(CONFIG_AT91SAM9G20) += at91sam9260_devices.o
-COBJS-$(CONFIG_AT91SAM9261) += at91sam9261_devices.o
-COBJS-$(CONFIG_AT91SAM9263) += at91sam9263_devices.o
-COBJS-$(CONFIG_AT91SAM9RL) += at91sam9rl_devices.o
+COBJS-$(CONFIG_ARCH_AT91CAP9) += at91cap9_devices.o
+COBJS-$(CONFIG_ARCH_AT91SAM9260) += at91sam9260_devices.o
+COBJS-$(CONFIG_ARCH_AT91SAM9G20) += at91sam9260_devices.o
+COBJS-$(CONFIG_ARCH_AT91SAM9261) += at91sam9261_devices.o
+COBJS-$(CONFIG_ARCH_AT91SAM9263) += at91sam9263_devices.o
+COBJS-$(CONFIG_ARCH_AT91SAM9RL) += at91sam9rl_devices.o
COBJS-$(CONFIG_AT91_LED) += led.o
COBJS-y += clock.o
COBJS-y += cpu.o
diff --git a/cpu/arm926ejs/at91/at91sam9260_devices.c b/cpu/arm926ejs/at91/at91sam9260_devices.c
index 5309ba2..d6cde6d 100644
--- a/cpu/arm926ejs/at91/at91sam9260_devices.c
+++ b/cpu/arm926ejs/at91/at91sam9260_devices.c
@@ -167,7 +167,7 @@ void at91_macb_hw_init(void)
at91_set_B_periph(AT91_PIN_PA25, 0); /* ERX2 */
at91_set_B_periph(AT91_PIN_PA26, 0); /* ERX3 */
at91_set_B_periph(AT91_PIN_PA27, 0); /* ERXCK */
-#if defined(CONFIG_AT91SAM9260EK) || defined(CONFIG_AFEB9260)
+#if defined(CONFIG_MACH_AT91SAM9260EK) || defined(CONFIG_MACH_AFEB9260)
/*
* use PA10, PA11 for ETX2, ETX3.
* PA23 and PA24 are for TWI EEPROM
diff --git a/cpu/arm926ejs/at91/clock.c b/cpu/arm926ejs/at91/clock.c
index 9f03468..4f987e5 100644
--- a/cpu/arm926ejs/at91/clock.c
+++ b/cpu/arm926ejs/at91/clock.c
@@ -90,7 +90,7 @@ static unsigned at91_pll_calc(unsigned main_freq, unsigned out_freq)
* Warning: some newer products need 2MHz min.
*/
input = main_freq / i;
-#if defined(CONFIG_AT91SAM9G20)
+#if defined(CONFIG_ARCH_AT91SAM9G20)
if (input < 2000000)
continue;
#endif
@@ -100,7 +100,7 @@ static unsigned at91_pll_calc(unsigned main_freq, unsigned out_freq)
continue;
mul1 = out_freq / input;
-#if defined(CONFIG_AT91SAM9G20)
+#if defined(CONFIG_ARCH_AT91SAM9G20)
if (mul > 63)
continue;
#endif
@@ -185,9 +185,9 @@ int at91_clock_init(unsigned long main_clock)
mckr = at91_sys_read(AT91_PMC_MCKR);
freq = mck_rate_hz = at91_css_to_rate(mckr & AT91_PMC_CSS);
freq /= (1 << ((mckr & AT91_PMC_PRES) >> 2)); /* prescale */
-#if defined(CONFIG_AT91RM9200)
+#if defined(CONFIG_ARCH_AT91RM9200)
mck_rate_hz = freq / (1 + ((mckr & AT91_PMC_MDIV) >> 8)); /* mdiv */
-#elif defined(CONFIG_AT91SAM9G20)
+#elif defined(CONFIG_ARCH_AT91SAM9G20)
mck_rate_hz = (mckr & AT91_PMC_MDIV) ?
freq / ((mckr & AT91_PMC_MDIV) >> 7) : freq; /* mdiv ; (x >> 7) = ((x >> 8) * 2) */
if (mckr & AT91_PMC_PDIV)
diff --git a/cpu/arm926ejs/at91/lowlevel_init.S b/cpu/arm926ejs/at91/lowlevel_init.S
index 5ed518c..5ded2cf 100644
--- a/cpu/arm926ejs/at91/lowlevel_init.S
+++ b/cpu/arm926ejs/at91/lowlevel_init.S
@@ -187,14 +187,14 @@ SMRDATA:
.word CONFIG_SYS_WDTC_WDMR_VAL
/* configure PIOx as EBI0 D[16-31] */
-#if defined(CONFIG_AT91SAM9263)
+#if defined(CONFIG_ARCH_AT91SAM9263)
.word (AT91_BASE_SYS + AT91_PIOD + PIO_PDR)
.word CONFIG_SYS_PIOD_PDR_VAL1
.word (AT91_BASE_SYS + AT91_PIOD + PIO_PUDR)
.word CONFIG_SYS_PIOD_PPUDR_VAL
.word (AT91_BASE_SYS + AT91_PIOD + PIO_ASR)
.word CONFIG_SYS_PIOD_PPUDR_VAL
-#elif defined(CONFIG_AT91SAM9261)
+#elif defined(CONFIG_ARCH_AT91SAM9261)
.word (AT91_BASE_SYS + AT91_PIOC + PIO_PDR)
.word CONFIG_SYS_PIOC_PDR_VAL1
.word (AT91_BASE_SYS + AT91_PIOC + PIO_PUDR)
diff --git a/drivers/i2c/soft_i2c.c b/drivers/i2c/soft_i2c.c
index 59883a5..b51841d 100644
--- a/drivers/i2c/soft_i2c.c
+++ b/drivers/i2c/soft_i2c.c
@@ -30,7 +30,7 @@
#include <ioports.h>
#include <asm/io.h>
#endif
-#ifdef CONFIG_AT91RM9200 /* need this for the at91rm9200 */
+#ifdef CONFIG_ARCH_AT91RM9200 /* need this for the at91rm9200 */
#include <asm/io.h>
#include <asm/arch/hardware.h>
#endif
diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index 6de0a04..664294b 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -446,15 +446,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) || \
- defined(CONFIG_AT91SAM9263) || defined(CONFIG_AT91SAM9G20)
+#if defined(CONFIG_ARCH_AT91CAP9) || defined(CONFIG_ARCH_AT91SAM9260) || \
+ defined(CONFIG_ARCH_AT91SAM9263) || defined(CONFIG_ARCH_AT91SAM9G20)
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) || \
- defined(CONFIG_AT91SAM9263) || defined(CONFIG_AT91SAM9G20)
+#if defined(CONFIG_ARCH_AT91CAP9) || defined(CONFIG_ARCH_AT91SAM9260) || \
+ defined(CONFIG_ARCH_AT91SAM9263) || defined(CONFIG_ARCH_AT91SAM9G20)
macb_writel(macb, USRIO, MACB_BIT(CLKEN));
#else
macb_writel(macb, USRIO, MACB_BIT(MII));
diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
index 226859a..7fa0a77 100644
--- a/drivers/usb/host/ohci-at91.c
+++ b/drivers/usb/host/ohci-at91.c
@@ -33,9 +33,9 @@
int usb_cpu_init(void)
{
-#if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260) || \
- defined(CONFIG_AT91SAM9263) || defined(CONFIG_AT91SAM9G20) || \
- defined(CONFIG_AT91SAM9261)
+#if defined(CONFIG_ARCH_AT91CAP9) || defined(CONFIG_ARCH_AT91SAM9260) || \
+ defined(CONFIG_ARCH_AT91SAM9263) || defined(CONFIG_ARCH_AT91SAM9G20) || \
+ defined(CONFIG_ARCH_AT91SAM9261)
/* Enable PLLB */
at91_sys_write(AT91_CKGR_PLLBR, get_pllb_init());
while ((at91_sys_read(AT91_PMC_SR) & AT91_PMC_LOCKB) != AT91_PMC_LOCKB)
@@ -44,7 +44,7 @@ int usb_cpu_init(void)
/* Enable USB host clock. */
at91_sys_write(AT91_PMC_PCER, 1 << AT91_ID_UHP);
-#ifdef CONFIG_AT91SAM9261
+#ifdef CONFIG_ARCH_AT91SAM9261
at91_sys_write(AT91_PMC_SCER, AT91_PMC_UHP | AT91_PMC_HCK0);
#else
at91_sys_write(AT91_PMC_SCER, AT91_PMC_UHP);
@@ -57,14 +57,15 @@ int usb_cpu_stop(void)
{
/* Disable USB host clock. */
at91_sys_write(AT91_PMC_PCDR, 1 << AT91_ID_UHP);
-#ifdef CONFIG_AT91SAM9261
+#ifdef CONFIG_ARCH_AT91SAM9261
at91_sys_write(AT91_PMC_SCDR, AT91_PMC_UHP | AT91_PMC_HCK0);
#else
at91_sys_write(AT91_PMC_SCDR, AT91_PMC_UHP);
#endif
-#if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260) || \
- defined(CONFIG_AT91SAM9263) || defined(CONFIG_AT91SAM9G20)
+#if defined(CONFIG_ARCH_AT91CAP9) || defined(CONFIG_ARCH_AT91SAM9260) || \
+ defined(CONFIG_ARCH_AT91SAM9263) || defined(CONFIG_ARCH_AT91SAM9G20) || \
+ defined(CONFIG_ARCH_AT91SAM9261)
/* Disable PLLB */
at91_sys_write(AT91_CKGR_PLLBR, 0);
while ((at91_sys_read(AT91_PMC_SR) & AT91_PMC_LOCKB) != 0)
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
index 67d478f..72832e3 100644
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
@@ -60,7 +60,7 @@
#include "ohci.h"
-#ifdef CONFIG_AT91RM9200
+#ifdef CONFIG_ARCH_AT91RM9200
#include <asm/arch/hardware.h> /* needed for AT91_USB_HOST_BASE */
#endif
diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c
index 3a51cc7..0edb071 100644
--- a/drivers/video/atmel_lcdfb.c
+++ b/drivers/video/atmel_lcdfb.c
@@ -43,7 +43,7 @@ short console_row;
#define ATMEL_LCDC_CVAL_DEFAULT 0xc8
#define ATMEL_LCDC_DMA_BURST_LEN 8
-#if defined(CONFIG_AT91SAM9263) || defined(CONFIG_AT91CAP9)
+#if defined(CONFIG_ARCH_AT91SAM9263) || defined(CONFIG_ARCH_AT91CAP9)
#define ATMEL_LCDC_FIFO_SIZE 2048
#else
#define ATMEL_LCDC_FIFO_SIZE 512
diff --git a/include/asm-arm/arch-at91/at91sam9260.h b/include/asm-arm/arch-at91/at91sam9260.h
index 73975f4..edb4352 100644
--- a/include/asm-arm/arch-at91/at91sam9260.h
+++ b/include/asm-arm/arch-at91/at91sam9260.h
@@ -124,9 +124,9 @@
/*
* Cpu Name
*/
-#if defined(CONFIG_AT91SAM9260)
+#if defined(CONFIG_ARCH_AT91SAM9260)
#define AT91_CPU_NAME "AT91SAM9260"
-#elif defined(CONFIG_AT91SAM9G20)
+#elif defined(CONFIG_ARCH_AT91SAM9G20)
#define AT91_CPU_NAME "AT91SAM9G20"
#endif
diff --git a/include/asm-arm/arch-at91/at91sam9_matrix.h b/include/asm-arm/arch-at91/at91sam9_matrix.h
index 913f374..41d25a1 100644
--- a/include/asm-arm/arch-at91/at91sam9_matrix.h
+++ b/include/asm-arm/arch-at91/at91sam9_matrix.h
@@ -11,15 +11,15 @@
#ifndef __ASM_ARCH_AT91SAM9_MATRIX_H
#define __ASM_ARCH_AT91SAM9_MATRIX_H
-#if defined(CONFIG_AT91SAM9260) || defined(CONFIG_AT91SAM9G20)
+#if defined(CONFIG_ARCH_AT91SAM9260) || defined(CONFIG_ARCH_AT91SAM9G20)
#include <asm/arch/at91sam9260_matrix.h>
-#elif defined(CONFIG_AT91SAM9261)
+#elif defined(CONFIG_ARCH_AT91SAM9261)
#include <asm/arch/at91sam9261_matrix.h>
-#elif defined(CONFIG_AT91SAM9263)
+#elif defined(CONFIG_ARCH_AT91SAM9263)
#include <asm/arch/at91sam9263_matrix.h>
-#elif defined(CONFIG_AT91SAM9RL)
+#elif defined(CONFIG_ARCH_AT91SAM9RL)
#include <asm/arch/at91sam9rl_matrix.h>
-#elif defined(CONFIG_AT91CAP9)
+#elif defined(CONFIG_ARCH_AT91CAP9)
#include <asm/arch/at91cap9_matrix.h>
#else
#error "Unsupported AT91SAM9/CAP9 processor"
diff --git a/include/asm-arm/arch-at91/hardware.h b/include/asm-arm/arch-at91/hardware.h
index 8704106..f56f8b9 100644
--- a/include/asm-arm/arch-at91/hardware.h
+++ b/include/asm-arm/arch-at91/hardware.h
@@ -16,33 +16,33 @@
#include <asm/sizes.h>
-#if defined(CONFIG_AT91RM9200)
+#if defined(CONFIG_ARCH_AT91RM9200)
#include <asm/arch/at91rm9200.h>
-#elif defined(CONFIG_AT91SAM9260) || defined(CONFIG_AT91SAM9G20)
+#elif defined(CONFIG_ARCH_AT91SAM9260) || defined(CONFIG_ARCH_AT91SAM9G20)
#include <asm/arch/at91sam9260.h>
#define AT91_BASE_SPI AT91SAM9260_BASE_SPI0
#define AT91_ID_UHP AT91SAM9260_ID_UHP
#define AT91_PMC_UHP AT91SAM926x_PMC_UHP
-#elif defined(CONFIG_AT91SAM9261)
+#elif defined(CONFIG_ARCH_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)
+#elif defined(CONFIG_ARCH_AT91SAM9263)
#include <asm/arch/at91sam9263.h>
#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)
+#elif defined(CONFIG_ARCH_AT91SAM9RL)
#include <asm/arch/at91sam9rl.h>
#define AT91_BASE_SPI AT91SAM9RL_BASE_SPI
#define AT91_ID_UHP AT91SAM9RL_ID_UHP
-#elif defined(CONFIG_AT91CAP9)
+#elif defined(CONFIG_ARCH_AT91CAP9)
#include <asm/arch/at91cap9.h>
#define AT91_BASE_SPI AT91CAP9_BASE_SPI0
#define AT91_ID_UHP AT91CAP9_ID_UHP
#define AT91_PMC_UHP AT91CAP9_PMC_UHP
-#elif defined(CONFIG_AT91X40)
+#elif defined(CONFIG_ARCH_AT91X40)
#include <asm/arch/at91x40.h>
#else
#error "Unsupported AT91 processor"
diff --git a/include/configs/afeb9260.h b/include/configs/afeb9260.h
index c5134a2..188f54f 100644
--- a/include/configs/afeb9260.h
+++ b/include/configs/afeb9260.h
@@ -30,8 +30,8 @@
#define AT91_MAIN_CLOCK 18429952 /* from 18.432 MHz crystal */
#define CONFIG_SYS_HZ 1000
-#define CONFIG_AT91SAM9260 1 /* It's an Atmel AT91SAM9260 SoC*/
-#define CONFIG_AFEB9260 1 /* on an AFEB9260 Board */
+#define CONFIG_ARCH_AT91SAM9260 1 /* It's an Atmel AT91SAM9260 SoC*/
+#define CONFIG_MACH_AFEB9260 1 /* on an AFEB9260 Board */
#define CONFIG_ARCH_CPU_INIT
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
diff --git a/include/configs/at91cap9adk.h b/include/configs/at91cap9adk.h
index 526cd60..ad526d1 100644
--- a/include/configs/at91cap9adk.h
+++ b/include/configs/at91cap9adk.h
@@ -32,8 +32,8 @@
#define CONFIG_SYS_HZ 1000
#define CONFIG_ARM926EJS 1 /* This is an ARM926EJS Core */
-#define CONFIG_AT91CAP9 1 /* It's an Atmel AT91CAP9 SoC */
-#define CONFIG_AT91CAP9ADK 1 /* on an AT91CAP9ADK Board */
+#define CONFIG_ARCH_AT91CAP9 1 /* It's an Atmel AT91CAP9 SoC */
+#define CONFIG_MACH_AT91CAP9ADK 1 /* on an AT91CAP9ADK Board */
#define CONFIG_ARCH_CPU_INIT
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
diff --git a/include/configs/at91rm9200dk.h b/include/configs/at91rm9200dk.h
index 56128c1..942cf27 100644
--- a/include/configs/at91rm9200dk.h
+++ b/include/configs/at91rm9200dk.h
@@ -33,8 +33,8 @@
#define AT91_SLOW_CLOCK 32768 /* slow clock */
#define CONFIG_ARM920T 1 /* This is an ARM920T Core */
-#define CONFIG_AT91RM9200 1 /* It's an Atmel AT91RM9200 SoC */
-#define CONFIG_AT91RM9200DK 1 /* on an AT91RM9200DK Board */
+#define CONFIG_ARCH_AT91RM9200 1 /* It's an Atmel AT91RM9200 SoC */
+#define CONFIG_ARCH_AT91RM9200DK 1 /* on an AT91RM9200DK Board */
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
#define USE_920T_MMU 1
diff --git a/include/configs/at91rm9200ek.h b/include/configs/at91rm9200ek.h
index c898c73..43f1068 100644
--- a/include/configs/at91rm9200ek.h
+++ b/include/configs/at91rm9200ek.h
@@ -41,8 +41,8 @@
#define AT91_SLOW_CLOCK 32768 /* slow clock */
#define CONFIG_ARM920T 1 /* This is an ARM920T Core */
-#define CONFIG_AT91RM9200 1 /* It's an Atmel AT91RM9200 SoC */
-#define CONFIG_AT91RM9200EK 1 /* on an AT91RM9200EK Board */
+#define CONFIG_ARCH_AT91RM9200 1 /* It's an Atmel AT91RM9200 SoC */
+#define CONFIG_MACH_AT91RM9200EK 1 /* on an AT91RM9200EK Board */
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
#define USE_920T_MMU 1
diff --git a/include/configs/at91sam9260ek.h b/include/configs/at91sam9260ek.h
index 1828c63..ee1128e 100644
--- a/include/configs/at91sam9260ek.h
+++ b/include/configs/at91sam9260ek.h
@@ -33,10 +33,10 @@
#define CONFIG_ARM926EJS 1 /* This is an ARM926EJS Core */
-#ifdef CONFIG_AT91SAM9G20EK
-#define CONFIG_AT91SAM9G20 1 /* It's an Atmel AT91SAM9G20 SoC*/
+#ifdef CONFIG_MACH_AT91SAM9G20EK
+#define CONFIG_ARCH_AT91SAM9G20 1 /* It's an Atmel AT91SAM9G20 SoC*/
#else
-#define CONFIG_AT91SAM9260 1 /* It's an Atmel AT91SAM9260 SoC*/
+#define CONFIG_ARCH_AT91SAM9260 1 /* It's an Atmel AT91SAM9260 SoC*/
#endif
#define CONFIG_ARCH_CPU_INIT
@@ -103,7 +103,7 @@
#define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1 0xD0000000 /* CS1 */
#define AT91_SPI_CLK 15000000
-#ifdef CONFIG_AT91SAM9G20EK
+#ifdef CONFIG_MACH_AT91SAM9G20EK
#define DATAFLASH_TCSS (0x22 << 16)
#else
#define DATAFLASH_TCSS (0x1a << 16)
diff --git a/include/configs/at91sam9261ek.h b/include/configs/at91sam9261ek.h
index 4f6b640..9faaa1c 100644
--- a/include/configs/at91sam9261ek.h
+++ b/include/configs/at91sam9261ek.h
@@ -32,8 +32,8 @@
#define CONFIG_SYS_HZ 1000
#define CONFIG_ARM926EJS 1 /* This is an ARM926EJS Core */
-#define CONFIG_AT91SAM9261 1 /* It's an Atmel AT91SAM9261 SoC*/
-#define CONFIG_AT91SAM9261EK 1 /* on an AT91SAM9261EK Board */
+#define CONFIG_ARCH_AT91SAM9261 1 /* It's an Atmel AT91SAM9261 SoC*/
+#define CONFIG_MACH_AT91SAM9261EK 1 /* on an AT91SAM9261EK Board */
#define CONFIG_ARCH_CPU_INIT
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
diff --git a/include/configs/at91sam9263ek.h b/include/configs/at91sam9263ek.h
index 00f3114..9dafbd3 100644
--- a/include/configs/at91sam9263ek.h
+++ b/include/configs/at91sam9263ek.h
@@ -32,8 +32,8 @@
#define CONFIG_SYS_HZ 1000
#define CONFIG_ARM926EJS 1 /* This is an ARM926EJS Core */
-#define CONFIG_AT91SAM9263 1 /* It's an Atmel AT91SAM9263 SoC*/
-#define CONFIG_AT91SAM9263EK 1 /* on an AT91SAM9263EK Board */
+#define CONFIG_ARCH_AT91SAM9263 1 /* It's an Atmel AT91SAM9263 SoC*/
+#define CONFIG_MACH_AT91SAM9263EK 1 /* on an AT91SAM9263EK Board */
#define CONFIG_ARCH_CPU_INIT
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
diff --git a/include/configs/at91sam9rlek.h b/include/configs/at91sam9rlek.h
index c466823..47a23f1 100644
--- a/include/configs/at91sam9rlek.h
+++ b/include/configs/at91sam9rlek.h
@@ -32,8 +32,8 @@
#define CONFIG_SYS_HZ 1000
#define CONFIG_ARM926EJS 1 /* This is an ARM926EJS Core */
-#define CONFIG_AT91SAM9RL 1 /* It's an Atmel AT91SAM9RL SoC*/
-#define CONFIG_AT91SAM9RLEK 1 /* on an AT91SAM9RLEK Board */
+#define CONFIG_ARCH_AT91SAM9RL 1 /* It's an Atmel AT91SAM9RL SoC*/
+#define CONFIG_MACH_AT91SAM9RLEK 1 /* on an AT91SAM9RLEK Board */
#define CONFIG_ARCH_CPU_INIT
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
diff --git a/include/configs/cmc_pu2.h b/include/configs/cmc_pu2.h
index 80559bf..e676f7b 100644
--- a/include/configs/cmc_pu2.h
+++ b/include/configs/cmc_pu2.h
@@ -32,7 +32,7 @@
#define AT91_SLOW_CLOCK 32768 /* slow clock */
#define CONFIG_ARM920T 1 /* This is an ARM920T Core */
-#define CONFIG_AT91RM9200 1 /* It's an Atmel AT91RM9200 SoC */
+#define CONFIG_ARCH_AT91RM9200 1 /* It's an Atmel AT91RM9200 SoC */
#define CONFIG_CMC_PU2 1 /* on an CMC_PU2 Board */
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
#define USE_920T_MMU 1
diff --git a/include/configs/csb637.h b/include/configs/csb637.h
index e1cdc7f..3e4f3ef 100644
--- a/include/configs/csb637.h
+++ b/include/configs/csb637.h
@@ -33,7 +33,7 @@
#define AT91_SLOW_CLOCK 32768 /* slow clock */
#define CONFIG_ARM920T 1 /* This is an ARM920T Core */
-#define CONFIG_AT91RM9200 1 /* It's an Atmel AT91RM9200 SoC */
+#define CONFIG_ARCH_AT91RM9200 1 /* It's an Atmel AT91RM9200 SoC */
#define CONFIG_CSB637 1 /* on a CSB637 board */
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
#define USE_920T_MMU 1
diff --git a/include/configs/kb9202.h b/include/configs/kb9202.h
index 7dd81e6..08f71e5 100644
--- a/include/configs/kb9202.h
+++ b/include/configs/kb9202.h
@@ -36,7 +36,7 @@
#define AT91_SLOW_CLOCK 32768 /* slow clock */
#define CONFIG_ARM920T 1 /* This is an ARM920T Core */
-#define CONFIG_AT91RM9200 1 /* It's an Atmel AT91RM9200 SoC */
+#define CONFIG_ARCH_AT91RM9200 1 /* It's an Atmel AT91RM9200 SoC */
/* Only define one of the following, based on board type */
/* #define CONFIG_KB9200 1 KwikByte KB9202 board */
/* #define CONFIG_KB9201 1 KwikByte KB9202 board */
diff --git a/include/configs/m501sk.h b/include/configs/m501sk.h
index 1e7d90e..c76c120 100644
--- a/include/configs/m501sk.h
+++ b/include/configs/m501sk.h
@@ -34,7 +34,7 @@
#define AT91C_MASTER_CLOCK 59904000
#define AT91_SLOW_CLOCK 32768 /* slow clock */
-#define CONFIG_AT91RM9200DK 1 /* on an AT91RM9200DK Board */
+#define CONFIG_ARCH_AT91RM9200DK 1 /* on an AT91RM9200DK Board */
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
#define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */
#define CONFIG_SETUP_MEMORY_TAGS 1
diff --git a/include/configs/mp2usb.h b/include/configs/mp2usb.h
index 3225ce7..2015dad 100644
--- a/include/configs/mp2usb.h
+++ b/include/configs/mp2usb.h
@@ -35,8 +35,8 @@
#define AT91_SLOW_CLOCK 32768 /* slow clock */
#define CONFIG_ARM920T 1 /* This is an ARM920T Core */
-#define CONFIG_AT91RM9200 1 /* It's an Atmel AT91RM9200 SoC */
-#define CONFIG_AT91RM9200DK 1 /* on an AT91RM9200DK Board */
+#define CONFIG_ARCH_AT91RM9200 1 /* It's an Atmel AT91RM9200 SoC */
+#define CONFIG_ARCH_AT91RM9200DK 1 /* on an AT91RM9200DK Board */
#define CONFIG_MP2USB 1 /* on an MP2USB Board */
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
#define USE_920T_MMU 1
diff --git a/include/configs/pm9261.h b/include/configs/pm9261.h
index ac09cf2..8e86f80 100644
--- a/include/configs/pm9261.h
+++ b/include/configs/pm9261.h
@@ -41,8 +41,8 @@
#define CONFIG_SYS_HZ 1000
#define CONFIG_ARM926EJS 1 /* This is an ARM926EJS Core */
-#define CONFIG_AT91SAM9261 1 /* It's an Atmel AT91SAM9261 SoC*/
-#define CONFIG_PM9261 1 /* on a Ronetix PM9261 Board */
+#define CONFIG_ARCH_AT91SAM9261 1 /* It's an Atmel AT91SAM9261 SoC*/
+#define CONFIG_MACH_PM9261 1 /* on a Ronetix PM9261 Board */
#define CONFIG_ARCH_CPU_INIT
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
diff --git a/include/configs/pm9263.h b/include/configs/pm9263.h
index 94e1eb9..d82f6d7 100644
--- a/include/configs/pm9263.h
+++ b/include/configs/pm9263.h
@@ -40,8 +40,8 @@
#define CONFIG_SYS_HZ 1000
#define CONFIG_ARM926EJS 1 /* This is an ARM926EJS Core */
-#define CONFIG_AT91SAM9263 1 /* It's an Atmel AT91SAM9263 SoC*/
-#define CONFIG_PM9263 1 /* on a Ronetix PM9263 Board */
+#define CONFIG_ARCH_AT91SAM9263 1 /* It's an Atmel AT91SAM9263 SoC*/
+#define CONFIG_MACH_PM9263 1 /* on a Ronetix PM9263 Board */
#define CONFIG_ARCH_CPU_INIT
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
diff --git a/net/eth.c b/net/eth.c
index 8940ebf..d331e7d 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -513,7 +513,7 @@ int eth_initialize(bd_t *bis)
miiphy_init();
#endif
-#if defined(CONFIG_AT91RM9200)
+#if defined(CONFIG_ARCH_AT91RM9200)
at91rm9200_miiphy_initialize(bis);
#endif
#if defined(CONFIG_PPC4xx_EMAC)
--
1.6.3.1
2
5

[U-Boot] [ANNOUNCE] ARM config scheme for board and machine update
by Jean-Christophe PLAGNIOL-VILLARD 14 Jun '09
by Jean-Christophe PLAGNIOL-VILLARD 14 Jun '09
14 Jun '09
Hi,
Currently boards and arch define there own CONFIG_IXP or CONFIG_VCMA9
where they are also have a define in the mach-types.h
so now to simplify linux code share and reduce duplicate define
we switch to the linux style (please check the mach-types.h for it)
CONFIG_ARCH_xxx for arch
and
CONFIG_MACH_xxx for machine
for board and arch that are send precedently to this announce
will not have to switch to be ack but it will nice to do it.
We will switch the current one step by step
For other arch and board it will be mandotory
The Kconfig support will be send with in days and it will be also
mandatory to have switch to it before be include in it's Kconfig files
Best Regards,
J.
2
3

[U-Boot] [PATCH 00/10] Support for LogicPD i.MX27-LITEKIT development board
by Ilya Yanok 14 Jun '09
by Ilya Yanok 14 Jun '09
14 Jun '09
This patch set adds support for LogicPD i.MX27-LITEKIT development board.
It contains support for i.MX27 CPU, support for serial console, FEC
ethernet controller, NFC NAND controller and SDHC controller. It also
contains some fixes to generic MMC subsystem.
Signed-off-by: Ilya Yanok <yanok(a)emcraft.com>
10
48
Hi, everyone
I cannot find where the ethernet of SAMSUNG S3C2410 is initialized ?
Does not S3C2410 use Ethernet for U-boot?
Thanks in advance.
Regards,
J.H.Kim
2
1