[U-Boot] [PATCH 1/6] sh7785lcr: fix out of tree build

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com Cc: Nobuhiro Iwamatsu iwamatsu.nobuhiro@renesas.com --- Makefile | 5 +++-- board/renesas/sh7785lcr/Makefile | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile index 81a5cd0..cd4df2e 100644 --- a/Makefile +++ b/Makefile @@ -3464,8 +3464,9 @@ sh7763rdp_config : unconfig xtract_sh7785lcr = $(subst _32bit,,$(subst _config,,$1)) sh7785lcr_32bit_config \ sh7785lcr_config : unconfig - @ >include/config.h - @echo "#define CONFIG_SH7785LCR 1" >> include/config.h + @mkdir -p $(obj)include + @mkdir -p $(obj)board/renesas/sh7785lcr + @echo "#define CONFIG_SH7785LCR 1" > $(obj)include/config.h @if [ "$(findstring 32bit, $@)" ] ; then \ echo "#define CONFIG_SH_32BIT 1" >> $(obj)include/config.h ; \ cp $(obj)board/renesas/sh7785lcr/u-boot_32bit \ diff --git a/board/renesas/sh7785lcr/Makefile b/board/renesas/sh7785lcr/Makefile index b1b538c..b8e43f7 100644 --- a/board/renesas/sh7785lcr/Makefile +++ b/board/renesas/sh7785lcr/Makefile @@ -18,7 +18,7 @@
include $(TOPDIR)/config.mk
-LIB = lib$(BOARD).a +LIB = $(obj)lib$(BOARD).a
COBJS := sh7785lcr.o selfcheck.o rtl8169_mac.o SOBJS := lowlevel_init.o

currently we need to sync the linker script enty and TEXT_BASE manualy and the reloc_dst is based on it
instead provide it now from the ldflags
tested on r2dplus
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com Cc: Nobuhiro Iwamatsu iwamatsu.nobuhiro@renesas.com --- Makefile | 5 -- board/mpr2/u-boot.lds | 13 +---- board/ms7720se/u-boot.lds | 15 +---- board/ms7722se/u-boot.lds | 15 +---- board/ms7750se/u-boot.lds | 15 +---- board/renesas/MigoR/u-boot.lds | 15 +---- board/renesas/ap325rxa/u-boot.lds | 15 +---- board/renesas/r2dplus/u-boot.lds | 15 +---- board/renesas/r7780mp/u-boot.lds | 15 +---- board/renesas/rsk7203/u-boot.lds | 10 +--- board/renesas/sh7763rdp/u-boot.lds | 15 +---- board/renesas/sh7785lcr/u-boot.lds | 7 ++- board/renesas/sh7785lcr/u-boot_29bit | 96 ---------------------------------- board/renesas/sh7785lcr/u-boot_32bit | 96 ---------------------------------- sh_config.mk | 1 + 15 files changed, 34 insertions(+), 314 deletions(-) delete mode 100644 board/renesas/sh7785lcr/u-boot_29bit delete mode 100644 board/renesas/sh7785lcr/u-boot_32bit
diff --git a/Makefile b/Makefile index cd4df2e..5d9d2ea 100644 --- a/Makefile +++ b/Makefile @@ -3469,14 +3469,9 @@ sh7785lcr_config : unconfig @echo "#define CONFIG_SH7785LCR 1" > $(obj)include/config.h @if [ "$(findstring 32bit, $@)" ] ; then \ echo "#define CONFIG_SH_32BIT 1" >> $(obj)include/config.h ; \ - cp $(obj)board/renesas/sh7785lcr/u-boot_32bit \ - $(obj)board/renesas/sh7785lcr/u-boot.lds ; \ echo "TEXT_BASE = 0x8ff80000" > \ $(obj)board/renesas/sh7785lcr/config.tmp ; \ $(XECHO) " ... enable 32-Bit Address Extended Mode" ; \ - else \ - cp $(obj)board/renesas/sh7785lcr/u-boot_29bit \ - $(obj)board/renesas/sh7785lcr/u-boot.lds ; \ fi @$(MKCONFIG) -a $(call xtract_sh7785lcr,$@) sh sh4 sh7785lcr renesas
diff --git a/board/mpr2/u-boot.lds b/board/mpr2/u-boot.lds index deae344..1e55b83 100644 --- a/board/mpr2/u-boot.lds +++ b/board/mpr2/u-boot.lds @@ -34,16 +34,9 @@ ENTRY(_start) SECTIONS { /* - Base address of internal SDRAM is 0x8C000000. - U-Boot resides in the last 256 kB of the 64 MB. - - NOTE: This address must match with the definition of - TEXT_BASE in config.mk (in this directory). - - */ - . = 0x8C000000 + (64*1024*1024) - (256*1024); - - PROVIDE (reloc_dst = .); + * entry and reloct_dst will be provided via ldflags + */ + . = .;
PROVIDE (_ftext = .); PROVIDE (_fcode = .); diff --git a/board/ms7720se/u-boot.lds b/board/ms7720se/u-boot.lds index 1f9b792..b006dc8 100644 --- a/board/ms7720se/u-boot.lds +++ b/board/ms7720se/u-boot.lds @@ -31,18 +31,9 @@ ENTRY(_start) SECTIONS { /* - Base address of internal SDRAM is 0x0C000000. - Although size of SDRAM can be either 16 or 32 MBytes, - we assume 16 MBytes (ie ignore upper half if the full - 32 MBytes is present). - - NOTE: This address must match with the definition of - TEXT_BASE in config.mk (in this directory). - - */ - . = 0x8C000000 + (64*1024*1024) - (256*1024); - - PROVIDE (reloc_dst = .); + * entry and reloct_dst will be provided via ldflags + */ + . = .;
PROVIDE (_ftext = .); PROVIDE (_fcode = .); diff --git a/board/ms7722se/u-boot.lds b/board/ms7722se/u-boot.lds index 7b0fb67..2ae4f20 100644 --- a/board/ms7722se/u-boot.lds +++ b/board/ms7722se/u-boot.lds @@ -28,18 +28,9 @@ ENTRY(_start) SECTIONS { /* - Base address of internal SDRAM is 0x0C000000. - Although size of SDRAM can be either 16 or 32 MBytes, - we assume 16 MBytes (ie ignore upper half if the full - 32 MBytes is present). - - NOTE: This address must match with the definition of - TEXT_BASE in config.mk (in this directory). - - */ - . = 0x8C000000 + (64*1024*1024) - (256*1024); - - PROVIDE (reloc_dst = .); + * entry and reloct_dst will be provided via ldflags + */ + . = .;
PROVIDE (_ftext = .); PROVIDE (_fcode = .); diff --git a/board/ms7750se/u-boot.lds b/board/ms7750se/u-boot.lds index 7b0fb67..2ae4f20 100644 --- a/board/ms7750se/u-boot.lds +++ b/board/ms7750se/u-boot.lds @@ -28,18 +28,9 @@ ENTRY(_start) SECTIONS { /* - Base address of internal SDRAM is 0x0C000000. - Although size of SDRAM can be either 16 or 32 MBytes, - we assume 16 MBytes (ie ignore upper half if the full - 32 MBytes is present). - - NOTE: This address must match with the definition of - TEXT_BASE in config.mk (in this directory). - - */ - . = 0x8C000000 + (64*1024*1024) - (256*1024); - - PROVIDE (reloc_dst = .); + * entry and reloct_dst will be provided via ldflags + */ + . = .;
PROVIDE (_ftext = .); PROVIDE (_fcode = .); diff --git a/board/renesas/MigoR/u-boot.lds b/board/renesas/MigoR/u-boot.lds index c004b83..cd40d07 100644 --- a/board/renesas/MigoR/u-boot.lds +++ b/board/renesas/MigoR/u-boot.lds @@ -28,18 +28,9 @@ ENTRY(_start) SECTIONS { /* - Base address of internal SDRAM is 0x0C000000. - Although size of SDRAM can be either 16 or 32 MBytes, - we assume 16 MBytes (ie ignore upper half if the full - 32 MBytes is present). - - NOTE: This address must match with the definition of - TEXT_BASE in config.mk (in this directory). - - */ - . = 0x8C000000 + (64*1024*1024) - (256*1024); - - PROVIDE (reloc_dst = .); + * entry and reloct_dst will be provided via ldflags + */ + . = .;
PROVIDE (_ftext = .); PROVIDE (_fcode = .); diff --git a/board/renesas/ap325rxa/u-boot.lds b/board/renesas/ap325rxa/u-boot.lds index 94bacca..cd40d07 100644 --- a/board/renesas/ap325rxa/u-boot.lds +++ b/board/renesas/ap325rxa/u-boot.lds @@ -28,18 +28,9 @@ ENTRY(_start) SECTIONS { /* - Base address of internal SDRAM is 0x88000000. - Although size of SDRAM can be either 16 or 32 MBytes, - we assume 16 MBytes (ie ignore upper half if the full - 32 MBytes is present). - - NOTE: This address must match with the definition of - TEXT_BASE in config.mk (in this directory). - - */ - . = 0x88000000 + (128*1024*1024) - (256*1024); - - PROVIDE (reloc_dst = .); + * entry and reloct_dst will be provided via ldflags + */ + . = .;
PROVIDE (_ftext = .); PROVIDE (_fcode = .); diff --git a/board/renesas/r2dplus/u-boot.lds b/board/renesas/r2dplus/u-boot.lds index e1c15b0..86ef505 100644 --- a/board/renesas/r2dplus/u-boot.lds +++ b/board/renesas/r2dplus/u-boot.lds @@ -28,18 +28,9 @@ ENTRY(_start) SECTIONS { /* - Base address of internal SDRAM is 0x0C000000. - Although size of SDRAM can be either 16 or 32 MBytes, - we assume 16 MBytes (ie ignore upper half if the full - 32 MBytes is present). - - NOTE: This address must match with the definition of - TEXT_BASE in config.mk (in this directory). - - */ - . = 0x0C000000 + (64*1024*1024) - (256*1024); - - PROVIDE (reloc_dst = .); + * entry and reloct_dst will be provided via ldflags + */ + . = .;
PROVIDE (_ftext = .); PROVIDE (_fcode = .); diff --git a/board/renesas/r7780mp/u-boot.lds b/board/renesas/r7780mp/u-boot.lds index f32d0b8..86ef505 100644 --- a/board/renesas/r7780mp/u-boot.lds +++ b/board/renesas/r7780mp/u-boot.lds @@ -28,18 +28,9 @@ ENTRY(_start) SECTIONS { /* - Base address of internal SDRAM is 0x0C000000. - Although size of SDRAM can be either 16 or 32 MBytes, - we assume 16 MBytes (ie ignore upper half if the full - 32 MBytes is present). - - NOTE: This address must match with the definition of - TEXT_BASE in config.mk (in this directory). - - */ - . = 0x08000000 + (128*1024*1024) - (256*1024); - - PROVIDE (reloc_dst = .); + * entry and reloct_dst will be provided via ldflags + */ + . = .;
PROVIDE (_ftext = .); PROVIDE (_fcode = .); diff --git a/board/renesas/rsk7203/u-boot.lds b/board/renesas/rsk7203/u-boot.lds index bd4a550..6db5a00 100644 --- a/board/renesas/rsk7203/u-boot.lds +++ b/board/renesas/rsk7203/u-boot.lds @@ -28,15 +28,9 @@ ENTRY(_start) SECTIONS { /* - * Base address of internal SDRAM is 0x0C000000. - * - * NOTE: This address must match with the definition of - *TEXT_BASE in config.mk (in this directory). + * entry and reloct_dst will be provided via ldflags */ - - . = 0x0C000000 + (8*1024*1024) - (256*1024); - - PROVIDE (reloc_dst = .); + . = .;
PROVIDE (_ftext = .); PROVIDE (_fcode = .); diff --git a/board/renesas/sh7763rdp/u-boot.lds b/board/renesas/sh7763rdp/u-boot.lds index b1a967d..86ef505 100644 --- a/board/renesas/sh7763rdp/u-boot.lds +++ b/board/renesas/sh7763rdp/u-boot.lds @@ -28,18 +28,9 @@ ENTRY(_start) SECTIONS { /* - Base address of internal SDRAM is 0x0C000000. - Although size of SDRAM can be either 16 or 32 MBytes, - we assume 16 MBytes (ie ignore upper half if the full - 32 MBytes is present). - - NOTE: This address must match with the definition of - TEXT_BASE in config.mk (in this directory). - - */ - . = 0x8C000000 + (64*1024*1024) - (256*1024); - - PROVIDE (reloc_dst = .); + * entry and reloct_dst will be provided via ldflags + */ + . = .;
PROVIDE (_ftext = .); PROVIDE (_fcode = .); diff --git a/board/renesas/sh7785lcr/u-boot.lds b/board/renesas/sh7785lcr/u-boot.lds index 255ab37..48f4ba2 100644 --- a/board/renesas/sh7785lcr/u-boot.lds +++ b/board/renesas/sh7785lcr/u-boot.lds @@ -28,9 +28,10 @@ ENTRY(_start)
SECTIONS { - . = 0x88000000 + (128 * 1024 * 1024) - (512 * 1024); - - PROVIDE (reloc_dst = .); + /* + * entry and reloct_dst will be provided via ldflags + */ + . = .;
PROVIDE (_ftext = .); PROVIDE (_fcode = .); diff --git a/board/renesas/sh7785lcr/u-boot_29bit b/board/renesas/sh7785lcr/u-boot_29bit deleted file mode 100644 index 231769f..0000000 --- a/board/renesas/sh7785lcr/u-boot_29bit +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyrigth (c) 2007 - * Nobuhiro Iwamatsu iwamatsu@nigauri.org - * Copyrigth (c) 2008 Yoshihiro Shimoda shimoda.yoshihiro@renesas.com - * - * 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 - */ - -OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux") -OUTPUT_ARCH(sh) -ENTRY(_start) - -SECTIONS -{ - . = 0x08000000 + (128 * 1024 * 1024) - (512 * 1024); - - PROVIDE (reloc_dst = .); - - PROVIDE (_ftext = .); - PROVIDE (_fcode = .); - PROVIDE (_start = .); - - .text : - { - cpu/sh4/start.o (.text) - . = ALIGN(8192); - common/env_embedded.o (.ppcenv) - . = ALIGN(8192); - common/env_embedded.o (.ppcenvr) - . = ALIGN(8192); - *(.text) - . = ALIGN(4); - } =0xFF - PROVIDE (_ecode = .); - .rodata : - { - *(.rodata) - . = ALIGN(4); - } - PROVIDE (_etext = .); - - - PROVIDE (_fdata = .); - .data : - { - *(.data) - . = ALIGN(4); - } - PROVIDE (_edata = .); - - PROVIDE (_fgot = .); - .got : - { - *(.got) - . = ALIGN(4); - } - PROVIDE (_egot = .); - - PROVIDE (__u_boot_cmd_start = .); - .u_boot_cmd : - { - *(.u_boot_cmd) - . = ALIGN(4); - } - PROVIDE (__u_boot_cmd_end = .); - - PROVIDE (reloc_dst_end = .); - /* _reloc_dst_end = .; */ - - PROVIDE (bss_start = .); - PROVIDE (__bss_start = .); - .bss : - { - *(.bss) - . = ALIGN(4); - } - PROVIDE (bss_end = .); - - PROVIDE (_end = .); -} diff --git a/board/renesas/sh7785lcr/u-boot_32bit b/board/renesas/sh7785lcr/u-boot_32bit deleted file mode 100644 index 446fb93..0000000 --- a/board/renesas/sh7785lcr/u-boot_32bit +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyrigth (c) 2007 - * Nobuhiro Iwamatsu iwamatsu@nigauri.org - * Copyrigth (c) 2008-2009 Yoshihiro Shimoda shimoda.yoshihiro@renesas.com - * - * 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 - */ - -OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux") -OUTPUT_ARCH(sh) -ENTRY(_start) - -SECTIONS -{ - . = 0x88000000 + (128 * 1024 * 1024) - (512 * 1024); - - PROVIDE (reloc_dst = .); - - PROVIDE (_ftext = .); - PROVIDE (_fcode = .); - PROVIDE (_start = .); - - .text : - { - cpu/sh4/start.o (.text) - . = ALIGN(8192); - common/env_embedded.o (.ppcenv) - . = ALIGN(8192); - common/env_embedded.o (.ppcenvr) - . = ALIGN(8192); - *(.text) - . = ALIGN(4); - } =0xFF - PROVIDE (_ecode = .); - .rodata : - { - *(.rodata) - . = ALIGN(4); - } - PROVIDE (_etext = .); - - - PROVIDE (_fdata = .); - .data : - { - *(.data) - . = ALIGN(4); - } - PROVIDE (_edata = .); - - PROVIDE (_fgot = .); - .got : - { - *(.got) - . = ALIGN(4); - } - PROVIDE (_egot = .); - - PROVIDE (__u_boot_cmd_start = .); - .u_boot_cmd : - { - *(.u_boot_cmd) - . = ALIGN(4); - } - PROVIDE (__u_boot_cmd_end = .); - - PROVIDE (reloc_dst_end = .); - /* _reloc_dst_end = .; */ - - PROVIDE (bss_start = .); - PROVIDE (__bss_start = .); - .bss : - { - *(.bss) - . = ALIGN(4); - } - PROVIDE (bss_end = .); - - PROVIDE (_end = .); -} diff --git a/sh_config.mk b/sh_config.mk index 49d50f7..c19db53 100644 --- a/sh_config.mk +++ b/sh_config.mk @@ -22,3 +22,4 @@ #
PLATFORM_CPPFLAGS += -DCONFIG_SH -D__SH__ +PLATFORM_LDFLAGS += -e $(TEXT_BASE) --defsym reloc_dst=$(TEXT_BASE)

all sh boards use the same cpu linker script so move it to cpu/$(CPU)
that could be overwrite in following order SOC BOARD via the corresponding config.mk
tested on r2dplus
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com Cc: Nobuhiro Iwamatsu iwamatsu.nobuhiro@renesas.com --- board/ms7722se/u-boot.lds | 96 ------------------------ board/ms7750se/u-boot.lds | 96 ------------------------ board/renesas/MigoR/u-boot.lds | 96 ------------------------ board/renesas/ap325rxa/u-boot.lds | 96 ------------------------ board/renesas/r2dplus/u-boot.lds | 96 ------------------------ board/renesas/r7780mp/u-boot.lds | 96 ------------------------ board/renesas/sh7763rdp/u-boot.lds | 96 ------------------------ board/renesas/sh7785lcr/u-boot.lds | 97 ------------------------- {board/renesas/rsk7203 => cpu/sh2}/u-boot.lds | 0 {board/mpr2 => cpu/sh3}/u-boot.lds | 0 {board/ms7720se => cpu/sh4}/u-boot.lds | 12 ++-- sh_config.mk | 2 + 12 files changed, 8 insertions(+), 775 deletions(-) delete mode 100644 board/ms7722se/u-boot.lds delete mode 100644 board/ms7750se/u-boot.lds delete mode 100644 board/renesas/MigoR/u-boot.lds delete mode 100644 board/renesas/ap325rxa/u-boot.lds delete mode 100644 board/renesas/r2dplus/u-boot.lds delete mode 100644 board/renesas/r7780mp/u-boot.lds delete mode 100644 board/renesas/sh7763rdp/u-boot.lds delete mode 100644 board/renesas/sh7785lcr/u-boot.lds rename {board/renesas/rsk7203 => cpu/sh2}/u-boot.lds (100%) rename {board/mpr2 => cpu/sh3}/u-boot.lds (100%) rename {board/ms7720se => cpu/sh4}/u-boot.lds (95%)
diff --git a/board/ms7722se/u-boot.lds b/board/ms7722se/u-boot.lds deleted file mode 100644 index 2ae4f20..0000000 --- a/board/ms7722se/u-boot.lds +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyrigth (c) 2007 - * Nobuhiro Iwamatsu iwamatsu@nigauri.org - * - * 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 - */ - -OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux") -OUTPUT_ARCH(sh) -ENTRY(_start) - -SECTIONS -{ - /* - * entry and reloct_dst will be provided via ldflags - */ - . = .; - - PROVIDE (_ftext = .); - PROVIDE (_fcode = .); - PROVIDE (_start = .); - - .text : - { - cpu/sh4/start.o (.text) - . = ALIGN(8192); - common/env_embedded.o (.ppcenv) - . = ALIGN(8192); - common/env_embedded.o (.ppcenvr) - . = ALIGN(8192); - *(.text) - . = ALIGN(4); - } =0xFF - PROVIDE (_ecode = .); - .rodata : - { - *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) - . = ALIGN(4); - } - PROVIDE (_etext = .); - - - PROVIDE (_fdata = .); - .data : - { - *(.data) - . = ALIGN(4); - } - PROVIDE (_edata = .); - - PROVIDE (_fgot = .); - .got : - { - *(.got) - . = ALIGN(4); - } - PROVIDE (_egot = .); - - PROVIDE (__u_boot_cmd_start = .); - .u_boot_cmd : - { - *(.u_boot_cmd) - . = ALIGN(4); - } - PROVIDE (__u_boot_cmd_end = .); - - PROVIDE (reloc_dst_end = .); - /* _reloc_dst_end = .; */ - - PROVIDE (bss_start = .); - PROVIDE (__bss_start = .); - .bss (NOLOAD) : - { - *(.bss) - . = ALIGN(4); - } - PROVIDE (bss_end = .); - - PROVIDE (_end = .); -} diff --git a/board/ms7750se/u-boot.lds b/board/ms7750se/u-boot.lds deleted file mode 100644 index 2ae4f20..0000000 --- a/board/ms7750se/u-boot.lds +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyrigth (c) 2007 - * Nobuhiro Iwamatsu iwamatsu@nigauri.org - * - * 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 - */ - -OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux") -OUTPUT_ARCH(sh) -ENTRY(_start) - -SECTIONS -{ - /* - * entry and reloct_dst will be provided via ldflags - */ - . = .; - - PROVIDE (_ftext = .); - PROVIDE (_fcode = .); - PROVIDE (_start = .); - - .text : - { - cpu/sh4/start.o (.text) - . = ALIGN(8192); - common/env_embedded.o (.ppcenv) - . = ALIGN(8192); - common/env_embedded.o (.ppcenvr) - . = ALIGN(8192); - *(.text) - . = ALIGN(4); - } =0xFF - PROVIDE (_ecode = .); - .rodata : - { - *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) - . = ALIGN(4); - } - PROVIDE (_etext = .); - - - PROVIDE (_fdata = .); - .data : - { - *(.data) - . = ALIGN(4); - } - PROVIDE (_edata = .); - - PROVIDE (_fgot = .); - .got : - { - *(.got) - . = ALIGN(4); - } - PROVIDE (_egot = .); - - PROVIDE (__u_boot_cmd_start = .); - .u_boot_cmd : - { - *(.u_boot_cmd) - . = ALIGN(4); - } - PROVIDE (__u_boot_cmd_end = .); - - PROVIDE (reloc_dst_end = .); - /* _reloc_dst_end = .; */ - - PROVIDE (bss_start = .); - PROVIDE (__bss_start = .); - .bss (NOLOAD) : - { - *(.bss) - . = ALIGN(4); - } - PROVIDE (bss_end = .); - - PROVIDE (_end = .); -} diff --git a/board/renesas/MigoR/u-boot.lds b/board/renesas/MigoR/u-boot.lds deleted file mode 100644 index cd40d07..0000000 --- a/board/renesas/MigoR/u-boot.lds +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyrigth (c) 2007 - * Nobuhiro Iwamatsu iwamatsu@nigauri.org - * - * 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 - */ - -OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux") -OUTPUT_ARCH(sh) -ENTRY(_start) - -SECTIONS -{ - /* - * entry and reloct_dst will be provided via ldflags - */ - . = .; - - PROVIDE (_ftext = .); - PROVIDE (_fcode = .); - PROVIDE (_start = .); - - .text : - { - cpu/sh4/start.o (.text) - . = ALIGN(8192); - common/env_embedded.o (.ppcenv) - . = ALIGN(8192); - common/env_embedded.o (.ppcenvr) - . = ALIGN(8192); - *(.text) - . = ALIGN(4); - } =0xFF - PROVIDE (_ecode = .); - .rodata : - { - *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) - . = ALIGN(4); - } - PROVIDE (_etext = .); - - - PROVIDE (_fdata = .); - .data : - { - *(.data) - . = ALIGN(4); - } - PROVIDE (_edata = .); - - PROVIDE (_fgot = .); - .got : - { - *(.got) - . = ALIGN(4); - } - PROVIDE (_egot = .); - - PROVIDE (__u_boot_cmd_start = .); - .u_boot_cmd : - { - *(.u_boot_cmd) - . = ALIGN(4); - } - PROVIDE (__u_boot_cmd_end = .); - - PROVIDE (reloc_dst_end = .); - /* _reloc_dst_end = .; */ - - PROVIDE (bss_start = .); - PROVIDE (__bss_start = .); - .bss : - { - *(.bss) - . = ALIGN(4); - } - PROVIDE (bss_end = .); - - PROVIDE (_end = .); -} diff --git a/board/renesas/ap325rxa/u-boot.lds b/board/renesas/ap325rxa/u-boot.lds deleted file mode 100644 index cd40d07..0000000 --- a/board/renesas/ap325rxa/u-boot.lds +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyrigth (c) 2007 - * Nobuhiro Iwamatsu iwamatsu@nigauri.org - * - * 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 - */ - -OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux") -OUTPUT_ARCH(sh) -ENTRY(_start) - -SECTIONS -{ - /* - * entry and reloct_dst will be provided via ldflags - */ - . = .; - - PROVIDE (_ftext = .); - PROVIDE (_fcode = .); - PROVIDE (_start = .); - - .text : - { - cpu/sh4/start.o (.text) - . = ALIGN(8192); - common/env_embedded.o (.ppcenv) - . = ALIGN(8192); - common/env_embedded.o (.ppcenvr) - . = ALIGN(8192); - *(.text) - . = ALIGN(4); - } =0xFF - PROVIDE (_ecode = .); - .rodata : - { - *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) - . = ALIGN(4); - } - PROVIDE (_etext = .); - - - PROVIDE (_fdata = .); - .data : - { - *(.data) - . = ALIGN(4); - } - PROVIDE (_edata = .); - - PROVIDE (_fgot = .); - .got : - { - *(.got) - . = ALIGN(4); - } - PROVIDE (_egot = .); - - PROVIDE (__u_boot_cmd_start = .); - .u_boot_cmd : - { - *(.u_boot_cmd) - . = ALIGN(4); - } - PROVIDE (__u_boot_cmd_end = .); - - PROVIDE (reloc_dst_end = .); - /* _reloc_dst_end = .; */ - - PROVIDE (bss_start = .); - PROVIDE (__bss_start = .); - .bss : - { - *(.bss) - . = ALIGN(4); - } - PROVIDE (bss_end = .); - - PROVIDE (_end = .); -} diff --git a/board/renesas/r2dplus/u-boot.lds b/board/renesas/r2dplus/u-boot.lds deleted file mode 100644 index 86ef505..0000000 --- a/board/renesas/r2dplus/u-boot.lds +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyrigth (c) 2007,2008 - * Nobuhiro Iwamatsu iwamatsu@nigauri.org - * - * 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 - */ - -OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux") -OUTPUT_ARCH(sh) -ENTRY(_start) - -SECTIONS -{ - /* - * entry and reloct_dst will be provided via ldflags - */ - . = .; - - PROVIDE (_ftext = .); - PROVIDE (_fcode = .); - PROVIDE (_start = .); - - .text : - { - cpu/sh4/start.o (.text) - . = ALIGN(8192); - common/env_embedded.o (.ppcenv) - . = ALIGN(8192); - common/env_embedded.o (.ppcenvr) - . = ALIGN(8192); - *(.text) - . = ALIGN(4); - } =0xFF - PROVIDE (_ecode = .); - .rodata : - { - *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) - . = ALIGN(4); - } - PROVIDE (_etext = .); - - - PROVIDE (_fdata = .); - .data : - { - *(.data) - . = ALIGN(4); - } - PROVIDE (_edata = .); - - PROVIDE (_fgot = .); - .got : - { - *(.got) - . = ALIGN(4); - } - PROVIDE (_egot = .); - - PROVIDE (__u_boot_cmd_start = .); - .u_boot_cmd : - { - *(.u_boot_cmd) - . = ALIGN(4); - } - PROVIDE (__u_boot_cmd_end = .); - - PROVIDE (reloc_dst_end = .); - /* _reloc_dst_end = .; */ - - PROVIDE (bss_start = .); - PROVIDE (__bss_start = .); - .bss : - { - *(.bss) - . = ALIGN(4); - } - PROVIDE (bss_end = .); - - PROVIDE (_end = .); -} diff --git a/board/renesas/r7780mp/u-boot.lds b/board/renesas/r7780mp/u-boot.lds deleted file mode 100644 index 86ef505..0000000 --- a/board/renesas/r7780mp/u-boot.lds +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyrigth (c) 2007,2008 - * Nobuhiro Iwamatsu iwamatsu@nigauri.org - * - * 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 - */ - -OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux") -OUTPUT_ARCH(sh) -ENTRY(_start) - -SECTIONS -{ - /* - * entry and reloct_dst will be provided via ldflags - */ - . = .; - - PROVIDE (_ftext = .); - PROVIDE (_fcode = .); - PROVIDE (_start = .); - - .text : - { - cpu/sh4/start.o (.text) - . = ALIGN(8192); - common/env_embedded.o (.ppcenv) - . = ALIGN(8192); - common/env_embedded.o (.ppcenvr) - . = ALIGN(8192); - *(.text) - . = ALIGN(4); - } =0xFF - PROVIDE (_ecode = .); - .rodata : - { - *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) - . = ALIGN(4); - } - PROVIDE (_etext = .); - - - PROVIDE (_fdata = .); - .data : - { - *(.data) - . = ALIGN(4); - } - PROVIDE (_edata = .); - - PROVIDE (_fgot = .); - .got : - { - *(.got) - . = ALIGN(4); - } - PROVIDE (_egot = .); - - PROVIDE (__u_boot_cmd_start = .); - .u_boot_cmd : - { - *(.u_boot_cmd) - . = ALIGN(4); - } - PROVIDE (__u_boot_cmd_end = .); - - PROVIDE (reloc_dst_end = .); - /* _reloc_dst_end = .; */ - - PROVIDE (bss_start = .); - PROVIDE (__bss_start = .); - .bss : - { - *(.bss) - . = ALIGN(4); - } - PROVIDE (bss_end = .); - - PROVIDE (_end = .); -} diff --git a/board/renesas/sh7763rdp/u-boot.lds b/board/renesas/sh7763rdp/u-boot.lds deleted file mode 100644 index 86ef505..0000000 --- a/board/renesas/sh7763rdp/u-boot.lds +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyrigth (c) 2007,2008 - * Nobuhiro Iwamatsu iwamatsu@nigauri.org - * - * 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 - */ - -OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux") -OUTPUT_ARCH(sh) -ENTRY(_start) - -SECTIONS -{ - /* - * entry and reloct_dst will be provided via ldflags - */ - . = .; - - PROVIDE (_ftext = .); - PROVIDE (_fcode = .); - PROVIDE (_start = .); - - .text : - { - cpu/sh4/start.o (.text) - . = ALIGN(8192); - common/env_embedded.o (.ppcenv) - . = ALIGN(8192); - common/env_embedded.o (.ppcenvr) - . = ALIGN(8192); - *(.text) - . = ALIGN(4); - } =0xFF - PROVIDE (_ecode = .); - .rodata : - { - *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) - . = ALIGN(4); - } - PROVIDE (_etext = .); - - - PROVIDE (_fdata = .); - .data : - { - *(.data) - . = ALIGN(4); - } - PROVIDE (_edata = .); - - PROVIDE (_fgot = .); - .got : - { - *(.got) - . = ALIGN(4); - } - PROVIDE (_egot = .); - - PROVIDE (__u_boot_cmd_start = .); - .u_boot_cmd : - { - *(.u_boot_cmd) - . = ALIGN(4); - } - PROVIDE (__u_boot_cmd_end = .); - - PROVIDE (reloc_dst_end = .); - /* _reloc_dst_end = .; */ - - PROVIDE (bss_start = .); - PROVIDE (__bss_start = .); - .bss : - { - *(.bss) - . = ALIGN(4); - } - PROVIDE (bss_end = .); - - PROVIDE (_end = .); -} diff --git a/board/renesas/sh7785lcr/u-boot.lds b/board/renesas/sh7785lcr/u-boot.lds deleted file mode 100644 index 48f4ba2..0000000 --- a/board/renesas/sh7785lcr/u-boot.lds +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyrigth (c) 2007 - * Nobuhiro Iwamatsu iwamatsu@nigauri.org - * Copyrigth (c) 2008-2009 Yoshihiro Shimoda shimoda.yoshihiro@renesas.com - * - * 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 - */ - -OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux") -OUTPUT_ARCH(sh) -ENTRY(_start) - -SECTIONS -{ - /* - * entry and reloct_dst will be provided via ldflags - */ - . = .; - - PROVIDE (_ftext = .); - PROVIDE (_fcode = .); - PROVIDE (_start = .); - - .text : - { - cpu/sh4/start.o (.text) - . = ALIGN(8192); - common/env_embedded.o (.ppcenv) - . = ALIGN(8192); - common/env_embedded.o (.ppcenvr) - . = ALIGN(8192); - *(.text) - . = ALIGN(4); - } =0xFF - PROVIDE (_ecode = .); - .rodata : - { - *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) - . = ALIGN(4); - } - PROVIDE (_etext = .); - - - PROVIDE (_fdata = .); - .data : - { - *(.data) - . = ALIGN(4); - } - PROVIDE (_edata = .); - - PROVIDE (_fgot = .); - .got : - { - *(.got) - . = ALIGN(4); - } - PROVIDE (_egot = .); - - PROVIDE (__u_boot_cmd_start = .); - .u_boot_cmd : - { - *(.u_boot_cmd) - . = ALIGN(4); - } - PROVIDE (__u_boot_cmd_end = .); - - PROVIDE (reloc_dst_end = .); - /* _reloc_dst_end = .; */ - - PROVIDE (bss_start = .); - PROVIDE (__bss_start = .); - .bss : - { - *(.bss) - . = ALIGN(4); - } - PROVIDE (bss_end = .); - - PROVIDE (_end = .); -} diff --git a/board/renesas/rsk7203/u-boot.lds b/cpu/sh2/u-boot.lds similarity index 100% rename from board/renesas/rsk7203/u-boot.lds rename to cpu/sh2/u-boot.lds diff --git a/board/mpr2/u-boot.lds b/cpu/sh3/u-boot.lds similarity index 100% rename from board/mpr2/u-boot.lds rename to cpu/sh3/u-boot.lds diff --git a/board/ms7720se/u-boot.lds b/cpu/sh4/u-boot.lds similarity index 95% rename from board/ms7720se/u-boot.lds rename to cpu/sh4/u-boot.lds index b006dc8..bff9f43 100644 --- a/board/ms7720se/u-boot.lds +++ b/cpu/sh4/u-boot.lds @@ -1,10 +1,10 @@ /* - * Copyrigth (c) 2007 - * Yoshihiro Shimoda shimoda.yoshihiro@renesas.com - * - * Copyrigth (c) 2007 + * Copyright (C) 2007 * Nobuhiro Iwamatsu iwamatsu@nigauri.org * + * Copyright (C) 2008-2009 + * Yoshihiro Shimoda shimoda.yoshihiro@renesas.com + * * See file CREDITS for list of people who contributed to this * project. * @@ -41,7 +41,7 @@ SECTIONS
.text : { - cpu/sh3/start.o (.text) + cpu/sh4/start.o (.text) . = ALIGN(8192); common/env_embedded.o (.ppcenv) . = ALIGN(8192); @@ -88,7 +88,7 @@ SECTIONS
PROVIDE (bss_start = .); PROVIDE (__bss_start = .); - .bss : + .bss (NOLOAD) : { *(.bss) . = ALIGN(4); diff --git a/sh_config.mk b/sh_config.mk index c19db53..407e076 100644 --- a/sh_config.mk +++ b/sh_config.mk @@ -23,3 +23,5 @@
PLATFORM_CPPFLAGS += -DCONFIG_SH -D__SH__ PLATFORM_LDFLAGS += -e $(TEXT_BASE) --defsym reloc_dst=$(TEXT_BASE) + +LDSCRIPT := $(SRCTREE)/cpu/$(CPU)/u-boot.lds

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com Cc: Nobuhiro Iwamatsu iwamatsu.nobuhiro@renesas.com --- include/asm-sh/clk.h | 35 +++++++++++++++++++++++++++++++++++ 1 files changed, 35 insertions(+), 0 deletions(-) create mode 100644 include/asm-sh/clk.h
diff --git a/include/asm-sh/clk.h b/include/asm-sh/clk.h new file mode 100644 index 0000000..9cac6b0 --- /dev/null +++ b/include/asm-sh/clk.h @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2009 Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com + * + * 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 + */ +#ifndef __ASM_SH_CLK_H__ +#define __ASM_SH_CLK_H__ + +static inline unsigned long get_peripheral_clk_rate(void) +{ + return CONFIG_SYS_CLK_FREQ; +} + +static inline unsigned long get_tmu0_clk_rate(void) +{ + return CONFIG_SYS_CLK_FREQ; +} + +#endif /* __ASM_SH_CLK_H__ */

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com Cc: Nobuhiro Iwamatsu iwamatsu.nobuhiro@renesas.com --- include/configs/MigoR.h | 2 +- include/configs/ap325rxa.h | 2 +- include/configs/mpr2.h | 2 +- include/configs/ms7720se.h | 2 +- include/configs/ms7722se.h | 2 +- include/configs/ms7750se.h | 2 +- include/configs/r2dplus.h | 2 +- include/configs/r7780mp.h | 2 +- include/configs/sh7763rdp.h | 2 +- include/configs/sh7785lcr.h | 2 +- lib_sh/time.c | 51 ++++++++++++++++++++++++++++-------------- 11 files changed, 44 insertions(+), 27 deletions(-)
diff --git a/include/configs/MigoR.h b/include/configs/MigoR.h index c9589bd..6ef4c01 100644 --- a/include/configs/MigoR.h +++ b/include/configs/MigoR.h @@ -142,6 +142,6 @@ /* Board Clock */ #define CONFIG_SYS_CLK_FREQ 33333333 #define TMU_CLK_DIVIDER (4) /* 4 (default), 16, 64, 256 or 1024 */ -#define CONFIG_SYS_HZ (CONFIG_SYS_CLK_FREQ / TMU_CLK_DIVIDER) +#define CONFIG_SYS_HZ 1000
#endif /* __MIGO_R_H */ diff --git a/include/configs/ap325rxa.h b/include/configs/ap325rxa.h index c6d77e3..550d67f 100644 --- a/include/configs/ap325rxa.h +++ b/include/configs/ap325rxa.h @@ -171,6 +171,6 @@ /* Board Clock */ #define CONFIG_SYS_CLK_FREQ 33333333 #define TMU_CLK_DIVIDER (4) /* 4 (default), 16, 64, 256 or 1024 */ -#define CONFIG_SYS_HZ (CONFIG_SYS_CLK_FREQ / TMU_CLK_DIVIDER) +#define CONFIG_SYS_HZ 1000
#endif /* __AP325RXA_H */ diff --git a/include/configs/mpr2.h b/include/configs/mpr2.h index 86f6a93..c147337 100644 --- a/include/configs/mpr2.h +++ b/include/configs/mpr2.h @@ -83,7 +83,7 @@ /* Clocks */ #define CONFIG_SYS_CLK_FREQ 24000000 #define TMU_CLK_DIVIDER 4 /* 4 (default), 16, 64, 256 or 1024 */ -#define CONFIG_SYS_HZ (CONFIG_SYS_CLK_FREQ / TMU_CLK_DIVIDER) +#define CONFIG_SYS_HZ 1000
/* UART */ #define CONFIG_SCIF_CONSOLE 1 diff --git a/include/configs/ms7720se.h b/include/configs/ms7720se.h index 9a88ec7..f2e5122 100644 --- a/include/configs/ms7720se.h +++ b/include/configs/ms7720se.h @@ -102,7 +102,7 @@ /* Board Clock */ #define CONFIG_SYS_CLK_FREQ 33333333 #define TMU_CLK_DIVIDER 4 /* 4 (default), 16, 64, 256 or 1024 */ -#define CONFIG_SYS_HZ (CONFIG_SYS_CLK_FREQ / TMU_CLK_DIVIDER) +#define CONFIG_SYS_HZ 1000
/* PCMCIA */ #define CONFIG_IDE_PCMCIA 1 diff --git a/include/configs/ms7722se.h b/include/configs/ms7722se.h index 53ffbee..e83bd08 100644 --- a/include/configs/ms7722se.h +++ b/include/configs/ms7722se.h @@ -129,6 +129,6 @@ /* Board Clock */ #define CONFIG_SYS_CLK_FREQ 33333333 #define TMU_CLK_DIVIDER (4) /* 4 (default), 16, 64, 256 or 1024 */ -#define CONFIG_SYS_HZ (CONFIG_SYS_CLK_FREQ / TMU_CLK_DIVIDER) +#define CONFIG_SYS_HZ 1000
#endif /* __MS7722SE_H */ diff --git a/include/configs/ms7750se.h b/include/configs/ms7750se.h index 5eed3ab..67af209 100644 --- a/include/configs/ms7750se.h +++ b/include/configs/ms7750se.h @@ -102,6 +102,6 @@ /* Board Clock */ #define CONFIG_SYS_CLK_FREQ 33333333 #define TMU_CLK_DIVIDER 4 -#define CONFIG_SYS_HZ (CONFIG_SYS_CLK_FREQ / TMU_CLK_DIVIDER) +#define CONFIG_SYS_HZ 1000
#endif /* __MS7750SE_H */ diff --git a/include/configs/r2dplus.h b/include/configs/r2dplus.h index 6fa1eaf..804e3b8 100644 --- a/include/configs/r2dplus.h +++ b/include/configs/r2dplus.h @@ -81,7 +81,7 @@ */ #define CONFIG_SYS_CLK_FREQ 60000000 #define TMU_CLK_DIVIDER 4 -#define CONFIG_SYS_HZ (CONFIG_SYS_CLK_FREQ / TMU_CLK_DIVIDER) +#define CONFIG_SYS_HZ 1000 #define CONFIG_SYS_PLL_SETTLING_TIME 100/* in us */
/* diff --git a/include/configs/r7780mp.h b/include/configs/r7780mp.h index 88eb568..7b6867d 100644 --- a/include/configs/r7780mp.h +++ b/include/configs/r7780mp.h @@ -122,7 +122,7 @@ /* Board Clock */ #define CONFIG_SYS_CLK_FREQ 33333333 #define TMU_CLK_DIVIDER 4 -#define CONFIG_SYS_HZ (CONFIG_SYS_CLK_FREQ / TMU_CLK_DIVIDER) +#define CONFIG_SYS_HZ 1000
/* PCI Controller */ #if defined(CONFIG_CMD_PCI) diff --git a/include/configs/sh7763rdp.h b/include/configs/sh7763rdp.h index 8d7456e..79631be 100644 --- a/include/configs/sh7763rdp.h +++ b/include/configs/sh7763rdp.h @@ -115,7 +115,7 @@ /* Clock */ #define CONFIG_SYS_CLK_FREQ 66666666 #define TMU_CLK_DIVIDER (4) /* 4 (default), 16, 64, 256 or 1024 */ -#define CONFIG_SYS_HZ (CONFIG_SYS_CLK_FREQ / TMU_CLK_DIVIDER) +#define CONFIG_SYS_HZ 1000
/* Ether */ #define CONFIG_NET_MULTI 1 diff --git a/include/configs/sh7785lcr.h b/include/configs/sh7785lcr.h index 21c3f70..9b4defd 100644 --- a/include/configs/sh7785lcr.h +++ b/include/configs/sh7785lcr.h @@ -187,6 +187,6 @@ /* The SCIF used external clock. system clock only used timer. */ #define CONFIG_SYS_CLK_FREQ 50000000 #define TMU_CLK_DIVIDER 4 -#define CONFIG_SYS_HZ (CONFIG_SYS_CLK_FREQ / TMU_CLK_DIVIDER) +#define CONFIG_SYS_HZ 1000
#endif /* __SH7785LCR_H */ diff --git a/lib_sh/time.c b/lib_sh/time.c index 8fccce3..dc1c57e 100644 --- a/lib_sh/time.c +++ b/lib_sh/time.c @@ -1,4 +1,7 @@ /* + * (C) Copyright 2009 + * Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com + * * (C) Copyright 2007-2008 * Nobobuhiro Iwamatsu iwamatsu@nigauri.org * @@ -25,11 +28,30 @@ */
#include <common.h> +#include <div64.h> #include <asm/processor.h> +#include <asm/clk.h> #include <asm/io.h>
#define TMU_MAX_COUNTER (~0UL) -static int clk_adj = 1; + +static ulong timer_freq; + +static inline unsigned long long tick_to_time(unsigned long long tick) +{ + tick *= CONFIG_SYS_HZ; + do_div(tick, timer_freq); + + return tick; +} + +static inline unsigned long long usec_to_tick(unsigned long long usec) +{ + usec *= timer_freq; + do_div(usec, 1000000); + + return usec; +}
static void tmu_timer_start (unsigned int timer) { @@ -65,15 +87,12 @@ int timer_init (void) break; case 4: default: - bit = 0; break; } writew(readw(TCR0) | bit, TCR0);
- /* Clock adjustment calc */ - clk_adj = (int)(1.0 / ((1.0 / CONFIG_SYS_HZ) * 1000000)); - if (clk_adj < 1) - clk_adj = 1; + /* Calc clock rate */ + timer_freq = get_tmu0_clk_rate() >> ((bit + 1) * 2);
tmu_timer_stop(0); tmu_timer_start(0); @@ -86,24 +105,22 @@ unsigned long long get_ticks (void) return 0 - readl(TCNT0); }
-static unsigned long get_usec (void) -{ - return (0 - readl(TCNT0)); -} - void udelay (unsigned long usec) { - unsigned int start = get_usec(); - unsigned int end = start + (usec * clk_adj); + unsigned long long tmp; + ulong tmo; + + tmo = usec_to_tick(usec); + tmp = get_ticks() + tmo; /* get current timestamp */
- while (get_usec() < end) - continue; + while (get_ticks() < tmp) /* loop till event */ + /*NOP*/; }
unsigned long get_timer (unsigned long base) { /* return msec */ - return ((get_usec() / clk_adj) / 1000) - base; + return tick_to_time(get_ticks()) - base; }
void set_timer (unsigned long t) @@ -120,5 +137,5 @@ void reset_timer (void)
unsigned long get_tbclk (void) { - return CONFIG_SYS_HZ; + return timer_freq; }

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com Cc: Nobuhiro Iwamatsu iwamatsu.nobuhiro@renesas.com --- include/configs/MigoR.h | 2 +- include/configs/ap325rxa.h | 2 +- include/configs/mpr2.h | 2 +- include/configs/ms7720se.h | 2 +- include/configs/ms7722se.h | 2 +- include/configs/ms7750se.h | 2 +- include/configs/r2dplus.h | 2 +- include/configs/r7780mp.h | 2 +- include/configs/sh7763rdp.h | 2 +- include/configs/sh7785lcr.h | 2 +- lib_sh/time.c | 4 ++-- 11 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/include/configs/MigoR.h b/include/configs/MigoR.h index 6ef4c01..3853574 100644 --- a/include/configs/MigoR.h +++ b/include/configs/MigoR.h @@ -141,7 +141,7 @@
/* Board Clock */ #define CONFIG_SYS_CLK_FREQ 33333333 -#define TMU_CLK_DIVIDER (4) /* 4 (default), 16, 64, 256 or 1024 */ +#define CONFIG_SYS_TMU_CLK_DIV (4) /* 4 (default), 16, 64, 256 or 1024 */ #define CONFIG_SYS_HZ 1000
#endif /* __MIGO_R_H */ diff --git a/include/configs/ap325rxa.h b/include/configs/ap325rxa.h index 550d67f..6f58a05 100644 --- a/include/configs/ap325rxa.h +++ b/include/configs/ap325rxa.h @@ -170,7 +170,7 @@
/* Board Clock */ #define CONFIG_SYS_CLK_FREQ 33333333 -#define TMU_CLK_DIVIDER (4) /* 4 (default), 16, 64, 256 or 1024 */ +#define CONFIG_SYS_TMU_CLK_DIV (4) /* 4 (default), 16, 64, 256 or 1024 */ #define CONFIG_SYS_HZ 1000
#endif /* __AP325RXA_H */ diff --git a/include/configs/mpr2.h b/include/configs/mpr2.h index c147337..0a472a6 100644 --- a/include/configs/mpr2.h +++ b/include/configs/mpr2.h @@ -82,7 +82,7 @@
/* Clocks */ #define CONFIG_SYS_CLK_FREQ 24000000 -#define TMU_CLK_DIVIDER 4 /* 4 (default), 16, 64, 256 or 1024 */ +#define CONFIG_SYS_TMU_CLK_DIV 4 /* 4 (default), 16, 64, 256 or 1024 */ #define CONFIG_SYS_HZ 1000
/* UART */ diff --git a/include/configs/ms7720se.h b/include/configs/ms7720se.h index f2e5122..ba0a3f8 100644 --- a/include/configs/ms7720se.h +++ b/include/configs/ms7720se.h @@ -101,7 +101,7 @@
/* Board Clock */ #define CONFIG_SYS_CLK_FREQ 33333333 -#define TMU_CLK_DIVIDER 4 /* 4 (default), 16, 64, 256 or 1024 */ +#define CONFIG_SYS_TMU_CLK_DIV 4 /* 4 (default), 16, 64, 256 or 1024 */ #define CONFIG_SYS_HZ 1000
/* PCMCIA */ diff --git a/include/configs/ms7722se.h b/include/configs/ms7722se.h index e83bd08..6755af3 100644 --- a/include/configs/ms7722se.h +++ b/include/configs/ms7722se.h @@ -128,7 +128,7 @@
/* Board Clock */ #define CONFIG_SYS_CLK_FREQ 33333333 -#define TMU_CLK_DIVIDER (4) /* 4 (default), 16, 64, 256 or 1024 */ +#define CONFIG_SYS_TMU_CLK_DIV (4) /* 4 (default), 16, 64, 256 or 1024 */ #define CONFIG_SYS_HZ 1000
#endif /* __MS7722SE_H */ diff --git a/include/configs/ms7750se.h b/include/configs/ms7750se.h index 67af209..8c06bf2 100644 --- a/include/configs/ms7750se.h +++ b/include/configs/ms7750se.h @@ -101,7 +101,7 @@
/* Board Clock */ #define CONFIG_SYS_CLK_FREQ 33333333 -#define TMU_CLK_DIVIDER 4 +#define CONFIG_SYS_TMU_CLK_DIV 4 #define CONFIG_SYS_HZ 1000
#endif /* __MS7750SE_H */ diff --git a/include/configs/r2dplus.h b/include/configs/r2dplus.h index 804e3b8..25f5012 100644 --- a/include/configs/r2dplus.h +++ b/include/configs/r2dplus.h @@ -80,7 +80,7 @@ * SuperH Clock setting */ #define CONFIG_SYS_CLK_FREQ 60000000 -#define TMU_CLK_DIVIDER 4 +#define CONFIG_SYS_TMU_CLK_DIV 4 #define CONFIG_SYS_HZ 1000 #define CONFIG_SYS_PLL_SETTLING_TIME 100/* in us */
diff --git a/include/configs/r7780mp.h b/include/configs/r7780mp.h index 7b6867d..01b64e6 100644 --- a/include/configs/r7780mp.h +++ b/include/configs/r7780mp.h @@ -121,7 +121,7 @@
/* Board Clock */ #define CONFIG_SYS_CLK_FREQ 33333333 -#define TMU_CLK_DIVIDER 4 +#define CONFIG_SYS_TMU_CLK_DIV 4 #define CONFIG_SYS_HZ 1000
/* PCI Controller */ diff --git a/include/configs/sh7763rdp.h b/include/configs/sh7763rdp.h index 79631be..c8c62ad 100644 --- a/include/configs/sh7763rdp.h +++ b/include/configs/sh7763rdp.h @@ -114,7 +114,7 @@
/* Clock */ #define CONFIG_SYS_CLK_FREQ 66666666 -#define TMU_CLK_DIVIDER (4) /* 4 (default), 16, 64, 256 or 1024 */ +#define CONFIG_SYS_TMU_CLK_DIV (4) /* 4 (default), 16, 64, 256 or 1024 */ #define CONFIG_SYS_HZ 1000
/* Ether */ diff --git a/include/configs/sh7785lcr.h b/include/configs/sh7785lcr.h index 9b4defd..2c18e2f 100644 --- a/include/configs/sh7785lcr.h +++ b/include/configs/sh7785lcr.h @@ -186,7 +186,7 @@ /* Board Clock */ /* The SCIF used external clock. system clock only used timer. */ #define CONFIG_SYS_CLK_FREQ 50000000 -#define TMU_CLK_DIVIDER 4 +#define CONFIG_SYS_TMU_CLK_DIV 4 #define CONFIG_SYS_HZ 1000
#endif /* __SH7785LCR_H */ diff --git a/lib_sh/time.c b/lib_sh/time.c index dc1c57e..52dbcd0 100644 --- a/lib_sh/time.c +++ b/lib_sh/time.c @@ -69,10 +69,10 @@ static void tmu_timer_stop (unsigned int timer)
int timer_init (void) { - /* Divide clock by TMU_CLK_DIVIDER */ + /* Divide clock by CONFIG_SYS_TMU_CLK_DIV */ u16 bit = 0;
- switch (TMU_CLK_DIVIDER) { + switch (CONFIG_SYS_TMU_CLK_DIV) { case 1024: bit = 4; break;

Dear, Jean-Christophe PLAGNIOL-VILLARD.
2009/6/4 Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com:
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com Cc: Nobuhiro Iwamatsu iwamatsu.nobuhiro@renesas.com
include/configs/MigoR.h | 2 +- include/configs/ap325rxa.h | 2 +- include/configs/mpr2.h | 2 +- include/configs/ms7720se.h | 2 +- include/configs/ms7722se.h | 2 +- include/configs/ms7750se.h | 2 +- include/configs/r2dplus.h | 2 +- include/configs/r7780mp.h | 2 +- include/configs/sh7763rdp.h | 2 +- include/configs/sh7785lcr.h | 2 +- lib_sh/time.c | 4 ++-- 11 files changed, 12 insertions(+), 12 deletions(-)
I checked some board. Work file. Applied, thanks.
Best regards. Nobuhiro

Dear, Jean-Christophe PLAGNIOL-VILLARD.
2009/6/4 Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com:
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com Cc: Nobuhiro Iwamatsu iwamatsu.nobuhiro@renesas.com
include/configs/MigoR.h | 2 +- include/configs/ap325rxa.h | 2 +- include/configs/mpr2.h | 2 +- include/configs/ms7720se.h | 2 +- include/configs/ms7722se.h | 2 +- include/configs/ms7750se.h | 2 +- include/configs/r2dplus.h | 2 +- include/configs/r7780mp.h | 2 +- include/configs/sh7763rdp.h | 2 +- include/configs/sh7785lcr.h | 2 +- lib_sh/time.c | 51 ++++++++++++++++++++++++++++-------------- 11 files changed, 44 insertions(+), 27 deletions(-)
Applied , thanks.
Best regards, Nobuhiro

Dear, Jean-Christophe PLAGNIOL-VILLARD
2009/6/4 Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com:
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com Cc: Nobuhiro Iwamatsu iwamatsu.nobuhiro@renesas.com
include/asm-sh/clk.h | 35 +++++++++++++++++++++++++++++++++++ 1 files changed, 35 insertions(+), 0 deletions(-) create mode 100644 include/asm-sh/clk.h
Applied, thanks.
Best regards, Nobuhiro

Dear ,Jean-Christophe PLAGNIOL-VILLARD.
2009/6/4 Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com:
all sh boards use the same cpu linker script so move it to cpu/$(CPU)
that could be overwrite in following order SOC BOARD via the corresponding config.mk
tested on r2dplus
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com Cc: Nobuhiro Iwamatsu iwamatsu.nobuhiro@renesas.com
board/ms7722se/u-boot.lds | 96 ------------------------ board/ms7750se/u-boot.lds | 96 ------------------------ board/renesas/MigoR/u-boot.lds | 96 ------------------------ board/renesas/ap325rxa/u-boot.lds | 96 ------------------------ board/renesas/r2dplus/u-boot.lds | 96 ------------------------ board/renesas/r7780mp/u-boot.lds | 96 ------------------------ board/renesas/sh7763rdp/u-boot.lds | 96 ------------------------ board/renesas/sh7785lcr/u-boot.lds | 97 ------------------------- {board/renesas/rsk7203 => cpu/sh2}/u-boot.lds | 0 {board/mpr2 => cpu/sh3}/u-boot.lds | 0 {board/ms7720se => cpu/sh4}/u-boot.lds | 12 ++-- sh_config.mk | 2 + 12 files changed, 8 insertions(+), 775 deletions(-) delete mode 100644 board/ms7722se/u-boot.lds delete mode 100644 board/ms7750se/u-boot.lds delete mode 100644 board/renesas/MigoR/u-boot.lds delete mode 100644 board/renesas/ap325rxa/u-boot.lds delete mode 100644 board/renesas/r2dplus/u-boot.lds delete mode 100644 board/renesas/r7780mp/u-boot.lds delete mode 100644 board/renesas/sh7763rdp/u-boot.lds delete mode 100644 board/renesas/sh7785lcr/u-boot.lds rename {board/renesas/rsk7203 => cpu/sh2}/u-boot.lds (100%) rename {board/mpr2 => cpu/sh3}/u-boot.lds (100%) rename {board/ms7720se => cpu/sh4}/u-boot.lds (95%)
Applied, thanks.
Best regards. Nobuhiro

Dear, Jean-Christophe PLAGNIOL-VILLARD.
2009/6/4 Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com:
currently we need to sync the linker script enty and TEXT_BASE manualy and the reloc_dst is based on it
instead provide it now from the ldflags
tested on r2dplus
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com Cc: Nobuhiro Iwamatsu iwamatsu.nobuhiro@renesas.com
Makefile | 5 -- board/mpr2/u-boot.lds | 13 +---- board/ms7720se/u-boot.lds | 15 +---- board/ms7722se/u-boot.lds | 15 +---- board/ms7750se/u-boot.lds | 15 +---- board/renesas/MigoR/u-boot.lds | 15 +---- board/renesas/ap325rxa/u-boot.lds | 15 +---- board/renesas/r2dplus/u-boot.lds | 15 +---- board/renesas/r7780mp/u-boot.lds | 15 +---- board/renesas/rsk7203/u-boot.lds | 10 +--- board/renesas/sh7763rdp/u-boot.lds | 15 +---- board/renesas/sh7785lcr/u-boot.lds | 7 ++- board/renesas/sh7785lcr/u-boot_29bit | 96 ---------------------------------- board/renesas/sh7785lcr/u-boot_32bit | 96 ---------------------------------- sh_config.mk | 1 + 15 files changed, 34 insertions(+), 314 deletions(-) delete mode 100644 board/renesas/sh7785lcr/u-boot_29bit delete mode 100644 board/renesas/sh7785lcr/u-boot_32bit
Applied, thanks.
Best regards, Nobuhiro

Hi, Jean-Christophe PLAGNIOL-VILLARD.
2009/6/4 Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com:
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com Cc: Nobuhiro Iwamatsu iwamatsu.nobuhiro@renesas.com
Makefile | 5 +++-- board/renesas/sh7785lcr/Makefile | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-)
Applied, thanks.
Best regards, Nobuhiro
participants (2)
-
Jean-Christophe PLAGNIOL-VILLARD
-
Nobuhiro Iwamatsu