[U-Boot] [PATCH 1/2] git-mailrc: Change fdt maintainer
Add myself as fdt maintainer. Signed-off-by: Simon Glass s...@chromium.org --- doc/git-mailrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/git-mailrc b/doc/git-mailrc index ae7e7bf..3dcd667 100644 --- a/doc/git-mailrc +++ b/doc/git-mailrc @@ -108,7 +108,7 @@ alias x86uboot, sjg, gruss alias cfiuboot, stroese alias dfuuboot, lukma alias kerneldoc uboot, marex -alias fdtuboot, Jerry Van Baren vanba...@cideas.com +alias fdtuboot, sjg alias i2cuboot, hs alias mmcuboot, panto alias nand uboot, scottwood -- 2.0.0.526.g5318336 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 2/2] git-mailrc: Add myself as dm maintainer
Add a subsystem entry for dm with myself as maintainer. Signed-off-by: Simon Glass s...@chromium.org --- doc/git-mailrc | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/git-mailrc b/doc/git-mailrc index 3dcd667..4898a4c 100644 --- a/doc/git-mailrc +++ b/doc/git-mailrc @@ -105,6 +105,7 @@ alias sh superh alias x86uboot, sjg, gruss # Subsystem aliases +alias dm uboot, sjg alias cfiuboot, stroese alias dfuuboot, lukma alias kerneldoc uboot, marex -- 2.0.0.526.g5318336 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v2] powerpc/85xx: enable some P1/P2 boards mtdparts for nor flash
Enable these boards mtdparts for nor flash: p1020rdb-pd, p1021rdb-pc, p1022ds, p1025twr, and p2020rdb-pc. Signed-off-by: Xie Xiaobo x@freescale.com Signed-off-by: Yangbo Lu yangbo...@freescale.com Cc: Scott Wood scottw...@freescale.com --- Changes for v2: - changed commit message - fixed max line length problem in code --- include/configs/P1022DS.h | 12 include/configs/p1_p2_rdb_pc.h | 31 +++ include/configs/p1_twr.h | 12 3 files changed, 55 insertions(+) diff --git a/include/configs/P1022DS.h b/include/configs/P1022DS.h index 139d4fe..4480270 100644 --- a/include/configs/P1022DS.h +++ b/include/configs/P1022DS.h @@ -620,6 +620,18 @@ #endif /* + * Dynamic MTD Partition support with mtdparts + */ +#define CONFIG_MTD_DEVICE +#define CONFIG_MTD_PARTITIONS +#define CONFIG_CMD_MTDPARTS +#define CONFIG_FLASH_CFI_MTD +#define MTDIDS_DEFAULT nor0=e800.nor +#define MTDPARTS_DEFAULT mtdparts=e800.nor:48m(ramdisk), \ + 14m(diagnostic),2m(dink),6m(kernel),58112k(fs), \ + 512k(dtb),768k(u-boot) + +/* * Environment */ #ifdef CONFIG_SPIFLASH diff --git a/include/configs/p1_p2_rdb_pc.h b/include/configs/p1_p2_rdb_pc.h index 07b6179..1ed8838 100644 --- a/include/configs/p1_p2_rdb_pc.h +++ b/include/configs/p1_p2_rdb_pc.h @@ -77,6 +77,16 @@ #define __SW_BOOT_NAND 0x44 #define __SW_BOOT_PCIE 0x74 #define CONFIG_SYS_L2_SIZE (256 10) +/* + * Dynamic MTD Partition support with mtdparts + */ +#define CONFIG_MTD_DEVICE +#define CONFIG_MTD_PARTITIONS +#define CONFIG_CMD_MTDPARTS +#define CONFIG_FLASH_CFI_MTD +#define MTDIDS_DEFAULT nor0=ec00.nor +#define MTDPARTS_DEFAULT mtdparts=ec00.nor:128k(dtb),6016k(kernel), \ + 57088k(fs),1m(vsc7385-firmware),1280k(u-boot) #endif #if defined(CONFIG_P1021RDB) @@ -95,6 +105,17 @@ #define __SW_BOOT_NAND 0xec #define __SW_BOOT_PCIE 0x6c #define CONFIG_SYS_L2_SIZE (256 10) +/* + * Dynamic MTD Partition support with mtdparts + */ +#define CONFIG_MTD_DEVICE +#define CONFIG_MTD_PARTITIONS +#define CONFIG_CMD_MTDPARTS +#define CONFIG_FLASH_CFI_MTD +#define MTDIDS_DEFAULT nor0=ef00.nor +#define MTDPARTS_DEFAULT mtdparts=ef00.nor:256k(vsc7385-firmware), \ + 256k(dtb),4608k(kernel),9728k(fs), \ + 256k(qe-ucode-firmware),1280k(u-boot) #endif #if defined(CONFIG_P1024RDB) @@ -142,6 +163,16 @@ #define __SW_BOOT_NAND 0xe8 #define __SW_BOOT_PCIE 0xa8 #define CONFIG_SYS_L2_SIZE (512 10) +/* + * Dynamic MTD Partition support with mtdparts + */ +#define CONFIG_MTD_DEVICE +#define CONFIG_MTD_PARTITIONS +#define CONFIG_CMD_MTDPARTS +#define CONFIG_FLASH_CFI_MTD +#define MTDIDS_DEFAULT nor0=ef00.nor +#define MTDPARTS_DEFAULT mtdparts=ef00.nor:256k(vsc7385-firmware), \ + 256k(dtb),4608k(kernel),9984k(fs),1280k(u-boot) #endif #ifdef CONFIG_SDCARD diff --git a/include/configs/p1_twr.h b/include/configs/p1_twr.h index c296a07..d3093f5 100644 --- a/include/configs/p1_twr.h +++ b/include/configs/p1_twr.h @@ -389,6 +389,18 @@ extern unsigned long get_board_sys_clk(unsigned long dummy); #endif /* CONFIG_TWR-P1025 */ /* + * Dynamic MTD Partition support with mtdparts + */ +#define CONFIG_MTD_DEVICE +#define CONFIG_MTD_PARTITIONS +#define CONFIG_CMD_MTDPARTS +#define CONFIG_FLASH_CFI_MTD +#define MTDIDS_DEFAULT nor0=ec00.nor +#define MTDPARTS_DEFAULT mtdparts=ec00.nor:256k(vsc7385-firmware), \ + 256k(dtb),5632k(kernel),57856k(fs), \ + 256k(qe-ucode-firmware),1280k(u-boot) + +/* * Environment */ #ifdef CONFIG_SYS_RAMBOOT -- 1.8.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] sunxi: make mksunxiboot available to tools-only builds
On Mon, 2014-07-28 at 22:22 +0200, Jeroen Hofstee wrote: Hello Ian, On 28-07-14 21:29, Ian Campbell wrote: This tool is potentially useful on host systems. In particular I'd like to make use of it at build time from the sunxi-tools package in Debian. No this does not make sense. Why should a MAKEALL for powerpc build mksunxiboot hundreds of times, while it not using it, while you ship a arch specific package in Debian? Hrm, I incorrectly thought that hostprogs-y covered more stuff but I was wrong. Can't you just put this under HOST_TOOLS_ALL and ship an u-boot-tools package or something? The problem with HOST_TOOLS_ALL is that it requires a configured tree. At the moment we have tools-only which does not require a configured tree but only includes a minimal set of tools and tools-all (HOST_TOOLS_ALL) which does require a configured tree but in addition to the tools which the config implies also builds all config-independent tools as well. Debian currently builds tools-only into a u-boot-tools package and the various target specific files into another package. I'd like to get mksunxiboot into the u-boot-tools package (or perhaps u-boot-tools-sunxi) so it is available even on non-sunxi (or even non-ARM) systems. Perhaps what is needed is a third target between tools-only and tools-all which builds all config-independent tools without requiring a config? e.g. tools-all-only? Or maybe it would be possible to relax tools-all such that it doesn't require a configured tree. Any opinions on those two options? FWIW the first option would end up looking something like below, I've not prototyped the second one yet. Ian. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] sunxi: make mksunxiboot available to tools-only builds
On Tue, 2014-07-29 at 09:30 +0100, Ian Campbell wrote: Any opinions on those two options? FWIW the first option would end up looking something like below, I've not prototyped the second one yet. Hit the wrong button, oops. Here's the scratch patch: diff --git a/Makefile b/Makefile index ca212b5..01c3416 100644 - - a/Makefile + + b/Makefile @@ -417,7 +417,7 @@ timestamp_h := include/generated/timestamp_autogenerated.h no-dot-config-targets := clean clobber mrproper distclean \ help %docs check% coccicheck \ -ubootversion backup tools-only +ubootversion backup tools-only tools-all-only config-targets := 0 mixed-targets := 0 @@ -1186,6 +1186,10 @@ env: scripts_basic tools-only: scripts_basic $(version_h) $(timestamp_h) $(Q)$(MAKE) $(build)=tools +tools-all-only: export HOST_TOOLS_ALL=y +tools-all-only: scripts_basic $(version_h) $(timestamp_h) + $(Q)$(MAKE) $(build)=tools + tools-all: export HOST_TOOLS_ALL=y tools-all: env tools ; diff --git a/tools/Makefile b/tools/Makefile index 61b2048..0100af3 100644 - - a/tools/Makefile + + b/tools/Makefile @@ -13,6 +13,7 @@ CONFIG_CMD_NET = y CONFIG_XWAY_SWAP_BYTES = y CONFIG_NETCONSOLE = y CONFIG_SHA1_CHECK_UB_IMG = y +CONFIG_SUNXI = y endif subdir-$(HOST_TOOLS_ALL) += easylogo ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] samsung: dfu: Provide correct Vendor and Product IDs for UMS gadget
It is necessary to provide the same Vendor and Product IDs as the one in the original Linux kernel code. Without this change the USB mass storage gadget is not working with Windows7. Signed-off-by: Lukasz Majewski l.majew...@samsung.com --- board/samsung/common/Makefile | 2 +- board/samsung/common/gadget.c | 24 board/samsung/common/thor.c | 21 - include/configs/exynos4-dt.h | 2 ++ 4 files changed, 27 insertions(+), 22 deletions(-) create mode 100644 board/samsung/common/gadget.c delete mode 100644 board/samsung/common/thor.c diff --git a/board/samsung/common/Makefile b/board/samsung/common/Makefile index 41d0cc3..93347ef 100644 --- a/board/samsung/common/Makefile +++ b/board/samsung/common/Makefile @@ -6,7 +6,7 @@ # obj-$(CONFIG_SOFT_I2C_MULTI_BUS) += multi_i2c.o -obj-$(CONFIG_THOR_FUNCTION) += thor.o +obj-$(CONFIG_USBDOWNLOAD_GADGET) += gadget.o obj-$(CONFIG_MISC_COMMON) += misc.o ifndef CONFIG_SPL_BUILD diff --git a/board/samsung/common/gadget.c b/board/samsung/common/gadget.c new file mode 100644 index 000..6a1e57f --- /dev/null +++ b/board/samsung/common/gadget.c @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2013 Samsung Electronics + * Lukasz Majewski l.majew...@samsung.com + * + * SPDX-License-Identifier:GPL-2.0+ + */ + +#include common.h +#include linux/usb/ch9.h + +int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name) +{ + if (!strcmp(name, usb_dnl_thor)) { + put_unaligned(CONFIG_G_DNL_THOR_VENDOR_NUM, dev-idVendor); + put_unaligned(CONFIG_G_DNL_THOR_PRODUCT_NUM, dev-idProduct); + } else if (!strcmp(name, usb_dnl_ums)) { + put_unaligned(CONFIG_G_DNL_UMS_VENDOR_NUM, dev-idVendor); + put_unaligned(CONFIG_G_DNL_UMS_PRODUCT_NUM, dev-idProduct); + } else { + put_unaligned(CONFIG_G_DNL_VENDOR_NUM, dev-idVendor); + put_unaligned(CONFIG_G_DNL_PRODUCT_NUM, dev-idProduct); + } + return 0; +} diff --git a/board/samsung/common/thor.c b/board/samsung/common/thor.c deleted file mode 100644 index 1c7630d..000 --- a/board/samsung/common/thor.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (C) 2013 Samsung Electronics - * Lukasz Majewski l.majew...@samsung.com - * - * SPDX-License-Identifier:GPL-2.0+ - */ - -#include common.h -#include linux/usb/ch9.h - -int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name) -{ - if (!strcmp(name, usb_dnl_thor)) { - put_unaligned(CONFIG_G_DNL_THOR_VENDOR_NUM, dev-idVendor); - put_unaligned(CONFIG_G_DNL_THOR_PRODUCT_NUM, dev-idProduct); - } else { - put_unaligned(CONFIG_G_DNL_VENDOR_NUM, dev-idVendor); - put_unaligned(CONFIG_G_DNL_PRODUCT_NUM, dev-idProduct); - } - return 0; -} diff --git a/include/configs/exynos4-dt.h b/include/configs/exynos4-dt.h index 44e6ab4..7dac1a3 100644 --- a/include/configs/exynos4-dt.h +++ b/include/configs/exynos4-dt.h @@ -105,6 +105,8 @@ #define CONFIG_G_DNL_PRODUCT_NUM 0x6601 #define CONFIG_G_DNL_THOR_VENDOR_NUM CONFIG_G_DNL_VENDOR_NUM #define CONFIG_G_DNL_THOR_PRODUCT_NUM 0x685D +#define CONFIG_G_DNL_UMS_VENDOR_NUM 0x0525 +#define CONFIG_G_DNL_UMS_PRODUCT_NUM 0xA4A5 #define CONFIG_G_DNL_MANUFACTURER Samsung /* Miscellaneous configurable options */ -- 2.0.0.rc2 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 1/1] env_mmc: support env partition setup in runtime
Add callback with __weak annotation to allow setup of environment partition number in runtime from a board file. Propagate mmc_switch_part() return value into init_mmc_for_env() instead of -1 in case of failure. Signed-off-by: Dmitry Lifshitz lifsh...@compulab.co.il Signed-off-by: Igor Grinberg grinb...@compulab.co.il --- common/env_mmc.c | 35 +++ 1 files changed, 23 insertions(+), 12 deletions(-) diff --git a/common/env_mmc.c b/common/env_mmc.c index 7da10e6..a7621a8 100644 --- a/common/env_mmc.c +++ b/common/env_mmc.c @@ -62,16 +62,36 @@ int env_init(void) return 0; } -static int init_mmc_for_env(struct mmc *mmc) -{ #ifdef CONFIG_SYS_MMC_ENV_PART +__weak uint mmc_get_env_part(struct mmc *mmc) +{ + return CONFIG_SYS_MMC_ENV_PART; +} + +static int mmc_set_env_part(struct mmc *mmc) +{ + uint part = mmc_get_env_part(mmc); int dev = CONFIG_SYS_MMC_ENV_DEV; + int ret = 0; #ifdef CONFIG_SPL_BUILD dev = 0; #endif + + if (part != mmc-part_num) { + ret = mmc_switch_part(dev, part); + if (ret) + puts(MMC partition switch failed\n); + } + + return ret; +} +#else +static inline int mmc_set_env_part(struct mmc *mmc) {return 0; }; #endif +static int init_mmc_for_env(struct mmc *mmc) +{ if (!mmc) { puts(No MMC card found\n); return -1; @@ -82,16 +102,7 @@ static int init_mmc_for_env(struct mmc *mmc) return -1; } -#ifdef CONFIG_SYS_MMC_ENV_PART - if (CONFIG_SYS_MMC_ENV_PART != mmc-part_num) { - if (mmc_switch_part(dev, CONFIG_SYS_MMC_ENV_PART)) { - puts(MMC partition switch failed\n); - return -1; - } - } -#endif - - return 0; + return mmc_set_env_part(mmc); } static void fini_mmc_for_env(struct mmc *mmc) -- 1.7.5.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] Can not boot Linux with new FIT image on ARMv8
Hi All: I am trying to make use of verified Uboot on ARMv8 FVP platform. I setup environment followed the below procedure, but failed after entered Linux kernel. There was nothing prompt information except Starting kernel. Operation procedure as bellow: 1) Add CONFIG_OF_CONTROL/CONFIG_RSA/CONFIG_FIT_SIGNATURE/CONFIG_FIT/CONFIG_OF_SEPARATE to vexpress_aemv8a.h 2) Generate RSA keys use openssl tool 3) Create a kernel.its file that used to build the FIT image / { description = Chrome OS kernel image with one or more FDT blobs; #address-cells = 1; images { kernel@1 { description = kernel image; data = /incbin/(Image.gz); type = kernel_noload; arch = arm64; os = linux; compression = gzip; load = 0x8900; entry = 0x8900; kernel-version = 1; signature@1 { algo = sha1,rsa2048; key-name-hint = dev; }; }; fdt@1 { description = fdb blob; data = /incbin/(atf_psci.dtb); type = flat_dt; arch = arm64; compression = none; fdt-version = 1; signature@1 { algo = sha1,rsa2048; key-name-hint = dev; }; }; ramsidk@1 { description=ramdisk; data = /incbin/(filesystem.cpio.gz); type = ramdisk; arch = arm64; os = linux; compression = gzip; load = 0xaa00; entry = 0xaa00; signature@1 { algo = sha1,rsa2048; key-name-hint = dev; }; }; }; configurations { default = conf@1; conf@1 { kernel = kernel@1; fdt = fdt@1; ramdisk = ramdisk@1; }; }; }; 4) Get the Image.gz and atf_psci.dtb and ramdisk file(These images and device tree blob files are verified before with old uImage format, and they are ok) 5) Build Uboot enanbled FDT: # make vexpress_aemv8a_config # make CROSS_COMPILE= DEVICE_TREE=atf_psci all Before compile, CONFIG_OF_SEPARATE has been added to vexpress_aemv8a.h; Also atf_psci.dts file was added to arch/arm/dts directory. After build , u-boot-dtb.bin file was generated. 6) Build and signed FIT image as: # cp atf_psco.dtb atf_psci_public.dtb # mkimage -D -I dts -O dtb -p 2000 -F -f kernel.its -k key -K atf_psci_public.dtb -r image.fit 7) Build FDT uboot with public key # make CROSS_COMPILE= EXT_DTB=/WORK/atf_psci_public.dtb And public key attached u-boot-dtb.bin file was generated. 8) Load FIT image image.fit to address 0xc304 on Foundation The images are verified successful, however system hangs after enter Linux. I debugged Linux kernel with console output, and found that before function start_kernel be called it is normal. (After __turn_mmu_on function on kernel, the MMU was enabled, and my console output is invalid for not been mapped. So my debug was stopped before start_kernel. But I believe there is no obstacle between __turn_mmu_on function and start_kernel function). And also, I checked the input parameter fdt_blob for kernel, the address seems normal. This problem has confused me several days, I will appreciated if you can give me susggestions. Logs are bellow. =Logs are bellow=== Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Booting trusted firmware boot loader stage 1 Built : 10:44:52, Jul 29 2014 Booting trusted firmware boot loader stage 2 BL2 Built : 10:44:54, Jul 29 2014 Booting trusted firmware boot loader stage 3 BL31 Built : 10:44:56, Jul 29 2014 BL33 image pc = 0x8800 U-Boot 2014.07-rc4 (Jul 29 2014 - 10:43:19) vexpress_aemv8a U-Boot code: 8800 - 88039BF0 BSS: - 8806FB00 monitor len: 0006FB00 ramsize: 7800 Top of RAM usable for U-Boot at: 1 Reserving 446k for U-Boot at: fff9 Reserving 136k for malloc() at: fff6e000 Reserving 56 Bytes for Board Info at: fff6dfc8 Reserving 264 Bytes for Global Data at: fff6dec0 Reserving 11936 Bytes for FDT at: fff6b020 New Stack Pointer is: fff6b020 RAM Configuration: Bank #0: 8800 1.9 GiB relocation Offset is: 77f9 monitor flash len: 00039BF0 Now running in RAM - U-Boot at: fff9 fdtdec_get_config_int: load-environment Using default environment Destroy Hash Table: fffc3b00 table = Create Hash Table: N=91 INSERT: table fffc3b00, filled 1/97 rv fff6e220 == name=bootargs value=console=ttyAMA0
[U-Boot] [PATCH v7 04/15] kconfig: add basic Kconfig files
This commit adds more Kconfig files, which were written by hand. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Acked-by: Simon Glass s...@chromium.org --- Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: - Abolish CONFIG_SUBIMAGES - Add CONFIG_DEFCONFIG_LIST Changes in v3: - Add CONFIG_SUBIMAGES for generic sub-image framework. - Move CONFIG_SYS_EXTRA_OPTIONS to the top Kconfig. - Add more help messages to each config. Changes in v2: - Do not include board/Kconfig - Drop CONFIG_BUILD_MODE Kconfig | 65 +++ arch/Kconfig | 66 2 files changed, 131 insertions(+) create mode 100644 Kconfig create mode 100644 arch/Kconfig diff --git a/Kconfig b/Kconfig new file mode 100644 index 000..9e77a6e --- /dev/null +++ b/Kconfig @@ -0,0 +1,65 @@ +# +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/kconfig-language.txt. +# +mainmenu U-Boot $UBOOTVERSION Configuration + +config UBOOTVERSION + string + option env=UBOOTVERSION + +config KCONFIG_OBJDIR + string + option env=KCONFIG_OBJDIR + +config DEFCONFIG_LIST + string + depends on !SPL_BUILD + option defconfig_list + default configs/sandbox_defconfig + +menu General setup + +config SPL_BUILD + bool + depends on $KCONFIG_OBJDIR=spl || $KCONFIG_OBJDIR=tpl + default y + +config TPL_BUILD + bool + depends on $KCONFIG_OBJDIR=tpl + default y + +config SPL + bool + prompt Enable SPL if !SPL_BUILD + default y if SPL_BUILD + help + If you want to build SPL as well as the normal image, say Y. + +config TPL + bool + depends on SPL + prompt Enable TPL if !SPL_BUILD + default y if TPL_BUILD + default n + help + If you want to build TPL as well as the normal image and SPL, say Y. + +config SYS_EXTRA_OPTIONS + string Extra Options (DEPRECATED) + depends on !SPL_BUILD + help + The old configuration infrastructure (= mkconfig + boards.cfg) + provided the extra options field. It you have something like + HAS_BAR,BAZ=64, the optional options + #define CONFIG_HAS + #define CONFIG_BAZ 64 + will be defined in include/config.h. + This option was prepared for the smooth migration from the old + configuration to Kconfig. Since this option will be removed sometime, + new boards should not use this option. + +endmenu# General setup + +source arch/Kconfig diff --git a/arch/Kconfig b/arch/Kconfig new file mode 100644 index 000..8620a4f --- /dev/null +++ b/arch/Kconfig @@ -0,0 +1,66 @@ +choice + prompt Architecture select + default SANDBOX + +config ARC + bool ARC architecture + +config ARM + bool ARM architecture + +config AVR32 + bool AVR32 architecture + +config BLACKFIN + bool Blackfin architecture + +config M68K + bool M68000 architecture + +config MICROBLAZE + bool MicroBlaze architecture + +config MIPS + bool MIPS architecture + +config NDS32 + bool NDS32 architecture + +config NIOS2 + bool Nios II architecture + +config OPENRISC + bool OpenRISC architecture + +config PPC + bool PowerPC architecture + +config SANDBOX + bool Sandbox + +config SH + bool SuperH architecture + +config SPARC + bool SPARC architecture + +config X86 + bool x86 architecture + +endchoice + +source arch/arc/Kconfig +source arch/arm/Kconfig +source arch/avr32/Kconfig +source arch/blackfin/Kconfig +source arch/m68k/Kconfig +source arch/microblaze/Kconfig +source arch/mips/Kconfig +source arch/nds32/Kconfig +source arch/nios2/Kconfig +source arch/openrisc/Kconfig +source arch/powerpc/Kconfig +source arch/sandbox/Kconfig +source arch/sh/Kconfig +source arch/sparc/Kconfig +source arch/x86/Kconfig -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v7 12/15] buildman: adjust for Kconfig
Use make board_defconfig instead of make board_config. Invoke tools/genboardscfg.py to generate boards.cfg when it is missing. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Acked-by: Simon Glass s...@chromium.org --- Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: - Generate boards.cfg automatically if it is missing Changes in v3: None Changes in v2: None tools/buildman/board.py | 2 +- tools/buildman/builder.py | 6 +++--- tools/buildman/control.py | 10 ++ 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/tools/buildman/board.py b/tools/buildman/board.py index 5172a47..7bcc932 100644 --- a/tools/buildman/board.py +++ b/tools/buildman/board.py @@ -17,7 +17,7 @@ class Board: soc: Name of SOC, or '' if none (e.g. mx31) vendor: Name of vendor (e.g. armltd) board_name: Name of board (e.g. integrator) -target: Target name (use make target_config to configure) +target: Target name (use make target_defconfig to configure) options: board-specific options (e.g. integratorcp:CM1136) self.target = target diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py index 7de8125..48408ff 100644 --- a/tools/buildman/builder.py +++ b/tools/buildman/builder.py @@ -199,7 +199,7 @@ class BuilderThread(threading.Thread): commit_upto: Commit number to build (0...n-1) brd: Board object to build work_dir: Directory to which the source will be checked out -do_config: True to run a make board_config on the source +do_config: True to run a make board_defconfig on the source force_build: Force a build even if one was previously done force_build_failures: Force a bulid if the previous result showed failure @@ -266,7 +266,7 @@ class BuilderThread(threading.Thread): args.append('-s') if self.builder.num_jobs is not None: args.extend(['-j', str(self.builder.num_jobs)]) -config_args = ['%s_config' % brd.target] +config_args = ['%s_defconfig' % brd.target] config_out = '' args.extend(self.builder.toolchains.GetMakeArguments(brd)) @@ -419,7 +419,7 @@ class BuilderThread(threading.Thread): work_dir = self.builder.GetThreadDir(self.thread_num) self.toolchain = None if job.commits: -# Run 'make board_config' on the first commit +# Run 'make board_defconfig' on the first commit do_config = True commit_upto = 0 force_build = False diff --git a/tools/buildman/control.py b/tools/buildman/control.py index 267b7d9..75b6498 100644 --- a/tools/buildman/control.py +++ b/tools/buildman/control.py @@ -15,6 +15,7 @@ import patchstream import terminal import toolchain import command +import subprocess def GetPlural(count): Returns a plural 's' if count is not 1 @@ -109,6 +110,15 @@ def DoBuildman(options, args): sys.exit(1) # Work out what subset of the boards we are building +board_file = os.path.join(options.git, 'boards.cfg') +if not os.path.exists(board_file): +print 'Could not find %s' % board_file +status = subprocess.call([os.path.join(options.git, + 'tools/genboardscfg.py')]) +if status != 0: +print sys.stderr, Failed to generate boards.cfg +sys.exit(1) + boards = board.Boards() boards.ReadBoards(os.path.join(options.git, 'boards.cfg')) why_selected = boards.SelectBoards(args) -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v7 07/15] Do not apply: tools: add gen_maintainers.py
Do not apply this patch to the main line This tool generates MAINTAINERS files based on boards.cfg file. Because it is used only once, it should not be applied. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com --- Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: - Newly added Changes in v3: None Changes in v2: None tools/gen_maintainers.py | 117 +++ 1 file changed, 117 insertions(+) create mode 100755 tools/gen_maintainers.py diff --git a/tools/gen_maintainers.py b/tools/gen_maintainers.py new file mode 100755 index 000..c448402 --- /dev/null +++ b/tools/gen_maintainers.py @@ -0,0 +1,117 @@ +#!/usr/bin/env python + +import os +import sys +import subprocess + +INPUT_FILE = 'boards.cfg' + +def get_board_name(board, target): +board = board.upper() +target = target.upper() +if board == 'none': +return target +elif board == target[:len(board)]: +return board +else: +print other cases:, board, ':', target +return target + +def get_status(status): +if status == 'Active': +return 'Maintained' +elif status == 'Orphan': +return 'Orphan (since %s)' % orphaned_date +else: +print 'Error: %s: unknown status' % status +sys.exit(1) + +class Board: +def __init__(self, name, status, files, maintainers): +self.name = name +self.status = status +self.files = files +self.maintainers = maintainers +def append(self, files): +self.files += files + +# remove old MAINTAINERS files +subprocess.call(find board -name MAINTAINERS | xargs -r rm, shell=True) + +# store all the boards in this dictionary +all_boards = {} + +for line in open(INPUT_FILE): +if line[0] == '#' or line == '\n': +if line == '# The following were moved to Orphan in June, 2014\n': +orphaned_date = '2014-06' +elif line == '# The following were moved to Orphan in April, 2014\n': +orphaned_date = '2014-04' +elif line == '# The following were moved to Orphan in March, 2014\n': +orphaned_date = '2014-03' +elif line == '# The following were move to Orphan in September, 2013\n': +orphaned_date = '2013-09' +continue +(status, arch, cpu, soc, vendor, board, target, options, maintainers) = \ + line.rstrip().split(None, 8) +status = get_status(status) +if options == '-': +config = target +else: +config = options.split(':')[0] +# path of MAINTAINERS file: board/path/MAINTAINERS +if board == '-': +path = vendor +elif vendor == '-': +path = board +else: +path = os.path.join(vendor, board) +#name = get_board_name(board, target) +if board == '-': +files = [] +elif vendor == '-': +files = [ 'board/' + board + '/' ] +else: +files = [ 'board/' + vendor + '/' + board + '/' ] +files.append('include/configs/' + config + '.h') +files.append('configs/' + target + '_defconfig') +# On the first occurance of this MAINTAINERS path, add an empty list +if not path in all_boards: +all_boards[path] = [] +# boards_list is the list of boards that share the same MAINTAINERS file +boards_list = all_boards[path] +for b in boards_list: +remove_list = [] +for f in files: +if f in b.files: +remove_list.append(f) +for f in remove_list: +files.remove(f) +i = 0 +for b in boards_list: +if status == b.status and maintainers == b.maintainers: +b.append(files) +break +i += 1 +else: +if i == 0: +name = board.upper() +else: +name = target.upper() +boards_list.append(Board(name, status, files, maintainers)) + +for path, boards_list in all_boards.items(): +path = os.path.join('board', path, 'MAINTAINERS') +wfile = open(path, 'w') +first_loop = True +for b in boards_list: +if first_loop: +first_loop = False +else: +wfile.write('\n') +wfile.write(b.name.upper() + ' BOARD\n') +for maintainer in b.maintainers.split(':'): +wfile.write('M:\t%s\n' % maintainer) +wfile.write('S:\t%s\n' % b.status) +for file in b.files: +wfile.write('F:\t%s\n' % file) -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v7 05/15] include: define CONFIG_SPL and CONFIG_TPL as 1
We are about to switch to Kconfig in the next commit. But there are something to get done beforehand. In Kconfig, include/generated/autoconf.h defines boolean CONFIG macros as 1. CONFIG_SPL and CONFIG_TPL, if defined, must be set to 1. Otherwise, when switching to Kconfig, the build log would be sprinkled with warning messages like this: warning: CONFIG_SPL redefined [enabled by default] Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Reviewed-by: Simon Glass s...@chromium.org --- Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: - Rebase on the current u-boot/master Changes in v2: - Rebase on the current u-boot/master doc/README.SPL | 2 +- include/configs/B4860QDS.h | 2 +- include/configs/BSC9131RDB.h | 2 +- include/configs/BSC9132QDS.h | 2 +- include/configs/C29XPCIE.h | 4 ++-- include/configs/MPC8313ERDB.h | 2 +- include/configs/P1010RDB.h | 8 include/configs/P1022DS.h | 8 include/configs/P1_P2_RDB.h| 8 include/configs/T104xRDB.h | 2 +- include/configs/T208xQDS.h | 2 +- include/configs/T208xRDB.h | 2 +- include/configs/T4240QDS.h | 2 +- include/configs/a3m071.h | 2 +- include/configs/am335x_igep0033.h | 2 +- include/configs/am3517_crane.h | 2 +- include/configs/am3517_evm.h | 2 +- include/configs/apf27.h| 2 +- include/configs/arndale.h | 2 +- include/configs/bur_am335x_common.h| 2 +- include/configs/cam_enc_4xx.h | 2 +- include/configs/cm_t35.h | 2 +- include/configs/da850evm.h | 2 +- include/configs/devkit8000.h | 2 +- include/configs/exynos5-dt.h | 2 +- include/configs/hawkboard.h| 2 +- include/configs/ipam390.h | 2 +- include/configs/lwmon5.h | 2 +- include/configs/m53evk.h | 2 +- include/configs/mcx.h | 2 +- include/configs/microblaze-generic.h | 2 +- include/configs/mx31pdk.h | 2 +- include/configs/mxs.h | 2 +- include/configs/omap3_evm_common.h | 2 +- include/configs/origen.h | 2 +- include/configs/p1_p2_rdb_pc.h | 8 include/configs/palmtreo680.h | 2 +- include/configs/pcm051.h | 2 +- include/configs/sama5d3_xplained.h | 2 +- include/configs/sama5d3xek.h | 2 +- include/configs/siemens-am33x-common.h | 2 +- include/configs/smdkv310.h | 2 +- include/configs/socfpga_cyclone5.h | 2 +- include/configs/sunxi-common.h | 2 +- include/configs/tam3517-common.h | 2 +- include/configs/tao3530.h | 2 +- include/configs/tegra-common.h | 2 +- include/configs/ti814x_evm.h | 2 +- include/configs/ti816x_evm.h | 2 +- include/configs/ti_armv7_common.h | 2 +- include/configs/tricorder.h| 2 +- include/configs/tx25.h | 2 +- include/configs/vpac270.h | 2 +- include/configs/woodburn_sd.h | 2 +- include/configs/x600.h | 2 +- include/configs/zynq-common.h | 2 +- 56 files changed, 69 insertions(+), 69 deletions(-) diff --git a/doc/README.SPL b/doc/README.SPL index 57a39a4..2b4b0b8 100644 --- a/doc/README.SPL +++ b/doc/README.SPL @@ -40,7 +40,7 @@ COBJS-$(CONFIG_SPL_BUILD) += foo.o The building of SPL images can be with: -#define CONFIG_SPL +#define CONFIG_SPL 1 Because SPL images normally have a different text base, one has to be configured by defining CONFIG_SPL_TEXT_BASE. The linker script has to be diff --git a/include/configs/B4860QDS.h b/include/configs/B4860QDS.h index 43c9df0..e6475ef 100644 --- a/include/configs/B4860QDS.h +++ b/include/configs/B4860QDS.h @@ -23,7 +23,7 @@ #define CONFIG_RAMBOOT_TEXT_BASE CONFIG_SYS_TEXT_BASE #define CONFIG_RESET_VECTOR_ADDRESS0xfffc #else -#define CONFIG_SPL +#define CONFIG_SPL 1 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT #define CONFIG_SPL_ENV_SUPPORT #define CONFIG_SPL_SERIAL_SUPPORT diff --git a/include/configs/BSC9131RDB.h b/include/configs/BSC9131RDB.h index 5a316c8..e6b46e4 100644 --- a/include/configs/BSC9131RDB.h +++ b/include/configs/BSC9131RDB.h @@ -25,7 +25,7 @@ #endif #ifdef CONFIG_NAND -#define CONFIG_SPL +#define CONFIG_SPL 1 #define CONFIG_SPL_INIT_MINIMAL #define CONFIG_SPL_SERIAL_SUPPORT #define CONFIG_SPL_NAND_SUPPORT diff --git a/include/configs/BSC9132QDS.h b/include/configs/BSC9132QDS.h index 49c16af..37e1688 100644 --- a/include/configs/BSC9132QDS.h +++ b/include/configs/BSC9132QDS.h @@ -41,7 +41,7 @@ #endif #ifdef CONFIG_NAND -#define CONFIG_SPL +#define CONFIG_SPL 1 #define CONFIG_SPL_INIT_MINIMAL #define CONFIG_SPL_SERIAL_SUPPORT #define CONFIG_SPL_NAND_SUPPORT diff
[U-Boot] [PATCH v7 15/15] include: remove CONFIG_SPL/CONFIG_TPL definition in config headers
Now CONFIG_SPL and CONFIG_TPL are defined in Kconfig. Remove the redundant definition in config headers. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Reviewed-by: Simon Glass s...@chromium.org --- Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: - Rebase on the current u-boot/master Changes in v3: - Rebase on the current u-boot/master Changes in v2: - Rebase on the current u-boot/master include/configs/B4860QDS.h | 1 - include/configs/BSC9131RDB.h | 1 - include/configs/BSC9132QDS.h | 1 - include/configs/C29XPCIE.h | 2 -- include/configs/MPC8313ERDB.h | 1 - include/configs/P1010RDB.h | 4 include/configs/P1022DS.h | 4 include/configs/P1_P2_RDB.h| 4 include/configs/T104xRDB.h | 1 - include/configs/T208xQDS.h | 1 - include/configs/T208xRDB.h | 1 - include/configs/T4240QDS.h | 1 - include/configs/a3m071.h | 1 - include/configs/am335x_igep0033.h | 1 - include/configs/am3517_crane.h | 1 - include/configs/am3517_evm.h | 1 - include/configs/apf27.h| 1 - include/configs/arndale.h | 1 - include/configs/bur_am335x_common.h| 1 - include/configs/cam_enc_4xx.h | 1 - include/configs/cm_t35.h | 1 - include/configs/da850evm.h | 1 - include/configs/devkit8000.h | 1 - include/configs/exynos5-dt.h | 1 - include/configs/hawkboard.h| 1 - include/configs/ipam390.h | 1 - include/configs/lwmon5.h | 1 - include/configs/m53evk.h | 1 - include/configs/mcx.h | 1 - include/configs/microblaze-generic.h | 1 - include/configs/mx31pdk.h | 1 - include/configs/mxs.h | 1 - include/configs/omap3_evm_common.h | 1 - include/configs/omap3_zoom1.h | 1 - include/configs/origen.h | 1 - include/configs/p1_p2_rdb_pc.h | 4 include/configs/palmtreo680.h | 1 - include/configs/pcm051.h | 1 - include/configs/sama5d3_xplained.h | 1 - include/configs/sama5d3xek.h | 1 - include/configs/siemens-am33x-common.h | 1 - include/configs/smdkv310.h | 1 - include/configs/socfpga_cyclone5.h | 1 - include/configs/sunxi-common.h | 1 - include/configs/tam3517-common.h | 1 - include/configs/tao3530.h | 1 - include/configs/tegra-common.h | 1 - include/configs/ti814x_evm.h | 1 - include/configs/ti816x_evm.h | 1 - include/configs/ti_armv7_common.h | 1 - include/configs/tricorder.h| 1 - include/configs/tx25.h | 1 - include/configs/vpac270.h | 1 - include/configs/woodburn_sd.h | 1 - include/configs/x600.h | 1 - include/configs/zynq-common.h | 1 - 56 files changed, 69 deletions(-) diff --git a/include/configs/B4860QDS.h b/include/configs/B4860QDS.h index e6475ef..953d06b 100644 --- a/include/configs/B4860QDS.h +++ b/include/configs/B4860QDS.h @@ -23,7 +23,6 @@ #define CONFIG_RAMBOOT_TEXT_BASE CONFIG_SYS_TEXT_BASE #define CONFIG_RESET_VECTOR_ADDRESS0xfffc #else -#define CONFIG_SPL 1 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT #define CONFIG_SPL_ENV_SUPPORT #define CONFIG_SPL_SERIAL_SUPPORT diff --git a/include/configs/BSC9131RDB.h b/include/configs/BSC9131RDB.h index e6b46e4..56a3e94 100644 --- a/include/configs/BSC9131RDB.h +++ b/include/configs/BSC9131RDB.h @@ -25,7 +25,6 @@ #endif #ifdef CONFIG_NAND -#define CONFIG_SPL 1 #define CONFIG_SPL_INIT_MINIMAL #define CONFIG_SPL_SERIAL_SUPPORT #define CONFIG_SPL_NAND_SUPPORT diff --git a/include/configs/BSC9132QDS.h b/include/configs/BSC9132QDS.h index 37e1688..aeded6d 100644 --- a/include/configs/BSC9132QDS.h +++ b/include/configs/BSC9132QDS.h @@ -41,7 +41,6 @@ #endif #ifdef CONFIG_NAND -#define CONFIG_SPL 1 #define CONFIG_SPL_INIT_MINIMAL #define CONFIG_SPL_SERIAL_SUPPORT #define CONFIG_SPL_NAND_SUPPORT diff --git a/include/configs/C29XPCIE.h b/include/configs/C29XPCIE.h index f170fc7..715616d 100644 --- a/include/configs/C29XPCIE.h +++ b/include/configs/C29XPCIE.h @@ -24,8 +24,6 @@ #endif #ifdef CONFIG_NAND -#define CONFIG_SPL 1 -#define CONFIG_TPL 1 #ifdef CONFIG_TPL_BUILD #define CONFIG_SPL_NAND_BOOT #define CONFIG_SPL_FLUSH_IMAGE diff --git a/include/configs/MPC8313ERDB.h b/include/configs/MPC8313ERDB.h index 7f5aa59..dd81229 100644 --- a/include/configs/MPC8313ERDB.h +++ b/include/configs/MPC8313ERDB.h @@ -19,7 +19,6 @@ #define CONFIG_MPC8313ERDB 1 #ifdef CONFIG_NAND -#define CONFIG_SPL 1 #define CONFIG_SPL_INIT_MINIMAL #define CONFIG_SPL_SERIAL_SUPPORT #define CONFIG_SPL_NAND_SUPPORT diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h index 51127c8..a373990
[U-Boot] [PATCH v7 11/15] MAKEALL: adjust for Kconfig
Use make board_defconfig instead of make board_config. Invoke tools/genboardscfg.py to generate boards.cfg when it is missing. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Acked-by: Simon Glass s...@chromium.org --- Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: - Generate boards.cfg automatically if it is missing Changes in v3: None Changes in v2: None MAKEALL | 14 +++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/MAKEALL b/MAKEALL index 9510982..5c2567a 100755 --- a/MAKEALL +++ b/MAKEALL @@ -171,6 +171,14 @@ GNU_MAKE=$(scripts/show-gnu-make) || { # echo Remaining arguments: # for arg do echo '-- '\`$arg' ; done +if [ ! -r boards.cfg ]; then + echo Could not find boards.cfg + tools/genboardscfg.py || { + echo Failed to generate boards.cfg 2 + exit 1 + } +fi + FILTER=\$1 !~ /^#/ [ $opt_a ] FILTER=${FILTER} $opt_a [ $opt_c ] FILTER=${FILTER} $opt_c @@ -512,9 +520,9 @@ get_target_location() { set ${line} - CONFIG_NAME=${7%_config} + CONFIG_NAME=${7%_defconfig} - [ ${BOARD_NAME} ] || BOARD_NAME=${7%_config} + [ ${BOARD_NAME} ] || BOARD_NAME=${7%_defconfig} if [ $# -gt 5 ]; then if [ $6 = - ] ; then @@ -651,7 +659,7 @@ build_target() { fi ${MAKE} distclean /dev/null - ${MAKE} -s ${target}_config + ${MAKE} -s ${target}_defconfig ${MAKE} ${JOBS} ${CHECK} all \ ${LOG_DIR}/$target.MAKELOG 2 ${LOG_DIR}/$target.ERR -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v7 09/15] tools: add genboardscfg.py
Now the primary data for each board is in Kconfig, defconfig and MAINTAINERS. It is true boards.cfg is needed for MAKEALL and buildman and might be useful to brouse all the supported boards in a single database. But it would be painful to maintain the boards.cfg in sync. So, this is the solution. Add a tool to generate the equivalent boards.cfg file based on the latest Kconfig, defconfig and MAINTAINERS. We can keep all the functions of MAKEALL and buildman with it. The best thing would be to change MAKEALL and buildman for not depending on boards.cfg in the future, but it would take some time. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Acked-by: Simon Glass s...@chromium.org --- Changes in v7: - Delete the incomplete boards.cfg file when the script is terminated by user with keyboard interrupt. - Follow PEP8 codiyg style: Use blah blah rather than '''blah blah''' for docstring. Fix some indents Add a period of the end of the first line of docstring - Do not hard-code 'make' command name. Use scripts/show-gnu-make - Add specific exception class - Add a blank line to some places for readability Changes in v6: - Fix comment format of arguments foo: blah blah rather than foo - blah blah - Use tag, rest instead of line[:2], line[2:] for clarification - Sort imports alphabetically - Insert a blank before each function - Fix some comments - Use tempfile.mkdtemp() to create working directories Changes in v5: - Support wildcard pattern like 'F: configs/foo_*_defconfig' - Rename genboardscfg to genboardscfg.py - Use assert statement for sanity check - Do not run if imported from another script if __name__ == '__main__': main() - Check if we are at the top of source directory Changes in v4: - Newly added Changes in v3: None Changes in v2: None tools/genboardscfg.py | 504 ++ 1 file changed, 504 insertions(+) create mode 100755 tools/genboardscfg.py diff --git a/tools/genboardscfg.py b/tools/genboardscfg.py new file mode 100755 index 000..77ce886 --- /dev/null +++ b/tools/genboardscfg.py @@ -0,0 +1,504 @@ +#!/usr/bin/env python +# +# Author: Masahiro Yamada yamad...@jp.panasonic.com +# +# SPDX-License-Identifier: GPL-2.0+ +# + + +Converter from Kconfig and MAINTAINERS to boards.cfg + +Run 'tools/genboardscfg.py' to create boards.cfg file. + +Run 'tools/genboardscfg.py -h' for available options. + + +import errno +import fnmatch +import glob +import optparse +import os +import re +import shutil +import subprocess +import sys +import tempfile +import time + +BOARD_FILE = 'boards.cfg' +CONFIG_DIR = 'configs' +REFORMAT_CMD = [os.path.join('tools', 'reformat.py'), +'-i', '-d', '-', '-s', '8'] +SHOW_GNU_MAKE = 'scripts/show-gnu-make' +SLEEP_TIME=0.03 + +COMMENT_BLOCK = '''# +# List of boards +# Automatically generated by %s: don't edit +# +# Status, Arch, CPU(:SPLCPU), SoC, Vendor, Board, Target, Options, Maintainers + +''' % __file__ + +### helper functions ### +def get_terminal_columns(): +Get the width of the terminal. + +Returns: + The width of the terminal, or zero if the stdout is not + associated with tty. + +try: +return shutil.get_terminal_size().columns # Python 3.3~ +except AttributeError: +import fcntl +import termios +import struct +arg = struct.pack('', 0, 0, 0, 0) +try: +ret = fcntl.ioctl(sys.stdout.fileno(), termios.TIOCGWINSZ, arg) +except IOError as exception: +if exception.errno != errno.ENOTTY: +raise +# If 'Inappropriate ioctl for device' error occurs, +# stdout is probably redirected. Return 0. +return 0 +return struct.unpack('', ret)[1] + +def get_devnull(): +Get the file object of '/dev/null' device. +try: +devnull = subprocess.DEVNULL # py3k +except AttributeError: +devnull = open(os.devnull, 'wb') +return devnull + +def check_top_directory(): +Exit if we are not at the top of source directory. +for f in ('README', 'Licenses'): +if not os.path.exists(f): +print sys.stderr, 'Please run at the top of source directory.' +sys.exit(1) + +def get_make_cmd(): +Get the command name of GNU Make. +try: +make_cmd = subprocess.check_output([SHOW_GNU_MAKE]) +except subprocess.CalledProcessError: +print sys.stderr, 'GNU Make not found' +sys.exit(1) +return make_cmd.rstrip() + +### classes ### +class MaintainersDatabase: + +The database of board status and maintainers. + +def __init__(self): +Create an empty database. +self.database = {} + +def get_status(self, target): +Return the status of the given board. + +Returns: + Either 'Active' or 'Orphan' + +tmp =
[U-Boot] [PATCH v7 06/15] kconfig: switch to Kconfig
This commit enables Kconfig. Going forward, we use Kconfig for the board configuration. mkconfig will never be used. Nor will include/config.mk be generated. Kconfig must be adjusted for U-Boot because our situation is a little more complicated than Linux Kernel. We have to generate multiple boot images (Normal, SPL, TPL) from one source tree. Each image needs its own configuration input. Usage: Run make board_defconfig to do the board configuration. It will create the .config file and additionally spl/.config, tpl/.config if SPL, TPL is enabled, respectively. You can use make config, make menuconfig etc. to create a new .config or modify the existing one. Use make spl/config, make spl/menuconfig etc. for spl/.config and do likewise for tpl/.config file. The generic syntax of configuration targets for SPL, TPL is: target_image/config_command Here, target_image is either 'spl' or 'tpl' config_command is 'config', 'menuconfig', 'xconfig', etc. When the configuration is done, run make. (Or make board_defconfig all will do the configuration and build in one time.) For futher information of how Kconfig works in U-Boot, please read the comment block of scripts/multiconfig.py. By the way, there is another item worth remarking here: coexistence of Kconfig and board herder files. Prior to Kconfig, we used C headers to define a set of configs. We expect a very long term to migrate from C headers to Kconfig. Two different infractructure must coexist in the interim. In our former configuration scheme, include/autoconf.mk was generated for use in makefiles. It is still generated under include/, spl/include/, tpl/include/ directory for the Normal, SPL, TPL image, respectively. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Acked-by: Simon Glass s...@chromium.org --- Changes in v7: - Follow PEP8 codiyg style: Use blah blah rather than '''blah blah''' for docstring. Fix some indents Add a period of the end of the first line of docstring - Remove temporary directories '$(objtree)/arch' and '$(objtree)/configs' Changes in v6: Various fixes reported by Simon. - Bug fix make spl:config does not work for out-of-tree build. So, the syntax has been changed to make spl/config. - Rename autoconf_is_update - autoconf_is_current - Fix comments in scripts/multiconfig.py - Use foo: blah blah instead of foo - blah blah for Python comment style. - Sort Python imports alphabetically Changes in v5: - Rebase on commit fbe79a17fd Changes in v4: - Have one defconfig file for each board by supporting conditional definition in defconfig - Put adjustment code into scripts/multiconfig.py Changes in v3: - Invoke SPL/TPL configuration only for defconfig and silentoldconfig Changes in v2: - Put dirty build rule into scripts/multiple_config.sh and scripts/Makefile.autoconf - Fix dependency tracking. In v1, any change to Kconfig triggered re-complile of all objects. In this version, re-compile is kept at a minimum. - Fix a clean-source check In v1, clean source tree check did not work correctly for out-of-tree build. .gitignore| 2 - Makefile | 116 +-- arch/m68k/cpu/mcf52x2/config.mk | 16 +- arch/m68k/cpu/mcf532x/config.mk | 6 +- arch/m68k/cpu/mcf5445x/config.mk | 4 +- arch/powerpc/cpu/ppc4xx/config.mk | 4 +- config.mk | 10 + include/.gitignore| 1 - scripts/Makefile | 2 +- scripts/Makefile.autoconf | 100 ++ scripts/Makefile.build| 31 +-- scripts/Makefile.spl | 31 +-- scripts/basic/fixdep.c| 6 +- scripts/kconfig/confdata.c| 8 + scripts/multiconfig.py| 410 ++ tools/Makefile| 2 +- tools/env/Makefile| 2 +- 17 files changed, 619 insertions(+), 132 deletions(-) create mode 100644 scripts/Makefile.autoconf create mode 100755 scripts/multiconfig.py diff --git a/.gitignore b/.gitignore index 0ace33b..5ac2e60 100644 --- a/.gitignore +++ b/.gitignore @@ -53,8 +53,6 @@ # /include/config/ /include/generated/ -/include/spl-autoconf.mk -/include/tpl-autoconf.mk # stgit generated dirs patches-* diff --git a/Makefile b/Makefile index ca212b5..d6a6d53 100644 --- a/Makefile +++ b/Makefile @@ -166,9 +166,6 @@ VPATH := $(srctree)$(if $(KBUILD_EXTMOD),:$(KBUILD_EXTMOD)) export srctree objtree VPATH -MKCONFIG := $(srctree)/mkconfig -export MKCONFIG - # Make sure CDPATH settings don't interfere unexport CDPATH @@ -189,9 +186,6 @@ HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]' | \ export HOSTARCH HOSTOS -# Deal with colliding definitions from tcsh etc. -VENDOR= - # # set default to nothing for native builds
[U-Boot] [PATCH v7 02/15] Do not apply: tools: add genkconfig
Do not apply this patch to the main line What is this tool? -- This tool converts boards.cfg to defconfig and Kconfig files. It automatically generates - arch/${ARCH}/Kconfig - board/${VENDOR}/${BOARD}/Kconfig - board/${BOARD}/Kconfig - configs/${TARGET_BOARD}_defconfig How to use? --- Open tools/print_allconfigs with an editor. Adjust cross compilers part for your environment. # Specify your favoriate cross tools CROSS_COMPILE_ARC=arc-linux- CROSS_COMPILE_AARCH64=aarch64-linux-gnu- CROSS_COMPILE_ARM=arm-unknown-linux-gnueabi- [snip] CROSS_COMPILE_X86=i386-linux- And then, run tools/genkconfig. Why is this patch here? --- The file boards.cfg is touched very frequently. All the time, new/old boards are being added/removed. The next commit was generated based on the u-boot/master at the time I posted it. It will become out-dated soon. You can update it with this tool. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com --- Changes in v7: None Changes in v6: None Changes in v5: - Add CPU select menu for PowerPC Changes in v4: - Remove debug code - Do not specify CONFIG_SYS_CPU if the cpu field of boards.cfg is '-' - Adjust to the current boards.cfg fields spec. - Add select CPU to PowerPC Kconfig - Generate only one defconfig per board Changes in v3: - Create SPL defconfig into configs/board_spl_defconfig instead of conigs/spl/board_defconfig. Like the same for TPL. Because I want to handle Falcon boot more genericlly. If you build only configs/board_spl_defconfig, it is Falcon boot. - Create board select menu based on the 8th field of boards.cfg. It is common that many entries (= 7th field) share the same config header. So this change help to reduce the code redandancy. Changes in v2: - Do not output CONFIG_BOARD_MAINTAINERS and CONFIG_BOARD_STATUS - Delete board/Kconfig and move source board/*/*/Kconfig statements to arch/*/Kconfig. tools/genkconfig | 371 + tools/print_allconfigs | 77 ++ 2 files changed, 448 insertions(+) create mode 100755 tools/genkconfig create mode 100755 tools/print_allconfigs diff --git a/tools/genkconfig b/tools/genkconfig new file mode 100755 index 000..2d9cf1a --- /dev/null +++ b/tools/genkconfig @@ -0,0 +1,371 @@ +#!/bin/bash + +set -e + +rm -rf configs +mkdir configs +find board -name Kconfig | xargs rm -f + +get_arch() +{ + case $arch in + powerpc) echo PPC;; + *) echo ${1^^};; + esac +} + +get_ppc_cpu () +{ + case $1 in + 74xx_7xx) echo 74xx_7xx;; + mpc512x) echo MPC512X;; + mpc5xx) echo 5xx;; + mpc5xxx) echo MPC5xxx;; + mpc824x) echo MPC824X;; + mpc8260) echo MPC8260;; + mpc83xx) echo MPC83xx;; + mpc85xx) echo MPC85xx;; + mpc86xx) echo MPC86xx;; + mpc8xx) echo 8xx;; + ppc4xx) echo 4xx;; + *) echo 2 Unkown PPC CPU $1; exit 1;; + esac +} + +arch_list=arc arm avr32 blackfin m68k microblaze mips nds32 nios2 openrisc powerpc sandbox sh sparc x86 +ppc_cpu_list=74xx_7xx mpc512x mpc5xx mpc5xxx mpc824x mpc8260 mpc83xx mpc85xx mpc86xx mpc8xx ppc4xx + +for arch in $arch_list +do + ARCH=$(get_arch $arch) + + case $arch in + blackfin) menu=Blackfin;; + m68k) menu=M68000;; + microblaze) menu=MicroBlaze;; + nios2) menu=Nios II;; + openrisc) menu=OpenRISC;; + powerpc) menu=PowerPC;; + sandbox) menu=Sandbox;; + sh) menu=SuperH;; + x86) menu=x86;; + *) menu=${arch^^};; + esac + +cat EOF arch/$arch/Kconfig +menu $menu architecture + depends on $ARCH + +config SYS_ARCH + string + default $arch + +EOF + +if [ $arch = powerpc ]; then +cat EOF arch/$arch/Kconfig +choice + prompt CPU select + +config 74xx_7xx + bool 74xx + +config MPC512X + bool MPC512X + +config 5xx + bool MPC5xx + +config MPC5xxx + bool MPC5xxx + +config MPC824X + bool MPC824X + +config MPC8260 + bool MPC8260 + +config MPC83xx + bool MPC83xx + +config MPC85xx + bool MPC85xx + +config MPC86xx + bool MPC86xx + +config 8xx + bool MPC8xx + +config 4xx + bool PPC4xx + +endchoice + +EOF +for cpu in $ppc_cpu_list +do + echo source \arch/powerpc/cpu/$cpu/Kconfig\ arch/powerpc/Kconfig +done + +fi + +if [ $arch = sandbox ]; then +cat EOF arch/$arch/Kconfig +config SYS_BOARD + string + default $arch + +config SYS_CONFIG_NAME + string + default $arch +EOF +elif [ $arch != powerpc ]; then +cat EOF arch/$arch/Kconfig +choice + prompt Target select + +EOF +fi
[U-Boot] [PATCH v7 14/15] powerpc: remove redundant CPU definition
CONFIG_${CPU} is defined by Kconfig. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Acked-by: Simon Glass s...@chromium.org --- Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: - Newly added Changes in v3: None Changes in v2: None arch/powerpc/cpu/74xx_7xx/config.mk | 2 +- arch/powerpc/cpu/mpc512x/config.mk | 2 +- arch/powerpc/cpu/mpc5xx/config.mk | 2 +- arch/powerpc/cpu/mpc5xxx/config.mk | 3 +-- arch/powerpc/cpu/mpc824x/config.mk | 2 +- arch/powerpc/cpu/mpc8260/config.mk | 2 +- arch/powerpc/cpu/mpc83xx/config.mk | 2 +- arch/powerpc/cpu/mpc85xx/config.mk | 2 +- arch/powerpc/cpu/mpc86xx/config.mk | 2 +- arch/powerpc/cpu/mpc8xx/config.mk | 2 +- arch/powerpc/cpu/ppc4xx/config.mk | 2 +- 11 files changed, 11 insertions(+), 12 deletions(-) diff --git a/arch/powerpc/cpu/74xx_7xx/config.mk b/arch/powerpc/cpu/74xx_7xx/config.mk index 96812a0..4cd1a26 100644 --- a/arch/powerpc/cpu/74xx_7xx/config.mk +++ b/arch/powerpc/cpu/74xx_7xx/config.mk @@ -5,4 +5,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_74xx_7xx -mstring +PLATFORM_CPPFLAGS += -mstring diff --git a/arch/powerpc/cpu/mpc512x/config.mk b/arch/powerpc/cpu/mpc512x/config.mk index 03759e6..5bf1b2a 100644 --- a/arch/powerpc/cpu/mpc512x/config.mk +++ b/arch/powerpc/cpu/mpc512x/config.mk @@ -4,4 +4,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC512X -DCONFIG_E300 -msoft-float -mcpu=603e +PLATFORM_CPPFLAGS += -DCONFIG_E300 -msoft-float -mcpu=603e diff --git a/arch/powerpc/cpu/mpc5xx/config.mk b/arch/powerpc/cpu/mpc5xx/config.mk index 31e2dc9..dd2ec37 100644 --- a/arch/powerpc/cpu/mpc5xx/config.mk +++ b/arch/powerpc/cpu/mpc5xx/config.mk @@ -5,4 +5,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_5xx -mpowerpc -msoft-float +PLATFORM_CPPFLAGS += -mpowerpc -msoft-float diff --git a/arch/powerpc/cpu/mpc5xxx/config.mk b/arch/powerpc/cpu/mpc5xxx/config.mk index 3384f6f..bcff214 100644 --- a/arch/powerpc/cpu/mpc5xxx/config.mk +++ b/arch/powerpc/cpu/mpc5xxx/config.mk @@ -5,5 +5,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC5xxx \ --mstring -mcpu=603e -mmultiple +PLATFORM_CPPFLAGS += -mstring -mcpu=603e -mmultiple diff --git a/arch/powerpc/cpu/mpc824x/config.mk b/arch/powerpc/cpu/mpc824x/config.mk index a224bc8..ecfb07e 100644 --- a/arch/powerpc/cpu/mpc824x/config.mk +++ b/arch/powerpc/cpu/mpc824x/config.mk @@ -5,4 +5,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC824X -mstring -mcpu=603e -msoft-float +PLATFORM_CPPFLAGS += -mstring -mcpu=603e -msoft-float diff --git a/arch/powerpc/cpu/mpc8260/config.mk b/arch/powerpc/cpu/mpc8260/config.mk index 59f152d..6a1b6e3 100644 --- a/arch/powerpc/cpu/mpc8260/config.mk +++ b/arch/powerpc/cpu/mpc8260/config.mk @@ -5,5 +5,5 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC8260 -DCONFIG_CPM2 \ +PLATFORM_CPPFLAGS += -DCONFIG_CPM2 \ -mstring -mcpu=603e -mmultiple diff --git a/arch/powerpc/cpu/mpc83xx/config.mk b/arch/powerpc/cpu/mpc83xx/config.mk index dfce4d5..0c08350 100644 --- a/arch/powerpc/cpu/mpc83xx/config.mk +++ b/arch/powerpc/cpu/mpc83xx/config.mk @@ -4,4 +4,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC83xx -DCONFIG_E300 -msoft-float +PLATFORM_CPPFLAGS += -DCONFIG_E300 -msoft-float diff --git a/arch/powerpc/cpu/mpc85xx/config.mk b/arch/powerpc/cpu/mpc85xx/config.mk index 1470f95..72c964c 100644 --- a/arch/powerpc/cpu/mpc85xx/config.mk +++ b/arch/powerpc/cpu/mpc85xx/config.mk @@ -5,7 +5,7 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC85xx -Wa,-me500 -msoft-float -mno-string +PLATFORM_CPPFLAGS += -Wa,-me500 -msoft-float -mno-string # -mspe=yes is needed to have -mno-spe accepted by a buggy GCC; # see [PATCH,rs6000] make -mno-spe work as expected on diff --git a/arch/powerpc/cpu/mpc86xx/config.mk b/arch/powerpc/cpu/mpc86xx/config.mk index 4c7235f..69a0b96 100644 --- a/arch/powerpc/cpu/mpc86xx/config.mk +++ b/arch/powerpc/cpu/mpc86xx/config.mk @@ -5,4 +5,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC86xx -mstring -maltivec -mabi=altivec -msoft-float +PLATFORM_CPPFLAGS += -mstring -maltivec -mabi=altivec -msoft-float diff --git a/arch/powerpc/cpu/mpc8xx/config.mk b/arch/powerpc/cpu/mpc8xx/config.mk index ee2c883..485e43d 100644 --- a/arch/powerpc/cpu/mpc8xx/config.mk +++ b/arch/powerpc/cpu/mpc8xx/config.mk @@ -5,4 +5,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_8xx -mstring -mcpu=860 -msoft-float +PLATFORM_CPPFLAGS += -mstring -mcpu=860 -msoft-float diff --git a/arch/powerpc/cpu/ppc4xx/config.mk b/arch/powerpc/cpu/ppc4xx/config.mk index a7253b2..f87c9dc 100644 --- a/arch/powerpc/cpu/ppc4xx/config.mk +++ b/arch/powerpc/cpu/ppc4xx/config.mk @@ -5,7 +5,7
[U-Boot] [PATCH v7 13/15] kconfig: delete redundant CONFIG_${ARCH} definition
CONFIG_${ARCH} is defined by Kconfig. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Reviewed-by: Simon Glass s...@chromium.org --- Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: - Rebase on the current u-boot/master Changes in v3: None Changes in v2: None arch/arc/config.mk | 2 +- arch/arm/config.mk | 2 +- arch/avr32/config.mk | 1 - arch/blackfin/config.mk | 1 - arch/m68k/config.mk | 2 +- arch/mips/config.mk | 2 +- arch/nds32/config.mk | 2 +- arch/nios2/config.mk | 2 +- arch/openrisc/config.mk | 2 +- arch/powerpc/config.mk | 2 +- arch/sandbox/config.mk | 2 +- arch/sparc/config.mk | 2 +- arch/x86/cpu/config.mk | 2 +- include/configs/microblaze-generic.h | 1 - 14 files changed, 11 insertions(+), 14 deletions(-) diff --git a/arch/arc/config.mk b/arch/arc/config.mk index a3b8df7..e408800 100644 --- a/arch/arc/config.mk +++ b/arch/arc/config.mk @@ -21,7 +21,7 @@ ifeq ($(CROSS_COMPILE),) CROSS_COMPILE := $(ARC_CROSS_COMPILE) endif -PLATFORM_CPPFLAGS += -ffixed-r25 -D__ARC__ -DCONFIG_ARC -gdwarf-2 +PLATFORM_CPPFLAGS += -ffixed-r25 -D__ARC__ -gdwarf-2 # Needed for relocation LDFLAGS_FINAL += -pie diff --git a/arch/arm/config.mk b/arch/arm/config.mk index 5fa1825..9b414c2 100644 --- a/arch/arm/config.mk +++ b/arch/arm/config.mk @@ -22,7 +22,7 @@ PLATFORM_RELFLAGS += $(call cc-option, -msoft-float) \ # Support generic board on ARM __HAVE_ARCH_GENERIC_BOARD := y -PLATFORM_CPPFLAGS += -DCONFIG_ARM -D__ARM__ +PLATFORM_CPPFLAGS += -D__ARM__ # Choose between ARM/Thumb instruction sets ifeq ($(CONFIG_SYS_THUMB_BUILD),y) diff --git a/arch/avr32/config.mk b/arch/avr32/config.mk index 28a371c..469185e 100644 --- a/arch/avr32/config.mk +++ b/arch/avr32/config.mk @@ -9,7 +9,6 @@ ifeq ($(CROSS_COMPILE),) CROSS_COMPILE := avr32-linux- endif -PLATFORM_CPPFLAGS += -DCONFIG_AVR32 CONFIG_STANDALONE_LOAD_ADDR ?= 0x PLATFORM_RELFLAGS += -ffixed-r5 -fPIC -mno-init-got -mrelax diff --git a/arch/blackfin/config.mk b/arch/blackfin/config.mk index fcaa44f..7b17b75 100644 --- a/arch/blackfin/config.mk +++ b/arch/blackfin/config.mk @@ -21,7 +21,6 @@ endif CONFIG_BFIN_BOOT_MODE := $(strip $(CONFIG_BFIN_BOOT_MODE:%=%)) PLATFORM_RELFLAGS += -ffixed-P3 -fomit-frame-pointer -mno-fdpic -PLATFORM_CPPFLAGS += -DCONFIG_BLACKFIN LDFLAGS_FINAL += --gc-sections LDFLAGS += -m elf32bfin diff --git a/arch/m68k/config.mk b/arch/m68k/config.mk index 33b3d51..3b3a7e8 100644 --- a/arch/m68k/config.mk +++ b/arch/m68k/config.mk @@ -11,7 +11,7 @@ endif CONFIG_STANDALONE_LOAD_ADDR ?= 0x2 -PLATFORM_CPPFLAGS += -DCONFIG_M68K -D__M68K__ +PLATFORM_CPPFLAGS += -D__M68K__ PLATFORM_LDFLAGS += -n PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections PLATFORM_RELFLAGS += -ffixed-d7 -msep-data diff --git a/arch/mips/config.mk b/arch/mips/config.mk index f4a234a..a2d07af 100644 --- a/arch/mips/config.mk +++ b/arch/mips/config.mk @@ -25,7 +25,7 @@ endif # Default to EB if no endianess is configured ENDIANNESS ?= -EB -PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__ +PLATFORM_CPPFLAGS += -D__MIPS__ __HAVE_ARCH_GENERIC_BOARD := y diff --git a/arch/nds32/config.mk b/arch/nds32/config.mk index 1024852..5ac9f90 100644 --- a/arch/nds32/config.mk +++ b/arch/nds32/config.mk @@ -17,6 +17,6 @@ CONFIG_STANDALONE_LOAD_ADDR = 0x30 \ PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -mrelax PLATFORM_RELFLAGS += -gdwarf-2 -PLATFORM_CPPFLAGS += -DCONFIG_NDS32 -D__nds32__ -G0 -ffixed-10 -fpie +PLATFORM_CPPFLAGS += -D__nds32__ -G0 -ffixed-10 -fpie LDFLAGS_u-boot = --gc-sections --relax diff --git a/arch/nios2/config.mk b/arch/nios2/config.mk index 65a5a40..82bd887 100644 --- a/arch/nios2/config.mk +++ b/arch/nios2/config.mk @@ -12,7 +12,7 @@ endif CONFIG_STANDALONE_LOAD_ADDR ?= 0x0200 -PLATFORM_CPPFLAGS += -DCONFIG_NIOS2 -D__NIOS2__ +PLATFORM_CPPFLAGS += -D__NIOS2__ PLATFORM_CPPFLAGS += -G0 LDFLAGS_FINAL += --gc-sections diff --git a/arch/openrisc/config.mk b/arch/openrisc/config.mk index 9902b9a..cd95f24 100644 --- a/arch/openrisc/config.mk +++ b/arch/openrisc/config.mk @@ -11,6 +11,6 @@ endif # r10 used for global object pointer, already set in OR32 GCC but just to be # clear -PLATFORM_CPPFLAGS += -DCONFIG_OPENRISC -D__OR1K__ -ffixed-r10 +PLATFORM_CPPFLAGS += -D__OR1K__ -ffixed-r10 CONFIG_STANDALONE_LOAD_ADDR ?= 0x4 diff --git a/arch/powerpc/config.mk b/arch/powerpc/config.mk index fb7096e..6329b6c 100644 --- a/arch/powerpc/config.mk +++ b/arch/powerpc/config.mk @@ -13,7 +13,7 @@ CONFIG_STANDALONE_LOAD_ADDR ?= 0x4 LDFLAGS_FINAL += --gc-sections PLATFORM_RELFLAGS += -fpic -mrelocatable -ffunction-sections -fdata-sections \ -meabi
[U-Boot] ext4load: fix help text
Fix ext4load help text. Signed-off-by: Pavel Machek pa...@denx.de diff --git a/common/cmd_ext4.c b/common/cmd_ext4.c index 68b047b..4fd6d51 100644 --- a/common/cmd_ext4.c +++ b/common/cmd_ext4.c @@ -120,6 +120,6 @@ U_BOOT_CMD(ext4ls, 4, 1, do_ext4_ls, U_BOOT_CMD(ext4load, 6, 0, do_ext4_load, load binary file from a Ext4 filesystem, - interface dev[:part] [addr] [filename] [bytes]\n + interface [dev[:part] [addr [filename [bytes [pos]\n - load binary file 'filename' from 'dev' on 'interface'\n to address 'addr' from ext4 filesystem); -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] cosmetic: update doc/README.scrapyard
- Add 'p1023rds' to the list since commit d0bc5140 dropped the board support but missed to update this file - Fill the Commit and Removed Date fields for boards removed by earlier commits - Move 'incaip' to keep the list sorted in reverse chronological order - Describe the soring rule in the comment block: The list should be sorted in reverse chronological order. - Fix typos in the comment block Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com --- doc/README.scrapyard | 30 -- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/doc/README.scrapyard b/doc/README.scrapyard index 6a1d2a5..b950a41 100644 --- a/doc/README.scrapyard +++ b/doc/README.scrapyard @@ -5,23 +5,25 @@ by unnoticed, but often build errors will result. If nobody cares any more to resolve such problems, then the code is really dead and will be removed from the U-Boot source tree. The remainders rest in piece in the imperishable depths of the git history. This document tries to -maintain a list of such former fellows, so archeologists can check -easily if here is something they might want to dig for... +maintain a list of such former fellows, so archaeologists can check +easily if there is something they might want to dig for... +The list should be sorted in reverse chronological order. BoardArchCPUCommit Removed Last known maintainer/contact = -spc1920 powerpc mpc8xx - - -v37 powerpc mpc8xx - - -fads powerpc mpc8xx - - -netphone powerpc mpc8xx - - -netta2 powerpc mpc8xx - - -nettapowerpc mpc8xx - - -rbc823 powerpc mpc8xx - - -quantum powerpc mpc8xx - - -RPXlite_dw powerpc mpc8xx - - -qs850powerpc mpc8xx - - -qs860t powerpc mpc8xx - - +p1023rds powerpc mpc85xxd0bc51402014-07-22 Roy Zang tie-fei.z...@freescale.com +spc1920 powerpc mpc8xx 98ad54be2014-07-07 +v37 powerpc mpc8xx b8c1438a2014-07-07 +fads powerpc mpc8xx 03f9d7d12014-07-07 +netphone powerpc mpc8xx c51c1c9a2014-07-07 +netta2 powerpc mpc8xx c51c1c9a2014-07-07 +nettapowerpc mpc8xx c51c1c9a2014-07-07 +rbc823 powerpc mpc8xx c750b9c02014-07-07 +quantum powerpc mpc8xx 0657e46e2014-07-07 +RPXlite_dw powerpc mpc8xx 0657e46e2014-07-07 +qs850powerpc mpc8xx dab0f7622014-07-07 +qs860t powerpc mpc8xx dab0f7622014-07-07 simpc8313powerpc mpc83xx7445207f2014-06-05 Ron Madrid i...@sheldoninst.com hidden_dragonpowerpc mpc824x3fe1a8542014-05-30 Yusdi Santoso yusdi_sant...@adaptec.com debris powerpc mpc824x7edb1f7b2014-05-30 Sangmoon Kim dog...@etinsys.com @@ -33,6 +35,7 @@ zpc1900 powerpc mpc82606f80bb48 2014-05-30 Yuli Barcohe mpc8260ads powerpc mpc8260facb67252014-05-30 Yuli Barcohen y...@arabellasw.com adderpowerpc mpc8xx 373a97882014-05-30 Yuli Barcohen y...@arabellasw.com quad100hdpowerpc ppc405ep 3569571d2014-05-30 Gary Jennejohn gljennj...@googlemail.com +incaip mipsmips32 538cf92c2014-04-20 Wolfgang Denk w...@denx.de lubbock arm pxa36bf57b 2014-04-18 Kyle Harris khar...@nexus-tech.net EVB64260powerpc mpc824xbb3aef9 2014-04-18 MOUSSE powerpc mpc824x03f2ecc 2014-04-18 @@ -149,4 +152,3 @@ MVS1 powerpc MPC823 306620b 2008-08-26 Andre Schwar adsvix ARM PXA27x 7610db1 2008-07-30 Adrian Filipi adrian.fil...@eurotech.com R5200ColdFire- 48ead7a 2008-03-31 Zachary P. Landau zachary.lan...@labxtechnologies.com CPCI440 powerpc 440GP b568fd2 2007-12-27 Matthias Fuchs matthias.fu...@esd-electronics.com -incaip mipsmips32 - 2014-04-17 Wolfgang Denk w...@denx.de -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] DM, Kconfig and clang changes
Hi Tom, (and Albert for [3]) On Mon, 14 Jul 2014 13:22:25 -0400 Tom Rini tr...@ti.com wrote: Hey all, So the release is out, and I want to make sure that some of these big changes get as much testing as we can. Simon, can you please make up a pull request with what you think is ready to go now? Masahiro and Jeroen, can you please make sure patchwork is up to date and perhaps setup a bundle with your changes that are ready (and for clang, not ARM centric, I want Albert to pick those up when he's ready, I'll review/comment tho). This is just a reminder about the Kconfig series. [1] Please apply some updates of boards.cfg http://patchwork.ozlabs.org/patch/372347/ http://patchwork.ozlabs.org/patch/373391/ I need them to generate the initial version of board MAINTAINERS. [2] Kconfig series also depends on the following series: http://patchwork.ozlabs.org/patch/372339/ http://patchwork.ozlabs.org/patch/372337/ http://patchwork.ozlabs.org/patch/372338/ [3] u-boot-arm is currently out of sync (This item is rather addressed to Albert) I notice some new boards (rmobile, sunxi) stacked on the u-boot-arm. Because my Kconfig series is based on u-boot/master, those boards are not taken into account. If Albert sends a pull request hopefully, I am pleased to update the Kconfig series. Anyway it is OK if either of you is willing to fix the conflict lator. (defconfig, Kconfig, MAINTAINERS must be updated in that case.) Best Regards Masahiro Yamada ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Please pull u-boot-ti/master
Hi Tom, (seems like I had not sent this yesterday) On Fri, 25 Jul 2014 21:29:15 -0400, Tom Rini tr...@ti.com wrote: Hey, The following changes since commit 23f23f23d509e8e873797884456070c8a47d72b2: socfpga: Relocate arch common functions away from board (2014-07-05 10:14:46 +0200) are available in the git repository at: git://git.denx.de/u-boot-ti.git master for you to fetch changes up to 434f2cfcad9f70231ad5a096325ba72ef0d2a2cc: ARM: omap: move board specific NAND configs out from ti_armv7_common.h (2014-07-25 16:26:12 -0400) Andreas Bießmann (1): tricorder: convert to generic board Hao Zhang (10): keystone2: ddr: add DDR3 PHY configs updated for PG 2.0 keystone2: move cpu_to_bus() to keystone.c keystone2: add possibility to turn off all dsps ARM: keystone2: move K2HK board files to common KS2 board directory configs: k2hk_evm: config: add common EVM configuration header keystone: ddr3: move K2HK DDR3 configuration to a common file ARM: keystone2: add K2E SoC hardware definitions ARM: keystone2: clock: add K2E clock support ARM: keystone2: add MSMC cache coherency support for K2E SOC board: k2e-evm: add board support Khoronzhuk, Ivan (10): mtd: nand: davinci: add opportunity to write keystone U-boot image keystone: add support for NAND gpheader image k2hk_evm: add script to automate NAND flash process ARM: keystone2: psc: use common PSC base keystone: ddr3: add ddr3.h to hold ddr3 API ARM: keystone2: keystone_nav: make it dependent on keystone driver k2hk: use common KS2_ prefix for all hardware definitions ARM: keystone: clock: move K2HK SoC dependent code in separate file keystone2: use CONFIG_SOC_KEYSTONE in common places ARM: keystone2: spl: add K2E SoC support Mugunthan V N (3): drivers: net: cpsw: add support for using second port as ethernet ARM: DRA7xx: Add cpsw second port pinmux ARM: dra7_evm: Add Ethernet support for dra72x platform Murali Karicheri (1): keystone2: add env option to do unitrd dt fixup Rajendra Nayak (1): ARM: OMAP: Fix handling of errata i727 Stefan Roese (3): ARM: omap: Fix GPMC init for OMAP3 platforms ARM: omap: Remove unused arch/arm/cpu/armv7/omap3/mem.c ARM: omap: tao3530: Convert to generic board Tom Rini (3): power/pmic.h: Add prototype for power_init_board. tps65218/am43xx_evm: Add power framework support to TPS65218 am335x_evm / gumstix pepper: Correct DDR settings pekon gupta (3): ARM: omap: fix GPMC address-map size for NAND and NOR devices ARM: omap: clean redundant PISMO_xx macros used in OMAP3 ARM: omap: move board specific NAND configs out from ti_armv7_common.h Makefile |6 + arch/arm/cpu/armv7/keystone/Makefile |5 +- arch/arm/cpu/armv7/keystone/clock-k2e.c| 101 +++ arch/arm/cpu/armv7/keystone/clock-k2hk.c | 113 arch/arm/cpu/armv7/keystone/clock.c| 154 ++- arch/arm/cpu/armv7/keystone/cmd_clock.c| 31 ++- arch/arm/cpu/armv7/keystone/ddr3.c | 25 +- arch/arm/cpu/armv7/keystone/init.c | 16 +- arch/arm/cpu/armv7/keystone/keystone.c | 87 +++ arch/arm/cpu/armv7/keystone/msmc.c |6 +- arch/arm/cpu/armv7/keystone/psc.c | 42 ++- arch/arm/cpu/armv7/keystone/spl.c |8 + arch/arm/cpu/armv7/omap-common/hwinit-common.c |3 +- arch/arm/cpu/armv7/omap-common/mem-common.c| 15 +- arch/arm/cpu/armv7/omap3/mem.c | 139 -- arch/arm/include/asm/arch-am33xx/ddr_defs.h|4 - arch/arm/include/asm/arch-am33xx/mem.h |7 - arch/arm/include/asm/arch-keystone/clock-k2e.h | 68 + arch/arm/include/asm/arch-keystone/clock-k2hk.h| 23 +- arch/arm/include/asm/arch-keystone/clock.h | 32 +++ arch/arm/include/asm/arch-keystone/clock_defs.h|2 +- arch/arm/include/asm/arch-keystone/ddr3.h | 56 arch/arm/include/asm/arch-keystone/hardware-k2e.h | 44 arch/arm/include/asm/arch-keystone/hardware-k2hk.h | 182 + arch/arm/include/asm/arch-keystone/hardware.h | 117 ++--- arch/arm/include/asm/arch-keystone/mon.h | 15 ++ arch/arm/include/asm/arch-keystone/msmc.h | 17 ++ arch/arm/include/asm/arch-omap3/cpu.h |1 - arch/arm/include/asm/arch-omap3/mem.h | 13 - arch/arm/include/asm/omap_common.h |8 + board/gumstix/pepper/board.c | 30 +-- board/ti/am335x/board.c| 30 +--
Re: [U-Boot] [PATCH v5 00/11] ARMv7: add PSCI support to U-Boot
Hi Ian, On Sat, 12 Jul 2014 14:23:41 +0100, Ian Campbell i...@hellion.org.uk wrote: Hi, Marc is rather busy so I've taken it upon myself to rebase this series onto the latest master. v4 would have been applied except for a warning which it caused on aarch64 which I have (trivially) resolved this time around. The only other change is s/OBJCFLAGS/OBJCOPYFLAGS/ due to changes in the underlying code. I'd like to get this into the next merge window since it is the basis for sunxi smp support. I have been testing on a cubietruck (sun7i/A20). I've also build tested ./MAKEALL -v armltd which builds a variety of 32- and 64-bit boards. The code is also available at git://gitorious.org/ijc/u-boot.git psci-v5 The sunxi patches which build on this are at git://gitorious.org/ijc/u-boot.git psci-a20-v5 Cheers, Ian. Marc's original blurb: PSCI is an ARM standard that provides a generic interface that supervisory software can use to manage power in the following situations: - Core idle management - CPU hotplug - big.LITTLE migration models - System shutdown and reset It basically allows the kernel to offload these tasks to the firmware, and rely on common kernel side code that just calls into PSCI. More importantly, it gives a way to ensure that CPUs enter the kernel at the appropriate exception level (ie HYP mode, to allow the use of the virtualization extensions), even across events like CPUs being powered off/on or suspended. The main idea here is to turn some of the existing U-Boot code into a separate section that can live in secure RAM (or a reserved page of memory), containing a secure monitor that will implement the PSCI operations. This code will still be alive when U-Boot is long gone, hence the need for a piece of memory that will not be touched by the OS. This patch series contains 3 parts: - the first four patches are just bug fixes - the next two refactor the HYP/non-secure code to allow relocation in secure memory - the last four contain the generic PSCI code and DT infrastructure This implements the original 0.1 spec, as nobody implements the new 0.2 version so far. I plan to update this support to 0.2 once there is an official binding available (and support in the kernel). Most of the development has been done on an Allwinner A20 SoC, which is the main user of this code at the moment. I hope new SoCs will be using this method in the future (my primary goal for this series being to avoid more stupid SMP code from creeping up in the Linux kernel). As instructed, I've removed the A20 support code and made it a separate series, as there is now an effort to mainline this code (see Ian Campbell patch series). With these three series applied, the A20 now boots in HYP mode, Linux finds the secondary CPU without any SMP code present in the kernel, and runs KVM out of the box. The Xen/ARM guys managed to do the same fairly easily, as did at least one XVizor user. This code has also been tested on a VExpress TC2, running KVM with all 5 CPUs, in order to make sure there was no obvious regression. Whole series applied to u-boot-arm/master, thanks! Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v1 1/4] MAINTAINERS: add initial version
2014-07-29 3:52 GMT+02:00 Masahiro Yamada yamad...@jp.panasonic.com: Hi Daniel, I'd like to suggest to add a little more entries. (See below) ... ARM ZYNQ M: Michal Simek mon...@monstr.eu S: Maintained T: git git://git.denx.de/u-boot-microblaze.git zynq F: arch/arm/cpu/armv7/zynq/ F: arch/arm/include/asm/arch-zynq/ +AVR32 +M: Andreas Biesmann andreas.de...@googlemail.com +S: Maintained +T: git git://git.denx.de/u-boot-avr32.git +F: arch/avr32/ BUILDMAN M: Simon Glass s...@chromium.org S: Maintained F: tools/buildman/ ... PATMAN M: Simon Glass s...@chromium.org S: Maintained F: tools/patman/ added in v2, thanks -- - Daniel ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v2 1/4] MAINTAINERS: add initial version
MAINTAINERS contains all currently known custodians based on infos from wiki [1] and u-boot git forks [2]. [1] http://www.denx.de/wiki/U-Boot/Custodians [2] http://git.denx.de/?p=u-boot.git;a=forks Signed-off-by: Daniel Schwierzeck daniel.schwierz...@gmail.com --- Changes in v2: - add ARM SUNXI custodians - add ARM ZYNQ maintainer - add buildman/patman maintainer - add more F: lines Branches for testing: - git://git.denx.de/u-boot-mips.git maintainers_v2 - git://git.denx.de/u-boot-mips.git maintainers_v2_kconfig_v7 --- MAINTAINERS | 394 1 file changed, 394 insertions(+) create mode 100644 MAINTAINERS diff --git a/MAINTAINERS b/MAINTAINERS new file mode 100644 index 000..5b008aa --- /dev/null +++ b/MAINTAINERS @@ -0,0 +1,394 @@ +Descriptions of section entries: + + P: Person (obsolete) + M: Mail patches to: FullName address@domain + L: Mailing list that is relevant to this area + W: Web-page with status/info + Q: Patchwork web based patch tracking system site + T: SCM tree type and location. + Type is one of: git, hg, quilt, stgit, topgit + S: Status, one of the following: + Supported: Someone is actually paid to look after this. + Maintained: Someone actually looks after it. + Odd Fixes: It has a maintainer but they don't have time to do + much other than throw the odd patch in. See below.. + Orphan: No current maintainer [but maybe you could take the + role as you write your new code]. + Obsolete:Old code. Something tagged obsolete generally means + it has been replaced by a better system and you + should be using that. + F: Files and directories with wildcard patterns. + A trailing slash includes all files and subdirectory files. + F: drivers/net/all files in and below drivers/net + F: drivers/net/* all files in drivers/net, but not below + F: */net/* all files in any top level directory/net + One pattern per line. Multiple F: lines acceptable. + N: Files and directories with regex patterns. + N: [^a-z]tegra all files whose path contains the word tegra + One pattern per line. Multiple N: lines acceptable. + scripts/get_maintainer.pl has different behavior for files that + match F: pattern and matches of N: patterns. By default, + get_maintainer will not look at git log history when an F: pattern + match occurs. When an N: match occurs, git log history is used + to also notify the people that have git commit signatures. + X: Files and directories that are NOT maintained, same rules as F: + Files exclusions are tested before file matches. + Can be useful for excluding a specific subdirectory, for instance: + F: net/ + X: net/ipv6/ + matches all files in and below net excluding net/ipv6/ + K: Keyword perl extended regex pattern to match content in a + patch or file. For instance: + K: of_get_profile + matches patches or files that contain of_get_profile + K: \b(printk|pr_(info|err))\b + matches patches or files that contain one or more of the words + printk, pr_info or pr_err + One regex pattern per line. Multiple K: lines acceptable. + +Note: For the hard of thinking, this list is meant to remain in alphabetical +order. If you could add yourselves to it in alphabetical order that would be +so much easier [Ed] + +Maintainers List (try to look for most precise areas first) + + --- +ARC +M: Alexey Brodkin alexey.brod...@synopsys.com +S: Maintained +T: git git://git.denx.de/u-boot-arc.git +F: arch/arc/ + +ARM +M: Albert Aribaud albert.u.b...@aribaud.net +S: Maintained +T: git git://git.denx.de/u-boot-arm.git +F: arch/arm/ + +ARM ATMEL AT91 +M: Andreas Bießmann andreas.de...@googlemail.com +S: Maintained +T: git git://git.denx.de/u-boot-atmel.git +F: arch/arm/cpu/armv7/at91/ +F: arch/arm/cpu/at91-common/ +F: arch/arm/include/asm/arch-at91/ + +ARM FREESCALE IMX +M: Stefano Babic sba...@denx.de +S: Maintained +T: git git://git.denx.de/u-boot-imx.git +F: arch/arm/cpu/armv7/mx*/ +F: arch/arm/cpu/imx-common/ +F: arch/arm/include/asm/arch-mx*/ +F: arch/arm/include/asm/imx-common/ + +ARM MARVELL KIRKWOOD +M: Prafulla Wadaskar prafu...@marvell.com +S: Maintained +T: git git://git.denx.de/u-boot-marvell.git +F: arch/arm/cpu/arm926ejs/kirkwood/ +F: arch/arm/include/asm/arch-kirkwood/ + +ARM MARVELL PXA +M: Marek Vasut ma...@denx.de +S: Maintained +T: git git://git.denx.de/u-boot-pxa.git +F:
Re: [U-Boot] DM, Kconfig and clang changes
Hi Masahiro, On Tue, 29 Jul 2014 20:10:23 +0900, Masahiro Yamada yamad...@jp.panasonic.com wrote: Hi Tom, (and Albert for [3]) [3] u-boot-arm is currently out of sync (This item is rather addressed to Albert) I notice some new boards (rmobile, sunxi) stacked on the u-boot-arm. Because my Kconfig series is based on u-boot/master, those boards are not taken into account. If Albert sends a pull request hopefully, I am pleased to update the Kconfig series. You mean a PR from u-boot-arm/master to u-boot/master, right? If so, one is coming up today. Best Regards Masahiro Yamada Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v1 1/4] MAINTAINERS: add initial version
Hi Daniel, On 26/07/2014 20:54, Daniel Schwierzeck wrote: MAINTAINERS contains all currently known custodians based on infos from wiki [1] and u-boot git forks [2]. [1] http://www.denx.de/wiki/U-Boot/Custodians [2] http://git.denx.de/?p=u-boot.git;a=forks Signed-off-by: Daniel Schwierzeck daniel.schwierz...@gmail.com --- +ARM FREESCALE IMX +M: Stefano Babic sba...@denx.de +S: Maintained +T: git git://git.denx.de/u-boot-imx.git +F: arch/arm/cpu/armv7/mx5/ +F: arch/arm/cpu/armv7/mx6/ +F: arch/arm/cpu/imx-common/ +F: arch/arm/include/asm/arch-mx5/ +F: arch/arm/include/asm/arch-mx6/ +F: arch/arm/include/asm/imx-common/ i.MXes except mx6 and mx5 are missing: F: arch/arm/cpu/arm1136/mx31 F: arch/arm/cpu/arm1136/mx35 F: arch/arm/cpu/arm926ejs/mxs F: arch/arm/cpu/arm926ejs/mx25 F: arch/arm/cpu/arm926ejs/mx27 F: arch/arm/cpu/arm926ejs/imx F: arch/arm/cpu/armv7/vf610 F: arch/arm/include/asm/arch-mx25 F: arch/arm/include/asm/arch-imx F: arch/arm/include/asm/arch-mx27 F: arch/arm/include/asm/arch-mx31 F: arch/arm/include/asm/arch-mx35 F: arch/arm/include/asm/arch-mxs F: arch/arm/include/asm/arch-vf610 Best regards, Stefano Babic -- = DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de = ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v1 1/4] MAINTAINERS: add initial version
2014-07-29 14:14 GMT+02:00 Stefano Babic sba...@denx.de: Hi Daniel, On 26/07/2014 20:54, Daniel Schwierzeck wrote: MAINTAINERS contains all currently known custodians based on infos from wiki [1] and u-boot git forks [2]. [1] http://www.denx.de/wiki/U-Boot/Custodians [2] http://git.denx.de/?p=u-boot.git;a=forks Signed-off-by: Daniel Schwierzeck daniel.schwierz...@gmail.com --- +ARM FREESCALE IMX +M: Stefano Babic sba...@denx.de +S: Maintained +T: git git://git.denx.de/u-boot-imx.git +F: arch/arm/cpu/armv7/mx5/ +F: arch/arm/cpu/armv7/mx6/ +F: arch/arm/cpu/imx-common/ +F: arch/arm/include/asm/arch-mx5/ +F: arch/arm/include/asm/arch-mx6/ +F: arch/arm/include/asm/imx-common/ i.MXes except mx6 and mx5 are missing: F: arch/arm/cpu/arm1136/mx31 F: arch/arm/cpu/arm1136/mx35 F: arch/arm/cpu/arm926ejs/mxs F: arch/arm/cpu/arm926ejs/mx25 F: arch/arm/cpu/arm926ejs/mx27 F: arch/arm/cpu/arm926ejs/imx F: arch/arm/cpu/armv7/vf610 F: arch/arm/include/asm/arch-mx25 F: arch/arm/include/asm/arch-imx F: arch/arm/include/asm/arch-mx27 F: arch/arm/include/asm/arch-mx31 F: arch/arm/include/asm/arch-mx35 F: arch/arm/include/asm/arch-mxs F: arch/arm/include/asm/arch-vf610 ok, I'll add the following to v3: F:arch/arm/cpu/arm1136/mx*/ F:arch/arm/cpu/arm926ejs/mx*/ F:arch/arm/cpu/arm926ejs/imx/ F:arch/arm/cpu/armv7/mx*/ F:arch/arm/cpu/armv7/vf610/ F:arch/arm/cpu/imx-common/ F:arch/arm/include/asm/arch-imx/ F:arch/arm/include/asm/arch-mx*/ F:arch/arm/include/asm/arch-vf610/ F:arch/arm/include/asm/imx-common/ -- - Daniel ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/2] support blackfin board initialization in generic board_f
On Thu, Jul 24, 2014 at 10:47:02AM +0800, Sonic Zhang wrote: From: Sonic Zhang sonic.zh...@analog.com - init hardware watchdog if applicable - use CONFIG_SYS_MONITOR_LEN as the gd monitor len for Blackfin - reserve u-boot memory at the top field of the RAM for Blackfin - avoid refer to CONFIG_SYS_MONITOR_LEN, which is not defined by Blackfin Signed-off-by: Sonic Zhang sonic.zh...@analog.com --- common/board_f.c | 19 ++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/common/board_f.c b/common/board_f.c index bdab38e..079e1fa 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -107,6 +107,9 @@ __weak void blue_led_off(void) {} #if defined(CONFIG_WATCHDOG) static int init_func_watchdog_init(void) { +#ifdef CONFIG_HW_WATCHDOG + hw_watchdog_init(); +#endif puts( Watchdog enabled\n); WATCHDOG_RESET(); So today we're inconsistent about hw_watchdog_init. For ARM this is done at the board level, for blackfin/m68k as you've noted it's done in board_init_f, which makes sense I believe. But we need to get folks to test the conversion over, so for now make this CONFIG_HW_WATCHDOG (BLACKFIN || M68K || MICROBLAZE || SH) and we'll get everyone converted when we can. @@ -144,7 +147,11 @@ static int display_text_info(void) bss_end = (ulong)__bss_end; debug(U-Boot code: %08X - %08lX BSS: - %08lX\n, +#ifdef CONFIG_SYS_TEXT_BASE CONFIG_SYS_TEXT_BASE, bss_start, bss_end); +#else + CONFIG_SYS_MONITOR_BASE, bss_start, bss_end); +#endif #endif These aren't the same for you? -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] Pull request: u-boot-arm/master
Hello Tom, The following changes since commit 772e173802627a1917a3f5878ad4b9b920089a33: Merge branch 'master' of git://git.denx.de/u-boot-sh (2014-07-25 15:05:09 -0400) are available in the git repository at: git://git.denx.de/u-boot-arm master for you to fetch changes up to 9d195a546179bc732aba9eacccf0a9a3db591288: ARM: HYP/non-sec: remove MIDR check to validate CBAR (2014-07-28 17:19:55 +0200) Albert ARIBAUD (4): Merge branch 'u-boot-microblaze/zynq' into 'u-boot-arm/master' Merge branch 'u-boot-sunxi/master' into 'u-boot-arm/master' Merge branch 'u-boot-sh/rmobile' into 'u-boot-arm/master' Merge branch 'u-boot-ti/master' into 'u-boot-arm/master' Andreas Bießmann (1): tricorder: convert to generic board Chen-Yu Tsai (1): sunxi: Add support for using MII phy-s with the GMAC nic Hans de Goede (12): sunxi: mksunxiboot: Fix loading of files with a size which is not a multiple of 4 sunxi: Fix u-boot-spl.lds to refer to .vectors sunxi: Remove mmc DMA support sunxi: Implement reset_cpu sunxi: Add sun4i support sunxi: Add sun5i support sunxi: Add emac glue, enable emac on the cubieboard sunxi: Add Ian Campbell and Hans de Goede as cubietruck board-maintainers mvtwsi: convert to CONFIG_SYS_I2C framework sunxi: Add i2c support sunxi: Add axp152 pmic support sunxi: Fix reset hang on sun5i Hao Zhang (10): keystone2: ddr: add DDR3 PHY configs updated for PG 2.0 keystone2: move cpu_to_bus() to keystone.c keystone2: add possibility to turn off all dsps ARM: keystone2: move K2HK board files to common KS2 board directory configs: k2hk_evm: config: add common EVM configuration header keystone: ddr3: move K2HK DDR3 configuration to a common file ARM: keystone2: add K2E SoC hardware definitions ARM: keystone2: clock: add K2E clock support ARM: keystone2: add MSMC cache coherency support for K2E SOC board: k2e-evm: add board support Henrik Nordstrom (1): sunxi: Add axp209 pmic support Ian Campbell (4): sunxi: Avoid unused variable warning. sunxi: add Cubieboard2 support sunxi: add gpio driver sunxi: use setbits_le32 to enable the DMA clock Jonathan Liu (1): sunxi: use random parts of SID to set ethaddr Khoronzhuk, Ivan (10): mtd: nand: davinci: add opportunity to write keystone U-boot image keystone: add support for NAND gpheader image k2hk_evm: add script to automate NAND flash process ARM: keystone2: psc: use common PSC base keystone: ddr3: add ddr3.h to hold ddr3 API ARM: keystone2: keystone_nav: make it dependent on keystone driver k2hk: use common KS2_ prefix for all hardware definitions ARM: keystone: clock: move K2HK SoC dependent code in separate file keystone2: use CONFIG_SOC_KEYSTONE in common places ARM: keystone2: spl: add K2E SoC support Ma Haijun (1): ARM: convert arch_fixup_memory_node to a generic FDT fixup function Marc Zyngier (10): ARM: HYP/non-sec: move switch to non-sec to the last boot phase ARM: HYP/non-sec: add a barrier after setting SCR.NS==1 ARM: non-sec: reset CNTVOFF to zero ARM: add missing HYP mode constant ARM: HYP/non-sec: add separate section for secure code ARM: HYP/non-sec: allow relocation to secure RAM ARM: HYP/non-sec: add generic ARMv7 PSCI code ARM: HYP/non-sec: add the option for a second-stage monitor ARM: HYP/non-sec/PSCI: emit DT nodes ARM: HYP/non-sec: remove MIDR check to validate CBAR Masahiro Yamada (1): zynq: disable -Wstrict-prototypes option for ps7_init.c Michal Simek (2): ARM: zynq: Enable generic board for Xilinx Zynq ARM: zynq: Show ECC status on the same line as DRAM size Mugunthan V N (3): drivers: net: cpsw: add support for using second port as ethernet ARM: DRA7xx: Add cpsw second port pinmux ARM: dra7_evm: Add Ethernet support for dra72x platform Murali Karicheri (1): keystone2: add env option to do unitrd dt fixup Nobuhiro Iwamatsu (4): net: sh-eth: Add support R8A7794 serial: sh: Add support R8A7794 arm: rmobile: Add support R8A7794 arm: rmobile: Add support Alt board Rajendra Nayak (1): ARM: OMAP: Fix handling of errata i727 Stefan Roese (4): net: Rename and cleanup sunxi (Allwinner) emac driver ARM: omap: Fix GPMC init for OMAP3 platforms ARM: omap: Remove unused arch/arm/cpu/armv7/omap3/mem.c ARM: omap: tao3530: Convert to generic board Tom Rini (3): power/pmic.h: Add prototype for power_init_board. tps65218/am43xx_evm: Add power framework support to TPS65218 am335x_evm / gumstix pepper: Correct DDR settings pekon gupta (3): ARM: omap: fix GPMC address-map size for NAND and NOR devices ARM: omap: clean redundant PISMO_xx macros used in
[U-Boot] [PATCH 0/3] test: Extending USB gadget tests infrastructure
New test for UMS regressions catching has been added. Moreover some DFU enhancements have been included as well. Lukasz Majewski (3): test: dfu: Extend dfu_gadget_test_init.sh to accept sizes of test files test: dfu: cosmetic: Add missing license information to DFU test scripts test: ums: Add script for testing UMS gadget operation test/dfu/dfu_gadget_test.sh | 10 +++ test/dfu/dfu_gadget_test_init.sh | 16 - test/ums/README | 17 + test/ums/ums_gadget_test.sh | 130 +++ 4 files changed, 172 insertions(+), 1 deletion(-) create mode 100644 test/ums/README create mode 100755 test/ums/ums_gadget_test.sh -- 2.0.0.rc2 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 1/3] test: dfu: Extend dfu_gadget_test_init.sh to accept sizes of test files
It is now possible to pass to the dfu_gadget_test_init.sh script the sizes of files to be generated. This feature is required by UMS tests which reuse this code. Signed-off-by: Lukasz Majewski l.majew...@samsung.com --- test/dfu/dfu_gadget_test_init.sh | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/dfu/dfu_gadget_test_init.sh b/test/dfu/dfu_gadget_test_init.sh index 2163a68..0d5c6c0 100755 --- a/test/dfu/dfu_gadget_test_init.sh +++ b/test/dfu/dfu_gadget_test_init.sh @@ -9,7 +9,11 @@ COLOUR_DEFAULT=\33[0m LOG_DIR=./log -TEST_FILES_SIZES=63 64 65 127 128 129 4095 4096 4097 959 960 961 1048575 1048576 8M +if [ $# -eq 0 ]; then +TEST_FILES_SIZES=63 64 65 127 128 129 4095 4096 4097 959 960 961 1048575 1048576 8M +else +TEST_FILES_SIZES=$@ +fi printf Init script for generating data necessary for DFU test script -- 2.0.0.rc2 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 3/3] test: ums: Add script for testing UMS gadget operation
This commit adds new test for UMS USB gadget to u-boot mainline tree. It it similar in operation to the one already available in test/dfu directory. Signed-off-by: Lukasz Majewski l.majew...@samsung.com --- test/ums/README | 17 ++ test/ums/ums_gadget_test.sh | 130 2 files changed, 147 insertions(+) create mode 100644 test/ums/README create mode 100755 test/ums/ums_gadget_test.sh diff --git a/test/ums/README b/test/ums/README new file mode 100644 index 000..cb7b27d --- /dev/null +++ b/test/ums/README @@ -0,0 +1,17 @@ +UMS test script. + +Example usage: +1. On the target: + create UMS exportable partition with a proper file system created on + it (e.g. EXT4, FAT). + ums 0 mmc 0 +2. On the host: + sudo test/ums/ums_gadget_test.sh X Y dir [test_file] + e.g. sudo test/ums/ums_gadget_test.sh 1 vfat /mnt ./dat_14M.img + +... where X is the partition number on which UMS operates and the Y is +the file system. The 'dir' parameter is the mount directory on the HOST. +Information about available partitions one can read from target via the +'mmc part' command. +The optional [test_file] parameter is for specifying the exact test file +to use. \ No newline at end of file diff --git a/test/ums/ums_gadget_test.sh b/test/ums/ums_gadget_test.sh new file mode 100755 index 000..a304c1c --- /dev/null +++ b/test/ums/ums_gadget_test.sh @@ -0,0 +1,130 @@ +#! /bin/bash + +# Copyright (C) 2014 Samsung Electronics +# Lukasz Majewski l.majew...@samsung.com +# +# UMS operation test script +# +# SPDX-License-Identifier: GPL-2.0+ + +set -e # any command return not equal to zero +clear + +COLOUR_RED=\33[31m +COLOUR_GREEN=\33[32m +COLOUR_DEFAULT=\33[0m + +DIR=./ +SUFFIX=img +RCV_DIR=rcv/ +LOG_FILE=./log/log-`date +%d-%m-%Y_%H-%M-%S` + +cd `dirname $0` +../dfu/dfu_gadget_test_init.sh 33M 97M + +cleanup () { +rm -rf $RCV_DIR +} + +die () { + printf$COLOUR_RED FAILED $COLOUR_DEFAULT \n + cleanup + exit 1 +} + +calculate_md5sum () { +MD5SUM=`md5sum $1` +MD5SUM=`echo $MD5SUM | cut -d ' ' -f1` +echo md5sum:$MD5SUM +} + +ums_test_file () { +printf $COLOUR_GREEN= $COLOUR_DEFAULT\n +printf File:$COLOUR_GREEN %s $COLOUR_DEFAULT\n $1 + +mount -t $2 /dev/$MEM_DEV $MNT_DIR +if [ -f $MNT_DIR/dat_* ]; then + rm $MNT_DIR/dat_* +fi +sync + +cp ./$1 $MNT_DIR +sync +umount $MNT_DIR + + +echo -n TX: +calculate_md5sum $1 + +MD5_TX=$MD5SUM +sleep 1 +N_FILE=$DIR$RCV_DIR${1:2}_rcv + +mount -t $2 /dev/$MEM_DEV $MNT_DIR +cp $MNT_DIR/$1 $N_FILE || die $? +sync +rm $MNT_DIR/$1 +sync +umount $MNT_DIR + +echo -n RX: +calculate_md5sum $N_FILE +MD5_RX=$MD5SUM + +if [ $MD5_TX == $MD5_RX ]; then + printf$COLOUR_GREEN --- OK $COLOUR_DEFAULT \n +else + printf$COLOUR_RED --- FAILED $COLOUR_DEFAULT \n + cleanup + exit 1 +fi +} + +printf $COLOUR_GREEN= $COLOUR_DEFAULT\n +echo U-boot UMS test program + +if [ $EUID -ne 0 ]; then + echo You must be root to do this. 12 + exit 100 +fi + +if [ $# -lt 3 ]; then + echo Wrong number of arguments + echo Example: + echo sudo ./ums_gadget_test.sh 1 vfat /mnt [test_file] + die +fi + +MNT_DIR=$3 + +mkdir -p $RCV_DIR + +MEM_DEV=`dmesg | tail -n 10 | grep -E sd[a-z]: - | cut -d ':' -f 1` +MEM_DEV=$(echo $MEM_DEV | cut -d ']' -f2 | tr -d ' ') + +if [ -z $MEM_DEV ]; then + echo Connect target + echo e.g. ums 0 mmc 0 + die +fi + +MEM_DEV=$MEM_DEV$1 + +printf Mount: /dev/$MEM_DEV FS: %s\n $2 + +if [ -n $4 ]; then +if [ ! -e $4 ]; then + echo No file: $4 + die +fi +ums_test_file $4 $2 +else +for file in $DIR*.$SUFFIX +do + ums_test_file $file $2 +done +fi + +cleanup + +exit 0 \ No newline at end of file -- 2.0.0.rc2 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 2/3] test: dfu: cosmetic: Add missing license information to DFU test scripts
By mistake I've forgotten to add the SPDX license tags for the DFU testing scripts. This commit fixes that and also provides some other relevant information. Signed-off-by: Lukasz Majewski l.majew...@samsung.com --- test/dfu/dfu_gadget_test.sh | 10 ++ test/dfu/dfu_gadget_test_init.sh | 10 ++ 2 files changed, 20 insertions(+) diff --git a/test/dfu/dfu_gadget_test.sh b/test/dfu/dfu_gadget_test.sh index 4133155..2f5b7db 100755 --- a/test/dfu/dfu_gadget_test.sh +++ b/test/dfu/dfu_gadget_test.sh @@ -1,5 +1,15 @@ #! /bin/bash +# Copyright (C) 2014 Samsung Electronics +# Lukasz Majewski l.majew...@samsung.com +# +# Script fixes, enhancements and testing: +# Stephen Warren swar...@nvidia.com +# +# DFU operation test script +# +# SPDX-License-Identifier: GPL-2.0+ + set -e # any command return if not equal to zero clear diff --git a/test/dfu/dfu_gadget_test_init.sh b/test/dfu/dfu_gadget_test_init.sh index 0d5c6c0..640628e 100755 --- a/test/dfu/dfu_gadget_test_init.sh +++ b/test/dfu/dfu_gadget_test_init.sh @@ -1,5 +1,15 @@ #! /bin/bash +# Copyright (C) 2014 Samsung Electronics +# Lukasz Majewski l.majew...@samsung.com +# +# Script fixes, enhancements and testing: +# Stephen Warren swar...@nvidia.com +# +# Script for test files generation +# +# SPDX-License-Identifier: GPL-2.0+ + set -e # any command return if not equal to zero clear -- 2.0.0.rc2 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Pull request: u-boot-arm/master
On Tue, Jul 29, 2014 at 03:08:16PM +0200, Albert ARIBAUD wrote: Hello Tom, The following changes since commit 772e173802627a1917a3f5878ad4b9b920089a33: Merge branch 'master' of git://git.denx.de/u-boot-sh (2014-07-25 15:05:09 -0400) are available in the git repository at: git://git.denx.de/u-boot-arm master for you to fetch changes up to 9d195a546179bc732aba9eacccf0a9a3db591288: ARM: HYP/non-sec: remove MIDR check to validate CBAR (2014-07-28 17:19:55 +0200) Albert ARIBAUD (4): Merge branch 'u-boot-microblaze/zynq' into 'u-boot-arm/master' Merge branch 'u-boot-sunxi/master' into 'u-boot-arm/master' Merge branch 'u-boot-sh/rmobile' into 'u-boot-arm/master' Merge branch 'u-boot-ti/master' into 'u-boot-arm/master' Andreas Bießmann (1): tricorder: convert to generic board Chen-Yu Tsai (1): sunxi: Add support for using MII phy-s with the GMAC nic Hans de Goede (12): sunxi: mksunxiboot: Fix loading of files with a size which is not a multiple of 4 sunxi: Fix u-boot-spl.lds to refer to .vectors sunxi: Remove mmc DMA support sunxi: Implement reset_cpu sunxi: Add sun4i support sunxi: Add sun5i support sunxi: Add emac glue, enable emac on the cubieboard sunxi: Add Ian Campbell and Hans de Goede as cubietruck board-maintainers mvtwsi: convert to CONFIG_SYS_I2C framework sunxi: Add i2c support sunxi: Add axp152 pmic support sunxi: Fix reset hang on sun5i Hao Zhang (10): keystone2: ddr: add DDR3 PHY configs updated for PG 2.0 keystone2: move cpu_to_bus() to keystone.c keystone2: add possibility to turn off all dsps ARM: keystone2: move K2HK board files to common KS2 board directory configs: k2hk_evm: config: add common EVM configuration header keystone: ddr3: move K2HK DDR3 configuration to a common file ARM: keystone2: add K2E SoC hardware definitions ARM: keystone2: clock: add K2E clock support ARM: keystone2: add MSMC cache coherency support for K2E SOC board: k2e-evm: add board support Henrik Nordstrom (1): sunxi: Add axp209 pmic support Ian Campbell (4): sunxi: Avoid unused variable warning. sunxi: add Cubieboard2 support sunxi: add gpio driver sunxi: use setbits_le32 to enable the DMA clock Jonathan Liu (1): sunxi: use random parts of SID to set ethaddr Khoronzhuk, Ivan (10): mtd: nand: davinci: add opportunity to write keystone U-boot image keystone: add support for NAND gpheader image k2hk_evm: add script to automate NAND flash process ARM: keystone2: psc: use common PSC base keystone: ddr3: add ddr3.h to hold ddr3 API ARM: keystone2: keystone_nav: make it dependent on keystone driver k2hk: use common KS2_ prefix for all hardware definitions ARM: keystone: clock: move K2HK SoC dependent code in separate file keystone2: use CONFIG_SOC_KEYSTONE in common places ARM: keystone2: spl: add K2E SoC support Ma Haijun (1): ARM: convert arch_fixup_memory_node to a generic FDT fixup function Marc Zyngier (10): ARM: HYP/non-sec: move switch to non-sec to the last boot phase ARM: HYP/non-sec: add a barrier after setting SCR.NS==1 ARM: non-sec: reset CNTVOFF to zero ARM: add missing HYP mode constant ARM: HYP/non-sec: add separate section for secure code ARM: HYP/non-sec: allow relocation to secure RAM ARM: HYP/non-sec: add generic ARMv7 PSCI code ARM: HYP/non-sec: add the option for a second-stage monitor ARM: HYP/non-sec/PSCI: emit DT nodes ARM: HYP/non-sec: remove MIDR check to validate CBAR Masahiro Yamada (1): zynq: disable -Wstrict-prototypes option for ps7_init.c Michal Simek (2): ARM: zynq: Enable generic board for Xilinx Zynq ARM: zynq: Show ECC status on the same line as DRAM size Mugunthan V N (3): drivers: net: cpsw: add support for using second port as ethernet ARM: DRA7xx: Add cpsw second port pinmux ARM: dra7_evm: Add Ethernet support for dra72x platform Murali Karicheri (1): keystone2: add env option to do unitrd dt fixup Nobuhiro Iwamatsu (4): net: sh-eth: Add support R8A7794 serial: sh: Add support R8A7794 arm: rmobile: Add support R8A7794 arm: rmobile: Add support Alt board Rajendra Nayak (1): ARM: OMAP: Fix handling of errata i727 Stefan Roese (4): net: Rename and cleanup sunxi (Allwinner) emac driver ARM: omap: Fix GPMC init for OMAP3 platforms ARM: omap: Remove unused arch/arm/cpu/armv7/omap3/mem.c ARM: omap: tao3530: Convert to generic board Tom Rini (3): power/pmic.h: Add prototype for power_init_board. tps65218/am43xx_evm: Add power framework support to TPS65218
Re: [U-Boot] [U-Boot, v2, 1/3] scripts: add scripts/show-gnu-make to get GNU Make command name
On Tue, Jul 22, 2014 at 11:19:07AM +0900, Masahiro Yamada wrote: U-Boot is expected to be built on various platforms. We should keep in mind that the command 'make' is not always GNU Make, while all the makefiles are written for GNU Make. For example, on Linux, people generally do: make board_config; make But FreeBSD folks do gmake board_config; gmake (The command 'make' on FreeBSD is BSD Make, not GNU Make) It is not a good idea to hard-code the command name 'make' in MAKEALL or buildman. They should call this helper script and get the command name for GNU Make. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] cosmetic: boards.cfg: fix some maintainers fields
On Tue, Jul 22, 2014 at 12:58:30PM +0900, Masahiro Yamada wrote: Add a whitespace between the name and the email address. When switching to Kconfig, the first version of MAINTAINERS files will be generated based on the boards.cfg file. So, the maintainers field should be corrected even if it is a really minor fix. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Acked-by: Bo Shen voice.s...@atmel.com Acked-by: Simon Glass s...@chromium.org Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] boards.cfg : Add maintainers entries for SOCFPGA
On Thu, Jul 24, 2014 at 06:45:24AM -0500, dingu...@altera.com wrote: From: Dinh Nguyen dingu...@altera.com Add back the maintainers entries for Altera's SOCFPGA platform. Signed-off-by: Dinh Nguyen dingu...@altera.com Signed-off-by: Chin Liang See cl...@altera.com Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot, v2, 3/3] buildman: make sure to invoke GNU Make
On Tue, Jul 22, 2014 at 11:19:09AM +0900, Masahiro Yamada wrote: Since the command name 'make' may not be GNU Make on some platforms such as FreeBSD, buildman should call scripts/show-gnu-make to get the command name for GNU MAKE (and error out if it is not found). Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Acked-by: Simon Glass s...@chromium.org Tested-by: Jeroen Hofstee jer...@myspectrum.nl Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot,v2,2/3] MAKEALL: make sure to invoke GNU Make
On Tue, Jul 22, 2014 at 11:19:08AM +0900, Masahiro Yamada wrote: Since the command name 'make' may not be GNU Make on some platforms such as FreeBSD, MAKEALL should call scripts/show-gnu-make to get the command name for GNU MAKE (and error out if it is not found). The GNU Make should be searched after parsing options because we want to allow MAKEALL -h even if GNU Make is missing on the system. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Acked-by: Simon Glass s...@chromium.org Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] boards:trats2: New Trats2 board maintainer
Change-Id: I8e72b942b8816726773d5407ce405d68a1594389 Signed-off-by: Lukasz Majewski l.majew...@samsung.com --- boards.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boards.cfg b/boards.cfg index 1c426e6..4d1fec8 100644 --- a/boards.cfg +++ b/boards.cfg @@ -297,7 +297,7 @@ Active arm armv7 exynos samsung smdk5420 Active arm armv7 exynos samsung smdk5420 smdk5420 - Rajeshwari Shinde rajeshwar...@samsung.com Active arm armv7 exynos samsung smdkv310 smdkv310 - Chander Kashyap k.chan...@samsung.com Active arm armv7 exynos samsung trats trats - Lukasz Majewski l.majew...@samsung.com -Active arm armv7 exynos samsung trats2 trats2- Piotr Wilczek p.wilc...@samsung.com +Active arm armv7 exynos samsung trats2 trats2- Lukasz Majewski l.majew...@samsung.com Active arm armv7 exynos samsung universal_c210 s5pc210_universal - Przemyslaw Marczak p.marc...@samsung.com Active arm armv7 highbank- highbank highbank - Rob Herring r...@kernel.org Active arm armv7 keystoneti k2hk_evm k2hk_evm - Vitaly Andrianov vita...@ti.com -- 2.0.0.rc2 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v7 1/1] ARM: kirkwood: add mvsdio driver
Hi Stefan, On 26/07/2014 13:54, Stefan Roese wrote: On 25.07.2014 21:07, Gerald Kerma wrote: This patch add Marvell kirkwood MVSDIO/MMC driver and enable it for Sheevaplugs and OpenRD boards. Signed-off-by: Gerald Kerma drea...@doukki.net Looks good now, so: Reviewed-by: Stefan Roese s...@denx.de Thank for you review. Is there any action I have to do now ? Enjoy signature.asc Description: OpenPGP digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 3/3] test: ums: Add script for testing UMS gadget operation
On 07/29/2014 07:45 AM, Lukasz Majewski wrote: This commit adds new test for UMS USB gadget to u-boot mainline tree. It it similar in operation to the one already available in test/dfu directory. Patches 1 and 2, Acked-by: Stephen Warren swar...@nvidia.com For this patch, I wonder whether: a) Should it do some raw dd tests too, for partitions/devices without a filesystem? Perhaps we should have separate scripts (for each of DFU and UMS) for filesystem and raw testing. So, this could be addressed later. b) Should this script (optionally?) create the filesystem itself, so the test is completely self-contained. Otherwise, the user has to manually run e.g. parted and mk*fs themselves, by which time they've already tested UMS a fair bit without this script. c) Do we really need the Y parameters (filesystem type) to the script? mount will automatically try all known filesystem types on my Linux host at least, and it would make it simpler to run the script if you simply dropped the -t option to mount. diff --git a/test/ums/README b/test/ums/README +Example usage: +1. On the target: + create UMS exportable partition with a proper file system created on + it (e.g. EXT4, FAT). + ums 0 mmc 0 +2. On the host: + sudo test/ums/ums_gadget_test.sh X Y dir [test_file] + e.g. sudo test/ums/ums_gadget_test.sh 1 vfat /mnt ./dat_14M.img can you s/X/PARTNUM/ s/Y/fstype/ here. That'd make the example command a bit more explanatory even without the paragraph below that explains what X and Y are, and also make it easier to correlate the description with the command. + +... where X is the partition number on which UMS operates and the Y is +the file system. The 'dir' parameter is the mount directory on the HOST. +Information about available partitions one can read from target via the +'mmc part' command. Perhaps this should say: 'mmc part' or 'part list' commands. +The optional [test_file] parameter is for specifying the exact test file +to use. \ No newline at end of file That's probably not right. diff --git a/test/ums/ums_gadget_test.sh b/test/ums/ums_gadget_test.sh +../dfu/dfu_gadget_test_init.sh 33M 97M I'm just curious what's special about those two sizes. +ums_test_file () { +mount -t $2 /dev/$MEM_DEV $MNT_DIR +if [ -f $MNT_DIR/dat_* ]; then + rm $MNT_DIR/dat_* +fi +sync + +cp ./$1 $MNT_DIR +sync +umount $MNT_DIR I'm not sure any of those syncs are necessary; mount should sync as part of its own operation. +MD5_TX=$MD5SUM +sleep 1 Why do we need to sleep? +if [ $# -lt 3 ]; then + echo Wrong number of arguments + echo Example: + echo sudo ./ums_gadget_test.sh 1 vfat /mnt [test_file] + die +fi + +MNT_DIR=$3 I think here, we should assign all positional arguments to named variables rather than using $1/... later on; something like: PART_NUM=$1; shift FSTYPE=$1; shift MNT_DIR=$1; shift TEST_FILES=$@ For MNT_DIR, can we simply create a temporary directory (e.g. /mnt/tmp-ums-test-$$) so the user doesn't have to pass in the name? The script requires root after all. +MEM_DEV=`dmesg | tail -n 10 | grep -E sd[a-z]: - | cut -d ':' -f 1` +MEM_DEV=$(echo $MEM_DEV | cut -d ']' -f2 | tr -d ' ') May as well use `` or $() consistently for those two lines. This seems slightly dangerous; what if my system has been plugged in for a long time and I've plugged in some other USB storage device since. Better to take the device name on the command-line, or perhaps to take the USB VID/PID on the command-line, then scan sysfs for a USB device with matching VID/PID, and find out what device node is hosted by it. \ No newline at end of file Probably should fix that too. Can you add a trap handler so that if the user CTRL-C's the script, the disk is unmounted, the mount directory is removed (if you make the script create one internally), and any temporary files are deleted. Right now, cleanup only runs if the script successfully runs to the end. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] sun7i: Add bananapi board
The Banana Pi is an A20 based development board using Raspberry Pi compatible IO headers. It comes with 1 GB RAM, 1 Gb ethernet, 2x USB host, sata, hdmi and stereo audio out + various expenansion headers: http://www.bananapi.org/ Signed-off-by: Hans de Goede hdego...@redhat.com --- board/sunxi/Makefile| 1 + board/sunxi/dram_bananapi.c | 31 +++ boards.cfg | 1 + 3 files changed, 33 insertions(+) create mode 100644 board/sunxi/dram_bananapi.c diff --git a/board/sunxi/Makefile b/board/sunxi/Makefile index 3fc7513..cf001e7 100644 --- a/board/sunxi/Makefile +++ b/board/sunxi/Makefile @@ -19,6 +19,7 @@ obj-$(CONFIG_A20_OLINUXINO_M) += dram_sun7i_384_1024_iow16.o # This is not a typo, uses the same mem settings as the a10s-olinuxino-m obj-$(CONFIG_AUXTEK_T004) += dram_a10s_olinuxino_m.o obj-$(CONFIG_BA10_TV_BOX) += dram_sun4i_384_1024_iow8.o +obj-$(CONFIG_BANANAPI) += dram_bananapi.o obj-$(CONFIG_CUBIEBOARD) += dram_cubieboard.o obj-$(CONFIG_CUBIEBOARD2) += dram_cubieboard2.o obj-$(CONFIG_CUBIETRUCK) += dram_cubietruck.o diff --git a/board/sunxi/dram_bananapi.c b/board/sunxi/dram_bananapi.c new file mode 100644 index 000..0ed7943 --- /dev/null +++ b/board/sunxi/dram_bananapi.c @@ -0,0 +1,31 @@ +/* this file is generated, don't edit it yourself */ + +#include common.h +#include asm/arch/dram.h + +static struct dram_para dram_para = { + .clock = 432, + .type = 3, + .rank_num = 1, + .density = 4096, + .io_width = 16, + .bus_width = 32, + .cas = 9, + .zq = 0x7f, + .odt_en = 0, + .size = 1024, + .tpr0 = 0x42d899b7, + .tpr1 = 0xa090, + .tpr2 = 0x22a00, + .tpr3 = 0x0, + .tpr4 = 0x1, + .tpr5 = 0x0, + .emr1 = 0x4, + .emr2 = 0x10, + .emr3 = 0x0, +}; + +unsigned long sunxi_dram_init(void) +{ + return dramc_init(dram_para); +} diff --git a/boards.cfg b/boards.cfg index a9b6106..eeba90a 100644 --- a/boards.cfg +++ b/boards.cfg @@ -386,6 +386,7 @@ Active arm armv7 sunxi - sunxi Active arm armv7 sunxi - sunxi A20-OLinuXino_MICRO sun7i:A20_OLINUXINO_M,SPL,AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI Hans de Goede hdego...@redhat.com Active arm armv7 sunxi - sunxi Auxtek-T004 sun5i:AUXTEK_T004,SPL,AXP152_POWER,USB_EHCI,SUNXI_USB_VBUS0_GPIO=SUNXI_GPG(13) Hans de Goede hdego...@redhat.com Active arm armv7 sunxi - sunxi ba10_tv_box sun4i:BA10_TV_BOX,SPL,AXP209_POWER,SUNXI_EMAC,USB_EHCI,SUNXI_USB_VBUS1_GPIO=SUNXI_GPH(12) Hans de Goede hdego...@redhat.com +Active arm armv7 sunxi - sunxi Bananapi sun7i:BANANAPI,SPL,AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI Hans de Goede hdego...@redhat.com Active arm armv7 sunxi - sunxi Cubieboard sun4i:CUBIEBOARD,SPL,AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI Hans de Goede hdego...@redhat.com Active arm armv7 sunxi - sunxi Cubieboard2 sun7i:CUBIEBOARD2,SPL,AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI Ian Campbell i...@hellion.org.uk:Hans de Goede hdego...@redhat.com Active arm armv7 sunxi - sunxi Cubieboard2_FEL sun7i:CUBIEBOARD2,SPL_FEL,AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI Ian Campbell i...@hellion.org.uk:Hans de Goede hdego...@redhat.com -- 2.0.0 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] sun7i: Add bananapi board
On Tue, 2014-07-29 at 18:57 +0200, Hans de Goede wrote: The Banana Pi is an A20 based development board using Raspberry Pi compatible IO headers. It comes with 1 GB RAM, 1 Gb ethernet, 2x USB host, sata, hdmi and stereo audio out + various expenansion headers: expansion http://www.bananapi.org/ Signed-off-by: Hans de Goede hdego...@redhat.com Acked-by: Ian Campbell i...@hellion.org.uk ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/1] env_mmc: support env partition setup in runtime
Hello Dmitry, On 29-07-14 11:46, Dmitry Lifshitz wrote: Add callback with __weak annotation to allow setup of environment partition number in runtime from a board file. Propagate mmc_switch_part() return value into init_mmc_for_env() instead of -1 in case of failure. Signed-off-by: Dmitry Lifshitz lifsh...@compulab.co.il Signed-off-by: Igor Grinberg grinb...@compulab.co.il --- common/env_mmc.c | 35 +++ 1 files changed, 23 insertions(+), 12 deletions(-) diff --git a/common/env_mmc.c b/common/env_mmc.c index 7da10e6..a7621a8 100644 --- a/common/env_mmc.c +++ b/common/env_mmc.c @@ -62,16 +62,36 @@ int env_init(void) return 0; } -static int init_mmc_for_env(struct mmc *mmc) -{ #ifdef CONFIG_SYS_MMC_ENV_PART +__weak uint mmc_get_env_part(struct mmc *mmc) +{ + return CONFIG_SYS_MMC_ENV_PART; +} + mmc_get_env_part lacks a prototype and there seems to be no strong version / user of this code. Regards, Jeroen ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v5 0/11] Enable driver model for GPIOs on Tegra and Exynos
Now that driver model is part of U-Boot, the task of converting drivers over to it begins. GPIO is one of the easiest to convert, since it already has a sandbox driver and a uclass driver. The Tegra GPIO driver is relatively simple since it has a linear numbering and already uses the generic GPIO framework. Each GPIO bank has a separate device. Some arguments have been made that a single device should support all the GPIO banks, but currently the driver model uclass does not work that way and it would require a second-level data structure to handle the bank feature. This driver has been tested on Trimslice (Tegra 20). For exynos, the pinctrl device tree files are brought in from the kernel and cut down to remove the groupings which we don't yet use. Very small additions are made to avoid replicating the awful tables that Linux has for every exynos SoC. This series sits on top of the exynos refactors. The 'gpio' command is updated to support display of only the allocated GPIOs. This is much more friendly than displaying a large table. A few related clean-ups are provided as well. This series is available at u-boot-dm.git, branch working. Changes in v5: - Put this patch before the others to avoid breaking bisectability - Add additional gpio_request() calls for other samsung boards - Use a mask instead of division in gpio_request() naming call - Avoid reordering functions - Remove RFC label now that build errors are fixed - Tidy up and update cover letter message Changes in v4: - Rename struct device to struct udevice - Add new patch to enhance 'gpio' command - Add patches for exynos GPIO support Changes in v3: - Move dm command enable to previous patch - Use gpio number for the internal helper functions Changes in v2: - Split out driver model changes into separate patches - Correct bugs found during testing Simon Glass (11): tegra: Convert tegra GPIO driver to use driver model exynos: dts: Convert /include/ to #include exynos: Bring in pinctrl dts files from Linux kernel exynos: dts: Remove unused pinctrl information to save space exynos: dts: Adjust device tree files for U-Boot exynos: Tidy up GPIO headers exynos: Tidy up GPIO defines exynos: Make sure that GPIOs are requested dm: gpio: Enhance gpio command to show only active GPIOs exynos: gpio: Convert to driver model dm: sandbox: dts: Add a GPIO bank arch/arm/cpu/armv7/exynos/pinmux.c | 5 +- arch/arm/dts/exynos4.dtsi | 9 +- arch/arm/dts/exynos4210-origen.dts | 4 +- arch/arm/dts/exynos4210-pinctrl.dtsi | 305 arch/arm/dts/exynos4210-smdkv310.dts | 2 +- arch/arm/dts/exynos4210-trats.dts | 2 +- arch/arm/dts/exynos4210-universal_c210.dts | 2 +- arch/arm/dts/exynos4210.dtsi | 161 +++ arch/arm/dts/exynos4412-trats2.dts | 2 +- arch/arm/dts/exynos4412.dtsi | 38 +++ arch/arm/dts/exynos4x12-pinctrl.dtsi | 350 +++ arch/arm/dts/exynos4x12.dtsi | 122 arch/arm/dts/exynos5.dtsi | 56 +++- arch/arm/dts/exynos5250-pinctrl.dtsi | 335 ++ arch/arm/dts/exynos5250-smdk5250.dts | 2 +- arch/arm/dts/exynos5250-snow.dts | 2 +- arch/arm/dts/exynos5250.dtsi | 48 +++- arch/arm/dts/exynos5420-peach-pit.dts | 2 +- arch/arm/dts/exynos5420-pinctrl.dtsi | 316 arch/arm/dts/exynos5420-smdk5420.dts | 2 +- arch/arm/dts/exynos5420.dtsi | 125 arch/arm/dts/exynos54xx.dtsi | 56 +++- arch/arm/dts/s5pc1xx-goni.dts | 2 +- arch/arm/dts/s5pc1xx-smdkc100.dts | 2 +- arch/arm/include/asm/arch-exynos/gpio.h| 5 - arch/arm/include/asm/arch-s5pc1xx/gpio.h | 4 - arch/arm/include/asm/arch-tegra/gpio.h | 15 +- arch/sandbox/dts/sandbox.dts | 8 + board/nvidia/seaboard/seaboard.c | 2 +- board/samsung/arndale/arndale.c| 4 +- board/samsung/common/board.c | 2 +- board/samsung/common/misc.c| 3 +- board/samsung/goni/goni.c | 4 +- board/samsung/origen/origen.c | 2 +- board/samsung/smdk5250/exynos5-dt.c| 7 + board/samsung/smdk5420/smdk5420.c | 6 +- board/samsung/smdkc100/smdkc100.c | 2 +- board/samsung/smdkv310/smdkv310.c | 2 +- board/samsung/trats/trats.c| 17 +- board/samsung/trats2/trats2.c | 27 +- board/samsung/universal_c210/universal.c | 4 +- common/cmd_gpio.c | 101 --- drivers/gpio/s5p_gpio.c| 444 +++-- drivers/gpio/tegra_gpio.c | 313 drivers/mmc/s5p_sdhci.c| 7 +- include/asm-generic/gpio.h | 15 +-
[U-Boot] [PATCH v5 11/11] dm: sandbox: dts: Add a GPIO bank
Add a bank of GPIOs for sandbox which can be used for testing this functionality. Signed-off-by: Simon Glass s...@chromium.org --- Changes in v5: - Remove RFC label now that build errors are fixed - Tidy up and update cover letter message Changes in v4: - Add patches for exynos GPIO support Changes in v3: None Changes in v2: None arch/sandbox/dts/sandbox.dts | 8 1 file changed, 8 insertions(+) diff --git a/arch/sandbox/dts/sandbox.dts b/arch/sandbox/dts/sandbox.dts index 62d8037..efffacb 100644 --- a/arch/sandbox/dts/sandbox.dts +++ b/arch/sandbox/dts/sandbox.dts @@ -113,4 +113,12 @@ 0x070b0067 0x070c0069; }; + gpio_a: gpios { + gpio-controller; + compatible = sandbox,gpio; + #gpio-cells = 1; + gpio-bank-name = a; + num-gpios = 20; + }; + }; -- 2.0.0.526.g5318336 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v5 06/11] exynos: Tidy up GPIO headers
The wrong header is being included, thus requiring the code to re-declare the generic GPIO interface in each GPIO header. Fix this. Signed-off-by: Simon Glass s...@chromium.org --- Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None arch/arm/cpu/armv7/exynos/pinmux.c | 2 +- arch/arm/include/asm/arch-exynos/gpio.h | 5 - arch/arm/include/asm/arch-s5pc1xx/gpio.h | 4 board/samsung/arndale/arndale.c | 2 +- board/samsung/common/board.c | 2 +- board/samsung/common/misc.c | 1 - board/samsung/goni/goni.c| 2 +- board/samsung/origen/origen.c| 2 +- board/samsung/smdk5420/smdk5420.c| 2 +- board/samsung/smdkc100/smdkc100.c| 2 +- board/samsung/smdkv310/smdkv310.c| 2 +- board/samsung/trats/trats.c | 2 +- board/samsung/trats2/trats2.c| 1 + board/samsung/universal_c210/universal.c | 1 - drivers/gpio/s5p_gpio.c | 3 +-- 15 files changed, 11 insertions(+), 22 deletions(-) diff --git a/arch/arm/cpu/armv7/exynos/pinmux.c b/arch/arm/cpu/armv7/exynos/pinmux.c index 86a0c75..8cc4e9c 100644 --- a/arch/arm/cpu/armv7/exynos/pinmux.c +++ b/arch/arm/cpu/armv7/exynos/pinmux.c @@ -7,7 +7,7 @@ #include common.h #include fdtdec.h -#include asm/arch/gpio.h +#include asm/gpio.h #include asm/arch/pinmux.h #include asm/arch/sromc.h diff --git a/arch/arm/include/asm/arch-exynos/gpio.h b/arch/arm/include/asm/arch-exynos/gpio.h index 8fb5c23..ba169b9 100644 --- a/arch/arm/include/asm/arch-exynos/gpio.h +++ b/arch/arm/include/asm/arch-exynos/gpio.h @@ -1504,12 +1504,7 @@ static const struct gpio_name_num_table exynos5420_gpio_table[] = { void gpio_cfg_pin(int gpio, int cfg); void gpio_set_pull(int gpio, int mode); void gpio_set_drv(int gpio, int mode); -int gpio_direction_input(unsigned gpio); -int gpio_direction_output(unsigned gpio, int value); -int gpio_set_value(unsigned gpio, int value); -int gpio_get_value(unsigned gpio); void gpio_set_rate(int gpio, int mode); -struct s5p_gpio_bank *s5p_gpio_get_bank(unsigned gpio); int s5p_gpio_get_pin(unsigned gpio); #endif diff --git a/arch/arm/include/asm/arch-s5pc1xx/gpio.h b/arch/arm/include/asm/arch-s5pc1xx/gpio.h index d5dbc22..bd6f2d2 100644 --- a/arch/arm/include/asm/arch-s5pc1xx/gpio.h +++ b/arch/arm/include/asm/arch-s5pc1xx/gpio.h @@ -815,11 +815,7 @@ static const struct gpio_name_num_table s5pc110_gpio_table[] = { void gpio_cfg_pin(int gpio, int cfg); void gpio_set_pull(int gpio, int mode); void gpio_set_drv(int gpio, int mode); -int gpio_direction_output(unsigned gpio, int value); -int gpio_set_value(unsigned gpio, int value); -int gpio_get_value(unsigned gpio); void gpio_set_rate(int gpio, int mode); -struct s5p_gpio_bank *s5p_gpio_get_bank(unsigned gpio); int s5p_gpio_get_pin(unsigned gpio); /* GPIO pins per bank */ diff --git a/board/samsung/arndale/arndale.c b/board/samsung/arndale/arndale.c index ef88314..c0f00cf 100644 --- a/board/samsung/arndale/arndale.c +++ b/board/samsung/arndale/arndale.c @@ -6,9 +6,9 @@ #include common.h #include usb.h +#include asm/gpio.h #include asm/arch/pinmux.h #include asm/arch/dwmmc.h -#include asm/arch/gpio.h #include asm/arch/power.h DECLARE_GLOBAL_DATA_PTR; diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c index 1f6f0a0..82595d1 100644 --- a/board/samsung/common/board.c +++ b/board/samsung/common/board.c @@ -13,10 +13,10 @@ #include tmu.h #include netdev.h #include asm/io.h +#include asm/gpio.h #include asm/arch/board.h #include asm/arch/cpu.h #include asm/arch/dwmmc.h -#include asm/arch/gpio.h #include asm/arch/mmc.h #include asm/arch/pinmux.h #include asm/arch/power.h diff --git a/board/samsung/common/misc.c b/board/samsung/common/misc.c index 03106fd..a79119a 100644 --- a/board/samsung/common/misc.c +++ b/board/samsung/common/misc.c @@ -13,7 +13,6 @@ #include version.h #include linux/sizes.h #include asm/arch/cpu.h -#include asm/arch/gpio.h #include asm/gpio.h #include linux/input.h #include power/pmic.h diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c index eb0f9bf..01be714 100644 --- a/board/samsung/goni/goni.c +++ b/board/samsung/goni/goni.c @@ -7,7 +7,7 @@ */ #include common.h -#include asm/arch/gpio.h +#include asm/gpio.h #include asm/arch/mmc.h #include power/pmic.h #include usb/s3c_udc.h diff --git a/board/samsung/origen/origen.c b/board/samsung/origen/origen.c index a539267..99a2fac 100644 --- a/board/samsung/origen/origen.c +++ b/board/samsung/origen/origen.c @@ -6,8 +6,8 @@ #include common.h #include asm/io.h +#include asm/gpio.h #include asm/arch/cpu.h -#include asm/arch/gpio.h #include asm/arch/mmc.h #include asm/arch/periph.h #include asm/arch/pinmux.h diff --git a/board/samsung/smdk5420/smdk5420.c b/board/samsung/smdk5420/smdk5420.c index 270ee83..47998ab 100644 --- a/board/samsung/smdk5420/smdk5420.c +++
[U-Boot] [PATCH v5 07/11] exynos: Tidy up GPIO defines
The defines at the top of the GPIO driver use single-character names for parameters which are not very descriptive. Improve these to use descriptive parameter names. Signed-off-by: Simon Glass s...@chromium.org --- Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None drivers/gpio/s5p_gpio.c | 21 +++-- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/drivers/gpio/s5p_gpio.c b/drivers/gpio/s5p_gpio.c index aa60188..99f2dd8 100644 --- a/drivers/gpio/s5p_gpio.c +++ b/drivers/gpio/s5p_gpio.c @@ -11,19 +11,20 @@ #define S5P_GPIO_GET_PIN(x)(x % GPIO_PER_BANK) -#define CON_MASK(x)(0xf ((x) 2)) -#define CON_SFR(x, v) ((v) ((x) 2)) +#define CON_MASK(val) (0xf ((val) 2)) +#define CON_SFR(gpio, cfg) ((cfg) ((gpio) 2)) +#define CON_SFR_UNSHIFT(val, gpio) ((val) ((gpio) 2)) -#define DAT_MASK(x)(0x1 (x)) -#define DAT_SET(x) (0x1 (x)) +#define DAT_MASK(gpio) (0x1 (gpio)) +#define DAT_SET(gpio) (0x1 (gpio)) -#define PULL_MASK(x) (0x3 ((x) 1)) -#define PULL_MODE(x, v)((v) ((x) 1)) +#define PULL_MASK(gpio)(0x3 ((gpio) 1)) +#define PULL_MODE(gpio, pull) ((pull) ((gpio) 1)) -#define DRV_MASK(x)(0x3 ((x) 1)) -#define DRV_SET(x, m) ((m) ((x) 1)) -#define RATE_MASK(x) (0x1 (x + 16)) -#define RATE_SET(x)(0x1 (x + 16)) +#define DRV_MASK(gpio) (0x3 ((gpio) 1)) +#define DRV_SET(gpio, mode)((mode) ((gpio) 1)) +#define RATE_MASK(gpio)(0x1 (gpio + 16)) +#define RATE_SET(gpio) (0x1 (gpio + 16)) #define name_to_gpio(n) s5p_name_to_gpio(n) static inline int s5p_name_to_gpio(const char *name) -- 2.0.0.526.g5318336 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v5 10/11] exynos: gpio: Convert to driver model
Convert the exynos GPIO driver to driver model. This implements the generic GPIO interface but not the extra Exynos-specific functions. Signed-off-by: Simon Glass s...@chromium.org --- Changes in v5: - Avoid reordering functions Changes in v4: None Changes in v3: None Changes in v2: None drivers/gpio/s5p_gpio.c | 422 +++- include/configs/exynos-common.h | 4 + 2 files changed, 290 insertions(+), 136 deletions(-) diff --git a/drivers/gpio/s5p_gpio.c b/drivers/gpio/s5p_gpio.c index 99f2dd8..38ef14d 100644 --- a/drivers/gpio/s5p_gpio.c +++ b/drivers/gpio/s5p_gpio.c @@ -6,8 +6,15 @@ */ #include common.h +#include dm.h +#include errno.h +#include fdtdec.h +#include malloc.h #include asm/io.h #include asm/gpio.h +#include dm/device-internal.h + +DECLARE_GLOBAL_DATA_PTR; #define S5P_GPIO_GET_PIN(x)(x % GPIO_PER_BANK) @@ -26,100 +33,45 @@ #define RATE_MASK(gpio)(0x1 (gpio + 16)) #define RATE_SET(gpio) (0x1 (gpio + 16)) -#define name_to_gpio(n) s5p_name_to_gpio(n) -static inline int s5p_name_to_gpio(const char *name) +#define GPIO_NAME_SIZE 20 + +/* Platform data for each bank */ +struct exynos_gpio_platdata { + struct s5p_gpio_bank *bank; + const char *bank_name; /* Name of port, e.g. 'gpa0 */ +}; + +/* Information about each bank at run-time */ +struct exynos_bank_info { + char label[GPIO_PER_BANK][GPIO_NAME_SIZE]; + struct s5p_gpio_bank *bank; +}; + +static struct s5p_gpio_bank *s5p_gpio_get_bank(unsigned int gpio) { - unsigned num, irregular_set_number, irregular_bank_base; - const struct gpio_name_num_table *tabp; - char this_bank, bank_name, irregular_bank_name; - char *endp; - - /* -* The gpio name starts with either 'g' or 'gp' followed by the bank -* name character. Skip one or two characters depending on the prefix. -*/ - if (name[0] == 'g' name[1] == 'p') - name += 2; - else if (name[0] == 'g') - name++; - else - return -1; /* Name must start with 'g' */ - - bank_name = *name++; - if (!*name) - return -1; /* At least one digit is required/expected. */ - - /* -* On both exynos5 and exynos5420 architectures there is a bank of -* GPIOs which does not fall into the regular address pattern. Those -* banks are c4 on Exynos5 and y7 on Exynos5420. The rest of the below -* assignments help to handle these irregularities. -*/ -#if defined(CONFIG_EXYNOS4) || defined(CONFIG_EXYNOS5) - if (cpu_is_exynos5()) { - if (proid_is_exynos5420()) { - tabp = exynos5420_gpio_table; - irregular_bank_name = 'y'; - irregular_set_number = '7'; - irregular_bank_base = EXYNOS5420_GPIO_Y70; - } else { - tabp = exynos5_gpio_table; - irregular_bank_name = 'c'; - irregular_set_number = '4'; - irregular_bank_base = EXYNOS5_GPIO_C40; - } - } else { - if (proid_is_exynos4412()) - tabp = exynos4x12_gpio_table; - else - tabp = exynos4_gpio_table; - irregular_bank_name = 0; - irregular_set_number = 0; - irregular_bank_base = 0; - } -#else - if (cpu_is_s5pc110()) - tabp = s5pc110_gpio_table; - else - tabp = s5pc100_gpio_table; - irregular_bank_name = 0; - irregular_set_number = 0; - irregular_bank_base = 0; -#endif + const struct gpio_info *data; + unsigned int upto; + int i, count; - this_bank = tabp-bank; - do { - if (bank_name == this_bank) { - unsigned pin_index; /* pin number within the bank */ - if ((bank_name == irregular_bank_name) - (name[0] == irregular_set_number)) { - pin_index = name[1] - '0'; - /* Irregular sets have 8 pins. */ - if (pin_index = GPIO_PER_BANK) - return -1; - num = irregular_bank_base + pin_index; - } else { - pin_index = simple_strtoul(name, endp, 8); - pin_index -= tabp-bank_offset; - /* -* Sanity check: bunk 'z' has no set number, -* for all other banks there must be exactly -* two octal digits, and the resulting number -* should not exceed the number of pins in the -
[U-Boot] [PATCH v5 09/11] dm: gpio: Enhance gpio command to show only active GPIOs
The GPIO list is very long in many cases and most of them are not used. By default, show only the GPIOs that are in use, and provide a flag to show all of them. This makes the 'gpio status' command much more pleasant. In order to do this, driver model now exposes a method for obtaining the 'function' of a GPIO, which describes whether it is an input or output, for example. Implementation of this method is optional. Signed-off-by: Simon Glass s...@chromium.org --- Changes in v5: None Changes in v4: - Add new patch to enhance 'gpio' command Changes in v3: None Changes in v2: None common/cmd_gpio.c | 101 +++-- include/asm-generic/gpio.h | 15 ++- 2 files changed, 82 insertions(+), 34 deletions(-) diff --git a/common/cmd_gpio.c b/common/cmd_gpio.c index 4634f91..b97533f 100644 --- a/common/cmd_gpio.c +++ b/common/cmd_gpio.c @@ -24,18 +24,46 @@ enum gpio_cmd { }; #if defined(CONFIG_DM_GPIO) !defined(gpio_status) -static const char * const gpio_function[] = { +static const char * const gpio_function[GPIOF_COUNT] = { input, output, + unused, unknown, + func, }; -static void show_gpio(struct udevice *dev, const char *bank_name, int offset) +/* A few flags used by show_gpio() */ +enum { + FLAG_SHOW_ALL = 1 0, + FLAG_SHOW_BANK = 1 1, + FLAG_SHOW_NEWLINE = 1 2, +}; + +static void show_gpio(struct udevice *dev, const char *bank_name, int offset, + int *flagsp) { struct dm_gpio_ops *ops = gpio_get_ops(dev); + int func = GPIOF_UNKNOWN; char buf[80]; int ret; + BUILD_BUG_ON(GPIOF_COUNT != ARRAY_SIZE(gpio_function)); + + if (ops-get_function) { + ret = ops-get_function(dev, offset); + if (ret = 0 ret ARRAY_SIZE(gpio_function)) + func = ret; + } + if (!(*flagsp FLAG_SHOW_ALL) func == GPIOF_UNUSED) + return; + if ((*flagsp FLAG_SHOW_BANK) bank_name) { + if (*flagsp FLAG_SHOW_NEWLINE) { + putc('\n'); + *flagsp = ~FLAG_SHOW_NEWLINE; + } + printf(Bank %s:\n, bank_name); + *flagsp = ~FLAG_SHOW_BANK; + } *buf = '\0'; if (ops-get_state) { ret = ops-get_state(dev, offset, buf, sizeof(buf)); @@ -44,14 +72,6 @@ static void show_gpio(struct udevice *dev, const char *bank_name, int offset) return; } } else { - int func = GPIOF_UNKNOWN; - int ret; - - if (ops-get_function) { - ret = ops-get_function(dev, offset); - if (ret = 0 ret ARRAY_SIZE(gpio_function)) - func = ret; - } sprintf(buf, %s%u: %8s %d, bank_name, offset, gpio_function[func], ops-get_value(dev, offset)); } @@ -60,12 +80,14 @@ static void show_gpio(struct udevice *dev, const char *bank_name, int offset) puts(\n); } -static int do_gpio_status(const char *gpio_name) +static int do_gpio_status(bool all, const char *gpio_name) { struct udevice *dev; - int newline = 0; + int banklen; + int flags; int ret; + flags = 0; if (gpio_name !*gpio_name) gpio_name = NULL; for (ret = uclass_first_device(UCLASS_GPIO, dev); @@ -74,28 +96,33 @@ static int do_gpio_status(const char *gpio_name) const char *bank_name; int num_bits; + flags |= FLAG_SHOW_BANK; + if (all) + flags |= FLAG_SHOW_ALL; bank_name = gpio_get_bank_info(dev, num_bits); + if (!num_bits) + continue; + banklen = bank_name ? strlen(bank_name) : 0; if (!gpio_name || !bank_name || - !strncmp(gpio_name, bank_name, strlen(bank_name))) { + !strncmp(gpio_name, bank_name, banklen)) { const char *p = NULL; int offset; - if (bank_name) { - if (newline) - putc('\n'); - printf(Bank %s:\n, bank_name); - } - newline = 1; - if (gpio_name bank_name) { - p = gpio_name + strlen(bank_name); + p = gpio_name + banklen; + if (gpio_name *p) { offset = simple_strtoul(p, NULL, 10); - show_gpio(dev, bank_name, offset); + show_gpio(dev, bank_name, offset, flags); } else { -
[U-Boot] [PATCH v5 08/11] exynos: Make sure that GPIOs are requested
With driver model GPIOs must be requested before use. Make sure this is done correctly. (Note that the soft SPI part of universal is omitted, since this driver is about to be replaced with a driver-model-aware version) Signed-off-by: Simon Glass s...@chromium.org --- Changes in v5: - Add additional gpio_request() calls for other samsung boards - Use a mask instead of division in gpio_request() naming call Changes in v4: None Changes in v3: None Changes in v2: None arch/arm/cpu/armv7/exynos/pinmux.c | 3 +++ board/samsung/arndale/arndale.c | 2 ++ board/samsung/common/misc.c | 2 ++ board/samsung/goni/goni.c| 2 ++ board/samsung/smdk5250/exynos5-dt.c | 7 +++ board/samsung/smdk5420/smdk5420.c| 4 board/samsung/trats/trats.c | 15 --- board/samsung/trats2/trats2.c| 26 +- board/samsung/universal_c210/universal.c | 3 +++ drivers/mmc/s5p_sdhci.c | 7 ++- 10 files changed, 62 insertions(+), 9 deletions(-) diff --git a/arch/arm/cpu/armv7/exynos/pinmux.c b/arch/arm/cpu/armv7/exynos/pinmux.c index 8cc4e9c..fb1375d 100644 --- a/arch/arm/cpu/armv7/exynos/pinmux.c +++ b/arch/arm/cpu/armv7/exynos/pinmux.c @@ -172,6 +172,9 @@ static int exynos5420_mmc_config(int peripheral, int flags) * this same assumption. */ if ((peripheral == PERIPH_ID_SDMMC0) (i == (start + 2))) { +#ifndef CONFIG_SPL_BUILD + gpio_request(i, sdmmc0_vdden); +#endif gpio_set_value(i, 1); gpio_cfg_pin(i, S5P_GPIO_OUTPUT); } else { diff --git a/board/samsung/arndale/arndale.c b/board/samsung/arndale/arndale.c index c0f00cf..9ce2fca 100644 --- a/board/samsung/arndale/arndale.c +++ b/board/samsung/arndale/arndale.c @@ -19,6 +19,8 @@ int board_usb_init(int index, enum usb_init_type init) /* Configure gpios for usb 3503 hub: * disconnect, toggle reset and connect */ + gpio_request(EXYNOS5_GPIO_D17, usb_connect); + gpio_request(EXYNOS5_GPIO_X35, usb_reset); gpio_direction_output(EXYNOS5_GPIO_D17, 0); gpio_direction_output(EXYNOS5_GPIO_X35, 0); diff --git a/board/samsung/common/misc.c b/board/samsung/common/misc.c index a79119a..d274eb6 100644 --- a/board/samsung/common/misc.c +++ b/board/samsung/common/misc.c @@ -362,6 +362,8 @@ void check_boot_mode(void) void keys_init(void) { /* Set direction to input */ + gpio_request(KEY_VOL_UP_GPIO, volume-up); + gpio_request(KEY_VOL_DOWN_GPIO, volume-down); gpio_direction_input(KEY_VOL_UP_GPIO); gpio_direction_input(KEY_VOL_DOWN_GPIO); } diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c index 01be714..22f4995 100644 --- a/board/samsung/goni/goni.c +++ b/board/samsung/goni/goni.c @@ -80,6 +80,7 @@ int board_mmc_init(bd_t *bis) int i, ret, ret_sd = 0; /* MASSMEMORY_EN: XMSMDATA7: GPJ2[7] output high */ + gpio_request(S5PC110_GPIO_J27, massmemory_en); gpio_direction_output(S5PC110_GPIO_J27, 1); /* @@ -108,6 +109,7 @@ int board_mmc_init(bd_t *bis) * SD card (T_FLASH) detect and init * T_FLASH_DETECT: EINT28: GPH3[4] input mode */ + gpio_request(S5PC110_GPIO_H34, t_flash_detect); gpio_cfg_pin(S5PC110_GPIO_H34, S5P_GPIO_INPUT); gpio_set_pull(S5PC110_GPIO_H34, S5P_GPIO_PULL_UP); diff --git a/board/samsung/smdk5250/exynos5-dt.c b/board/samsung/smdk5250/exynos5-dt.c index d6ce133..53ff706 100644 --- a/board/samsung/smdk5250/exynos5-dt.c +++ b/board/samsung/smdk5250/exynos5-dt.c @@ -29,6 +29,7 @@ DECLARE_GLOBAL_DATA_PTR; static void board_enable_audio_codec(void) { /* Enable MAX98095 Codec */ + gpio_request(EXYNOS5_GPIO_X17, max98095_enable); gpio_direction_output(EXYNOS5_GPIO_X17, 1); gpio_set_pull(EXYNOS5_GPIO_X17, S5P_GPIO_PULL_NONE); } @@ -199,16 +200,19 @@ static int board_dp_bridge_setup(void) /* Setup the GPIOs */ /* PD is ACTIVE_LOW, and initially de-asserted */ + gpio_request(EXYNOS5_GPIO_Y25, dp_bridge_pd); gpio_set_pull(EXYNOS5_GPIO_Y25, S5P_GPIO_PULL_NONE); gpio_direction_output(EXYNOS5_GPIO_Y25, 1); /* Reset is ACTIVE_LOW */ + gpio_request(EXYNOS5_GPIO_X15, dp_bridge_reset); gpio_set_pull(EXYNOS5_GPIO_X15, S5P_GPIO_PULL_NONE); gpio_direction_output(EXYNOS5_GPIO_X15, 0); udelay(10); gpio_set_value(EXYNOS5_GPIO_X15, 1); + gpio_request(EXYNOS5_GPIO_X07, dp_bridge_hpd); gpio_direction_input(EXYNOS5_GPIO_X07); /* @@ -236,10 +240,12 @@ static int board_dp_bridge_setup(void) void exynos_cfg_lcd_gpio(void) { /* For Backlight */ + gpio_request(EXYNOS5_GPIO_B20, lcd_backlight); gpio_cfg_pin(EXYNOS5_GPIO_B20, S5P_GPIO_OUTPUT);
[U-Boot] [PATCH v5 01/11] tegra: Convert tegra GPIO driver to use driver model
This is an implementation of GPIOs for Tegra that uses driver model. It has been tested on trimslice and also using the new iotrace feature. The implementation uses a top-level GPIO device (which has no actual GPIOS). Under this all the banks are created as separate GPIO devices. The GPIOs are named as per the Tegra datasheet/header files: A0..A7, B0..B7, ..., Z0..Z7, AA0..AA7, etc. Since driver model is not yet available before relocation, or in SPL, a special function is provided for seaboard's SPL code. Signed-off-by: Simon Glass s...@chromium.org --- Changes in v5: None Changes in v4: - Rename struct device to struct udevice Changes in v3: - Move dm command enable to previous patch - Use gpio number for the internal helper functions Changes in v2: - Split out driver model changes into separate patches - Correct bugs found during testing arch/arm/include/asm/arch-tegra/gpio.h | 15 +- board/nvidia/seaboard/seaboard.c | 2 +- drivers/gpio/tegra_gpio.c | 313 +++-- include/configs/tegra-common.h | 1 + 4 files changed, 266 insertions(+), 65 deletions(-) diff --git a/arch/arm/include/asm/arch-tegra/gpio.h b/arch/arm/include/asm/arch-tegra/gpio.h index 44cd455..7334e0c 100644 --- a/arch/arm/include/asm/arch-tegra/gpio.h +++ b/arch/arm/include/asm/arch-tegra/gpio.h @@ -6,6 +6,8 @@ #ifndef _TEGRA_GPIO_H_ #define _TEGRA_GPIO_H_ +#define TEGRA_GPIOS_PER_PORT 8 +#define TEGRA_PORTS_PER_BANK 4 #define MAX_NUM_GPIOS (TEGRA_GPIO_PORTS * TEGRA_GPIO_BANKS * 8) #define GPIO_NAME_SIZE 20 /* gpio_request max label len */ @@ -25,9 +27,14 @@ struct tegra_gpio_config { u32 init:2; }; -/* - * Tegra-specific GPIO API +/** + * tegra_spl_gpio_direction_output() - set the output value of a GPIO + * + * This function is only used from SPL on seaboard, which needs to enable a + * GPIO to get the UART running. It could be done in U-Boot rather than SPL, + * but for now, this gets it working */ +int tegra_spl_gpio_direction_output(int gpio, int value); /** * Configure a list of GPIOs @@ -37,8 +44,4 @@ struct tegra_gpio_config { */ void gpio_config_table(const struct tegra_gpio_config *config, int len); -void gpio_info(void); - -#define gpio_status() gpio_info() - #endif /* TEGRA_GPIO_H_ */ diff --git a/board/nvidia/seaboard/seaboard.c b/board/nvidia/seaboard/seaboard.c index ce2db40..6a243f0 100644 --- a/board/nvidia/seaboard/seaboard.c +++ b/board/nvidia/seaboard/seaboard.c @@ -22,7 +22,7 @@ void gpio_early_init_uart(void) #ifndef CONFIG_SPL_BUILD gpio_request(GPIO_PI3, NULL); #endif - gpio_direction_output(GPIO_PI3, 0); + tegra_spl_gpio_direction_output(GPIO_PI3, 0); } #endif diff --git a/drivers/gpio/tegra_gpio.c b/drivers/gpio/tegra_gpio.c index fea9d17..98b4321 100644 --- a/drivers/gpio/tegra_gpio.c +++ b/drivers/gpio/tegra_gpio.c @@ -12,10 +12,17 @@ */ #include common.h +#include dm.h +#include malloc.h +#include errno.h +#include fdtdec.h #include asm/io.h #include asm/bitops.h #include asm/arch/tegra.h #include asm/gpio.h +#include dm/device-internal.h + +DECLARE_GLOBAL_DATA_PTR; enum { TEGRA_CMD_INFO, @@ -24,14 +31,18 @@ enum { TEGRA_CMD_INPUT, }; -static struct gpio_names { - char name[GPIO_NAME_SIZE]; -} gpio_names[MAX_NUM_GPIOS]; +struct tegra_gpio_platdata { + struct gpio_ctlr_bank *bank; + const char *port_name; /* Name of port, e.g. B */ + int base_port; /* Port number for this port (0, 1,.., n-1) */ +}; -static char *get_name(int i) -{ - return *gpio_names[i].name ? gpio_names[i].name : UNKNOWN; -} +/* Information about each port at run-time */ +struct tegra_port_info { + char label[TEGRA_GPIOS_PER_PORT][GPIO_NAME_SIZE]; + struct gpio_ctlr_bank *bank; + int base_port; /* Port number for this port (0, 1,.., n-1) */ +}; /* Return config of pin 'gpio' as GPIO (1) or SFPIO (0) */ static int get_config(unsigned gpio) @@ -121,38 +132,71 @@ static void set_level(unsigned gpio, int high) writel(u, bank-gpio_out[GPIO_PORT(gpio)]); } +static int check_reserved(struct udevice *dev, unsigned offset, + const char *func) +{ + struct tegra_port_info *state = dev_get_priv(dev); + struct gpio_dev_priv *uc_priv = dev-uclass_priv; + + if (!*state-label[offset]) { + printf(tegra_gpio: %s: error: gpio %s%d not reserved\n, + func, uc_priv-bank_name, offset); + return -EPERM; + } + + return 0; +} + +#ifdef CONFIG_SPL +/* set GPIO pin 'gpio' as an output, with polarity 'value' */ +int tegra_spl_gpio_direction_output(int gpio, int value) +{ + /* Configure GPIO output value. */ + set_level(gpio, value); + + /* Configure GPIO direction as output. */ + set_direction(gpio, value); + + return 0; +} +#endif /* CONFIG_SPL */ + /* * Generic_GPIO
[U-Boot] [PATCH v5 05/11] exynos: dts: Adjust device tree files for U-Boot
The pinctrl bindings used by Linux are an incomplete description of the hardware. It is possible in most cases to determine the register address of each, but not in all cases. By adding an additional property we can fix this, and avoid adding a table to U-Boot for every single Exynos SOC. Signed-off-by: Simon Glass s...@chromium.org --- Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None arch/arm/dts/exynos4210-pinctrl.dtsi | 1 + arch/arm/dts/exynos4210.dtsi | 6 ++ arch/arm/dts/exynos4x12-pinctrl.dtsi | 6 ++ arch/arm/dts/exynos4x12.dtsi | 8 arch/arm/dts/exynos5250-pinctrl.dtsi | 4 arch/arm/dts/exynos5250.dtsi | 10 +- arch/arm/dts/exynos5420-pinctrl.dtsi | 13 + arch/arm/dts/exynos5420.dtsi | 10 ++ arch/arm/dts/exynos54xx.dtsi | 10 ++ 9 files changed, 67 insertions(+), 1 deletion(-) diff --git a/arch/arm/dts/exynos4210-pinctrl.dtsi b/arch/arm/dts/exynos4210-pinctrl.dtsi index bda17f7..d98280f 100644 --- a/arch/arm/dts/exynos4210-pinctrl.dtsi +++ b/arch/arm/dts/exynos4210-pinctrl.dtsi @@ -220,6 +220,7 @@ }; gpy0: gpy0 { + reg = 0xc00; gpio-controller; #gpio-cells = 2; }; diff --git a/arch/arm/dts/exynos4210.dtsi b/arch/arm/dts/exynos4210.dtsi index 48ecd7a..f521a54 100644 --- a/arch/arm/dts/exynos4210.dtsi +++ b/arch/arm/dts/exynos4210.dtsi @@ -82,12 +82,16 @@ }; pinctrl_0: pinctrl@1140 { + #address-cells = 1; + #size-cells = 0; compatible = samsung,exynos4210-pinctrl; reg = 0x1140 0x1000; interrupts = 0 47 0; }; pinctrl_1: pinctrl@1100 { + #address-cells = 1; + #size-cells = 0; compatible = samsung,exynos4210-pinctrl; reg = 0x1100 0x1000; interrupts = 0 46 0; @@ -100,6 +104,8 @@ }; pinctrl_2: pinctrl@0386 { + #address-cells = 1; + #size-cells = 0; compatible = samsung,exynos4210-pinctrl; reg = 0x0386 0x1000; }; diff --git a/arch/arm/dts/exynos4x12-pinctrl.dtsi b/arch/arm/dts/exynos4x12-pinctrl.dtsi index 93f3998..3d1b0b2 100644 --- a/arch/arm/dts/exynos4x12-pinctrl.dtsi +++ b/arch/arm/dts/exynos4x12-pinctrl.dtsi @@ -71,6 +71,7 @@ }; gpf0: gpf0 { + reg = 0xc180; gpio-controller; #gpio-cells = 2; @@ -103,6 +104,7 @@ }; gpj0: gpj0 { + reg = 0x240; gpio-controller; #gpio-cells = 2; @@ -120,6 +122,7 @@ }; pinctrl@1100 { + reg = 0x40; gpk0: gpk0 { gpio-controller; #gpio-cells = 2; @@ -177,6 +180,7 @@ }; gpm0: gpm0 { + reg = 0x260; gpio-controller; #gpio-cells = 2; @@ -217,6 +221,7 @@ }; gpy0: gpy0 { + reg = 0x120; gpio-controller; #gpio-cells = 2; }; @@ -252,6 +257,7 @@ }; gpx0: gpx0 { + reg = 0xc00; gpio-controller; #gpio-cells = 2; diff --git a/arch/arm/dts/exynos4x12.dtsi b/arch/arm/dts/exynos4x12.dtsi index 5bc8f31..8d7a0c4 100644 --- a/arch/arm/dts/exynos4x12.dtsi +++ b/arch/arm/dts/exynos4x12.dtsi @@ -61,12 +61,16 @@ }; pinctrl_0: pinctrl@1140 { + #address-cells = 1; + #size-cells = 0; compatible = samsung,exynos4x12-pinctrl; reg = 0x1140 0x1000; interrupts = 0 47 0; }; pinctrl_1: pinctrl@1100 { + #address-cells = 1; + #size-cells = 0; compatible = samsung,exynos4x12-pinctrl; reg = 0x1100 0x1000; interrupts = 0 46 0; @@ -79,6 +83,8 @@ }; pinctrl_2: pinctrl@0386 { + #address-cells = 1; + #size-cells = 0; compatible = samsung,exynos4x12-pinctrl; reg = 0x0386 0x1000; interrupt-parent = combiner; @@ -86,6 +92,8 @@ }; pinctrl_3: pinctrl@106E { + #address-cells = 1; + #size-cells = 0; compatible = samsung,exynos4x12-pinctrl; reg = 0x106E 0x1000; interrupts = 0 72 0; diff --git a/arch/arm/dts/exynos5250-pinctrl.dtsi
[U-Boot] [PATCH v5 03/11] exynos: Bring in pinctrl dts files from Linux kernel
Bring in required device tree files for pinctrl from Linux v3.14. These are initially unchanged and have a number of pieces not needed by U-Boot. Note that exynos5420 is renamed to exynos54xx here since we want to support exynos5422 also. Signed-off-by: Simon Glass s...@chromium.org --- Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None arch/arm/dts/exynos4.dtsi | 7 + arch/arm/dts/exynos4210-origen.dts | 2 +- arch/arm/dts/exynos4210-pinctrl.dtsi | 847 + arch/arm/dts/exynos4210-trats.dts | 2 +- arch/arm/dts/exynos4210-universal_c210.dts | 2 +- arch/arm/dts/exynos4210.dtsi | 155 + arch/arm/dts/exynos4412-trats2.dts | 2 +- arch/arm/dts/exynos4412.dtsi | 38 ++ arch/arm/dts/exynos4x12-pinctrl.dtsi | 956 + arch/arm/dts/exynos4x12.dtsi | 214 +++ arch/arm/dts/exynos5.dtsi | 54 ++ arch/arm/dts/exynos5250-pinctrl.dtsi | 790 arch/arm/dts/exynos5250.dtsi | 40 +- arch/arm/dts/exynos5420-pinctrl.dtsi | 687 + arch/arm/dts/exynos5420.dtsi | 115 arch/arm/dts/exynos54xx.dtsi | 44 ++ 16 files changed, 3950 insertions(+), 5 deletions(-) create mode 100644 arch/arm/dts/exynos4210-pinctrl.dtsi create mode 100644 arch/arm/dts/exynos4210.dtsi create mode 100644 arch/arm/dts/exynos4412.dtsi create mode 100644 arch/arm/dts/exynos4x12-pinctrl.dtsi create mode 100644 arch/arm/dts/exynos4x12.dtsi create mode 100644 arch/arm/dts/exynos5250-pinctrl.dtsi create mode 100644 arch/arm/dts/exynos5420-pinctrl.dtsi create mode 100644 arch/arm/dts/exynos5420.dtsi diff --git a/arch/arm/dts/exynos4.dtsi b/arch/arm/dts/exynos4.dtsi index 6b83516..77fad48 100644 --- a/arch/arm/dts/exynos4.dtsi +++ b/arch/arm/dts/exynos4.dtsi @@ -10,6 +10,13 @@ #include skeleton.dtsi / { + combiner: interrupt-controller@1044 { + compatible = samsung,exynos4210-combiner; + #interrupt-cells = 2; + interrupt-controller; + reg = 0x1044 0x1000; + }; + serial@1380 { compatible = samsung,exynos4210-uart; reg = 0x1380 0x3c; diff --git a/arch/arm/dts/exynos4210-origen.dts b/arch/arm/dts/exynos4210-origen.dts index 556a3a2..dd2476c 100644 --- a/arch/arm/dts/exynos4210-origen.dts +++ b/arch/arm/dts/exynos4210-origen.dts @@ -9,7 +9,7 @@ /dts-v1/; #include skeleton.dtsi -#include exynos4.dtsi +#include exynos4210.dtsi / { model = Insignal Origen evaluation board based on Exynos4210; diff --git a/arch/arm/dts/exynos4210-pinctrl.dtsi b/arch/arm/dts/exynos4210-pinctrl.dtsi new file mode 100644 index 000..a7c2128 --- /dev/null +++ b/arch/arm/dts/exynos4210-pinctrl.dtsi @@ -0,0 +1,847 @@ +/* + * Samsung's Exynos4210 SoC pin-mux and pin-config device tree source + * + * Copyright (c) 2011-2012 Samsung Electronics Co., Ltd. + * http://www.samsung.com + * Copyright (c) 2011-2012 Linaro Ltd. + * www.linaro.org + * + * Samsung's Exynos4210 SoC pin-mux and pin-config optiosn are listed as device + * tree nodes are listed in this file. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +/ { + pinctrl@1140 { + gpa0: gpa0 { + gpio-controller; + #gpio-cells = 2; + + interrupt-controller; + #interrupt-cells = 2; + }; + + gpa1: gpa1 { + gpio-controller; + #gpio-cells = 2; + + interrupt-controller; + #interrupt-cells = 2; + }; + + gpb: gpb { + gpio-controller; + #gpio-cells = 2; + + interrupt-controller; + #interrupt-cells = 2; + }; + + gpc0: gpc0 { + gpio-controller; + #gpio-cells = 2; + + interrupt-controller; + #interrupt-cells = 2; + }; + + gpc1: gpc1 { + gpio-controller; + #gpio-cells = 2; + + interrupt-controller; + #interrupt-cells = 2; + }; + + gpd0: gpd0 { + gpio-controller; + #gpio-cells = 2; + + interrupt-controller; + #interrupt-cells = 2; + }; + + gpd1: gpd1 { + gpio-controller; +
[U-Boot] [PATCH v5 04/11] exynos: dts: Remove unused pinctrl information to save space
We don't include the pinctrl functions for U-Boot as they use up quite a bit of space and are not used. We could instead perhaps eliminate this material with fdtgrep, but so far this tool has not made it to upstream. Signed-off-by: Simon Glass s...@chromium.org --- Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None arch/arm/dts/exynos4210-pinctrl.dtsi | 543 --- arch/arm/dts/exynos4x12-pinctrl.dtsi | 612 --- arch/arm/dts/exynos4x12.dtsi | 100 -- arch/arm/dts/exynos5250-pinctrl.dtsi | 459 -- arch/arm/dts/exynos5420-pinctrl.dtsi | 384 -- 5 files changed, 2098 deletions(-) diff --git a/arch/arm/dts/exynos4210-pinctrl.dtsi b/arch/arm/dts/exynos4210-pinctrl.dtsi index a7c2128..bda17f7 100644 --- a/arch/arm/dts/exynos4210-pinctrl.dtsi +++ b/arch/arm/dts/exynos4210-pinctrl.dtsi @@ -144,281 +144,6 @@ #interrupt-cells = 2; }; - uart0_data: uart0-data { - samsung,pins = gpa0-0, gpa0-1; - samsung,pin-function = 0x2; - samsung,pin-pud = 0; - samsung,pin-drv = 0; - }; - - uart0_fctl: uart0-fctl { - samsung,pins = gpa0-2, gpa0-3; - samsung,pin-function = 2; - samsung,pin-pud = 0; - samsung,pin-drv = 0; - }; - - uart1_data: uart1-data { - samsung,pins = gpa0-4, gpa0-5; - samsung,pin-function = 2; - samsung,pin-pud = 0; - samsung,pin-drv = 0; - }; - - uart1_fctl: uart1-fctl { - samsung,pins = gpa0-6, gpa0-7; - samsung,pin-function = 2; - samsung,pin-pud = 0; - samsung,pin-drv = 0; - }; - - i2c2_bus: i2c2-bus { - samsung,pins = gpa0-6, gpa0-7; - samsung,pin-function = 3; - samsung,pin-pud = 3; - samsung,pin-drv = 0; - }; - - uart2_data: uart2-data { - samsung,pins = gpa1-0, gpa1-1; - samsung,pin-function = 2; - samsung,pin-pud = 0; - samsung,pin-drv = 0; - }; - - uart2_fctl: uart2-fctl { - samsung,pins = gpa1-2, gpa1-3; - samsung,pin-function = 2; - samsung,pin-pud = 0; - samsung,pin-drv = 0; - }; - - uart_audio_a: uart-audio-a { - samsung,pins = gpa1-0, gpa1-1; - samsung,pin-function = 4; - samsung,pin-pud = 0; - samsung,pin-drv = 0; - }; - - i2c3_bus: i2c3-bus { - samsung,pins = gpa1-2, gpa1-3; - samsung,pin-function = 3; - samsung,pin-pud = 3; - samsung,pin-drv = 0; - }; - - uart3_data: uart3-data { - samsung,pins = gpa1-4, gpa1-5; - samsung,pin-function = 2; - samsung,pin-pud = 0; - samsung,pin-drv = 0; - }; - - uart_audio_b: uart-audio-b { - samsung,pins = gpa1-4, gpa1-5; - samsung,pin-function = 4; - samsung,pin-pud = 0; - samsung,pin-drv = 0; - }; - - spi0_bus: spi0-bus { - samsung,pins = gpb-0, gpb-2, gpb-3; - samsung,pin-function = 2; - samsung,pin-pud = 3; - samsung,pin-drv = 0; - }; - - i2c4_bus: i2c4-bus { - samsung,pins = gpb-2, gpb-3; - samsung,pin-function = 3; - samsung,pin-pud = 3; - samsung,pin-drv = 0; - }; - - spi1_bus: spi1-bus { - samsung,pins = gpb-4, gpb-6, gpb-7; - samsung,pin-function = 2; - samsung,pin-pud = 3; - samsung,pin-drv = 0; - }; - - i2c5_bus: i2c5-bus { - samsung,pins = gpb-6, gpb-7; - samsung,pin-function = 3; - samsung,pin-pud = 3; - samsung,pin-drv = 0; - }; - - i2s1_bus: i2s1-bus { - samsung,pins = gpc0-0, gpc0-1, gpc0-2, gpc0-3, -
[U-Boot] [PATCH v5 02/11] exynos: dts: Convert /include/ to #include
We should be consistent about this. The kernel has moved to #include which breaks error reporting to some extent but does allow us to include binding files. Signed-off-by: Simon Glass s...@chromium.org --- Changes in v5: - Put this patch before the others to avoid breaking bisectability Changes in v4: None Changes in v3: None Changes in v2: None arch/arm/dts/exynos4.dtsi | 2 +- arch/arm/dts/exynos4210-origen.dts | 4 ++-- arch/arm/dts/exynos4210-smdkv310.dts | 2 +- arch/arm/dts/exynos4210-trats.dts | 2 +- arch/arm/dts/exynos4210-universal_c210.dts | 2 +- arch/arm/dts/exynos4412-trats2.dts | 2 +- arch/arm/dts/exynos5.dtsi | 2 +- arch/arm/dts/exynos5250-smdk5250.dts | 2 +- arch/arm/dts/exynos5250-snow.dts | 2 +- arch/arm/dts/exynos5250.dtsi | 2 +- arch/arm/dts/exynos5420-peach-pit.dts | 2 +- arch/arm/dts/exynos5420-smdk5420.dts | 2 +- arch/arm/dts/exynos54xx.dtsi | 2 +- arch/arm/dts/s5pc1xx-goni.dts | 2 +- arch/arm/dts/s5pc1xx-smdkc100.dts | 2 +- 15 files changed, 16 insertions(+), 16 deletions(-) diff --git a/arch/arm/dts/exynos4.dtsi b/arch/arm/dts/exynos4.dtsi index 110eb43..6b83516 100644 --- a/arch/arm/dts/exynos4.dtsi +++ b/arch/arm/dts/exynos4.dtsi @@ -7,7 +7,7 @@ * SPDX-License-Identifier:GPL-2.0+ */ -/include/ skeleton.dtsi +#include skeleton.dtsi / { serial@1380 { diff --git a/arch/arm/dts/exynos4210-origen.dts b/arch/arm/dts/exynos4210-origen.dts index 15059d2..556a3a2 100644 --- a/arch/arm/dts/exynos4210-origen.dts +++ b/arch/arm/dts/exynos4210-origen.dts @@ -8,8 +8,8 @@ */ /dts-v1/; -/include/ skeleton.dtsi -/include/ exynos4.dtsi +#include skeleton.dtsi +#include exynos4.dtsi / { model = Insignal Origen evaluation board based on Exynos4210; diff --git a/arch/arm/dts/exynos4210-smdkv310.dts b/arch/arm/dts/exynos4210-smdkv310.dts index c390c8f..00cad04 100644 --- a/arch/arm/dts/exynos4210-smdkv310.dts +++ b/arch/arm/dts/exynos4210-smdkv310.dts @@ -7,7 +7,7 @@ */ /dts-v1/; -/include/ exynos4.dtsi +#include exynos4.dtsi / { model = Samsung SMDKV310 on Exynos4210; diff --git a/arch/arm/dts/exynos4210-trats.dts b/arch/arm/dts/exynos4210-trats.dts index 0ff6939..71202d0 100644 --- a/arch/arm/dts/exynos4210-trats.dts +++ b/arch/arm/dts/exynos4210-trats.dts @@ -8,7 +8,7 @@ */ /dts-v1/; -/include/ exynos4.dtsi +#include exynos4.dtsi / { model = Samsung Trats based on Exynos4210; diff --git a/arch/arm/dts/exynos4210-universal_c210.dts b/arch/arm/dts/exynos4210-universal_c210.dts index 6941906..d30f131 100644 --- a/arch/arm/dts/exynos4210-universal_c210.dts +++ b/arch/arm/dts/exynos4210-universal_c210.dts @@ -8,7 +8,7 @@ */ /dts-v1/; -/include/ exynos4.dtsi +#include exynos4.dtsi / { model = Samsung Universal C210 based on Exynos4210 rev0; diff --git a/arch/arm/dts/exynos4412-trats2.dts b/arch/arm/dts/exynos4412-trats2.dts index cc58c87..9d22de7 100644 --- a/arch/arm/dts/exynos4412-trats2.dts +++ b/arch/arm/dts/exynos4412-trats2.dts @@ -8,7 +8,7 @@ */ /dts-v1/; -/include/ exynos4.dtsi +#include exynos4.dtsi / { model = Samsung Trats2 based on Exynos4412; diff --git a/arch/arm/dts/exynos5.dtsi b/arch/arm/dts/exynos5.dtsi index a2b533a..329a89a 100644 --- a/arch/arm/dts/exynos5.dtsi +++ b/arch/arm/dts/exynos5.dtsi @@ -5,7 +5,7 @@ * SPDX-License-Identifier:GPL-2.0+ */ -/include/ skeleton.dtsi +#include skeleton.dtsi / { compatible = samsung,exynos5; diff --git a/arch/arm/dts/exynos5250-smdk5250.dts b/arch/arm/dts/exynos5250-smdk5250.dts index 9020382..8850409 100644 --- a/arch/arm/dts/exynos5250-smdk5250.dts +++ b/arch/arm/dts/exynos5250-smdk5250.dts @@ -10,7 +10,7 @@ */ /dts-v1/; -/include/ exynos5250.dtsi +#include exynos5250.dtsi / { model = SAMSUNG SMDK5250 board based on EXYNOS5250; diff --git a/arch/arm/dts/exynos5250-snow.dts b/arch/arm/dts/exynos5250-snow.dts index ab4f2f8..2003412 100644 --- a/arch/arm/dts/exynos5250-snow.dts +++ b/arch/arm/dts/exynos5250-snow.dts @@ -10,7 +10,7 @@ */ /dts-v1/; -/include/ exynos5250.dtsi +#include exynos5250.dtsi / { model = Google Snow; diff --git a/arch/arm/dts/exynos5250.dtsi b/arch/arm/dts/exynos5250.dtsi index 0c644e7..771f8d3 100644 --- a/arch/arm/dts/exynos5250.dtsi +++ b/arch/arm/dts/exynos5250.dtsi @@ -5,7 +5,7 @@ * SPDX-License-Identifier:GPL-2.0+ */ -/include/ exynos5.dtsi +#include exynos5.dtsi / { i2c@12ca { diff --git a/arch/arm/dts/exynos5420-peach-pit.dts b/arch/arm/dts/exynos5420-peach-pit.dts index 995e62b..c4c4b8e 100644 --- a/arch/arm/dts/exynos5420-peach-pit.dts +++ b/arch/arm/dts/exynos5420-peach-pit.dts @@ -8,7 +8,7 @@ */ /dts-v1/; -/include/ exynos54xx.dtsi +#include exynos54xx.dtsi / { model = Samsung/Google Peach Pit board based on Exynos5420; diff --git
Re: [U-Boot] [PATCH v7 0/15] Kconfig for U-Boot
On Tue, Jul 29, 2014 at 07:34:17PM +0900, Masahiro Yamada wrote: This series introduces Kconfig. Besides Linux Kernel, Kconfig is used in some projects, such as, BusyBox, Buildroot. But our situation is a little more complicated. For one board, we need to generate 3 images at most: Normal image, SPL and TPL. Each image needs its own configuration input. So, I've pushed all of the pre-reqs. I think I could even run the re-generate scripts myself, but, would you mind doing that and posting a to-apply V8 (so drop the do not apply parts of v7)? And I've done some testing and we seem to be in decent shape. The biggest problem I've found is that the OE-generated toolchains ship with a too minimal version of python. So if you, as they intend, source /.../eldk-5.4/armv7a/environment-setup-armv7a-vfp-neon-linux-gnueabi then the build goes to hell. Just adding /.../sysroots/.../usr/bin/armv7.../ to PATH instead (so you only pick up the toolchain) and everything is fine. So I think we're OK. -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v7 1/1] ARM: kirkwood: add mvsdio driver
On 29.07.2014 18:39, drEagle wrote: On 26/07/2014 13:54, Stefan Roese wrote: On 25.07.2014 21:07, Gerald Kerma wrote: This patch add Marvell kirkwood MVSDIO/MMC driver and enable it for Sheevaplugs and OpenRD boards. Signed-off-by: Gerald Kerma drea...@doukki.net Looks good now, so: Reviewed-by: Stefan Roese s...@denx.de Thank for you review. Is there any action I have to do now ? No. Just a bit of patience. If nobody else has some objections or other review comments your patch will be picked up by the subsystem custodian (Panto). Thanks, Stefan ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v7 1/1] ARM: kirkwood: add mvsdio driver
Hi Stefan, On Jul 29, 2014, at 9:21 PM, Stefan Roese wrote: On 29.07.2014 18:39, drEagle wrote: On 26/07/2014 13:54, Stefan Roese wrote: On 25.07.2014 21:07, Gerald Kerma wrote: This patch add Marvell kirkwood MVSDIO/MMC driver and enable it for Sheevaplugs and OpenRD boards. Signed-off-by: Gerald Kerma drea...@doukki.net Looks good now, so: Reviewed-by: Stefan Roese s...@denx.de Thank for you review. Is there any action I have to do now ? No. Just a bit of patience. If nobody else has some objections or other review comments your patch will be picked up by the subsystem custodian (Panto). New mmc pull req coming up at the end of this week. Thanks, Stefan Regards -- Pantelis ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] sun7i: Add bananapi board
Hello Hans, i tried to test your patch, but unfortunately i cannot apply it to a freshly cloned u-boot: Applying: sun7i: Add bananapi board error: patch failed: board/sunxi/Makefile:19 error: board/sunxi/Makefile: patch does not apply error: patch failed: boards.cfg:386 error: boards.cfg: patch does not apply Patch failed at 0001 sun7i: Add bananapi board The copy of the patch that failed is found in: /home/petermaierh/work/u-boot/.git/rebase-apply/patch When you have resolved this problem, run git am --resolved. If you prefer to skip this patch, run git am --skip instead. To restore the original branch and stop patching, run git am --abort. any ideas ? best regards, hannes On 2014-07-29 18:57, Hans de Goede wrote: The Banana Pi is an A20 based development board using Raspberry Pi compatible IO headers. It comes with 1 GB RAM, 1 Gb ethernet, 2x USB host, sata, hdmi and stereo audio out + various expenansion headers: http://www.bananapi.org/ Signed-off-by: Hans de Goede hdego...@redhat.com --- board/sunxi/Makefile| 1 + board/sunxi/dram_bananapi.c | 31 +++ boards.cfg | 1 + 3 files changed, 33 insertions(+) create mode 100644 board/sunxi/dram_bananapi.c diff --git a/board/sunxi/Makefile b/board/sunxi/Makefile index 3fc7513..cf001e7 100644 --- a/board/sunxi/Makefile +++ b/board/sunxi/Makefile @@ -19,6 +19,7 @@ obj-$(CONFIG_A20_OLINUXINO_M) += dram_sun7i_384_1024_iow16.o # This is not a typo, uses the same mem settings as the a10s-olinuxino-m obj-$(CONFIG_AUXTEK_T004) += dram_a10s_olinuxino_m.o obj-$(CONFIG_BA10_TV_BOX) += dram_sun4i_384_1024_iow8.o +obj-$(CONFIG_BANANAPI) += dram_bananapi.o obj-$(CONFIG_CUBIEBOARD) += dram_cubieboard.o obj-$(CONFIG_CUBIEBOARD2) += dram_cubieboard2.o obj-$(CONFIG_CUBIETRUCK) += dram_cubietruck.o diff --git a/board/sunxi/dram_bananapi.c b/board/sunxi/dram_bananapi.c new file mode 100644 index 000..0ed7943 --- /dev/null +++ b/board/sunxi/dram_bananapi.c @@ -0,0 +1,31 @@ +/* this file is generated, don't edit it yourself */ + +#include common.h +#include asm/arch/dram.h + +static struct dram_para dram_para = { + .clock = 432, + .type = 3, + .rank_num = 1, + .density = 4096, + .io_width = 16, + .bus_width = 32, + .cas = 9, + .zq = 0x7f, + .odt_en = 0, + .size = 1024, + .tpr0 = 0x42d899b7, + .tpr1 = 0xa090, + .tpr2 = 0x22a00, + .tpr3 = 0x0, + .tpr4 = 0x1, + .tpr5 = 0x0, + .emr1 = 0x4, + .emr2 = 0x10, + .emr3 = 0x0, +}; + +unsigned long sunxi_dram_init(void) +{ + return dramc_init(dram_para); +} diff --git a/boards.cfg b/boards.cfg index a9b6106..eeba90a 100644 --- a/boards.cfg +++ b/boards.cfg @@ -386,6 +386,7 @@ Active arm armv7 sunxi - sunxi Active arm armv7 sunxi - sunxi A20-OLinuXino_MICRO sun7i:A20_OLINUXINO_M,SPL,AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI Hans de Goede hdego...@redhat.com Active arm armv7 sunxi - sunxi Auxtek-T004 sun5i:AUXTEK_T004,SPL,AXP152_POWER,USB_EHCI,SUNXI_USB_VBUS0_GPIO=SUNXI_GPG(13) Hans de Goede hdego...@redhat.com Active arm armv7 sunxi - sunxi ba10_tv_box sun4i:BA10_TV_BOX,SPL,AXP209_POWER,SUNXI_EMAC,USB_EHCI,SUNXI_USB_VBUS1_GPIO=SUNXI_GPH(12) Hans de Goede hdego...@redhat.com +Active arm armv7 sunxi - sunxi Bananapi sun7i:BANANAPI,SPL,AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI Hans de Goede hdego...@redhat.com Active arm armv7 sunxi - sunxi Cubieboard sun4i:CUBIEBOARD,SPL,AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI Hans de Goede hdego...@redhat.com Active arm armv7 sunxi - sunxi Cubieboard2 sun7i:CUBIEBOARD2,SPL,AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI Ian Campbell i...@hellion.org.uk:Hans de Goede hdego...@redhat.com Active arm armv7 sunxi - sunxi Cubieboard2_FEL sun7i:CUBIEBOARD2,SPL_FEL,AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI Ian Campbell i...@hellion.org.uk:Hans de Goede hdego...@redhat.com
Re: [U-Boot] [PATCH] sun7i: Add bananapi board
On Tue, 2014-07-29 at 20:57 +0200, Hannes Petermaier wrote: Hello Hans, i tried to test your patch, but unfortunately i cannot apply it to a freshly cloned u-boot: It applies to the current u-boot-arm.git#master plus the set of changes currently in u-boot-sunxi.git#master. In fact I would expect it to show up in the latter pretty soon. Ian. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] sun7i: Add bananapi board
Many thanks, now the patch applies and i can compile u-boot. maybe tomorrow i get the ordered board from pollin.de and can test this. best regards, hannes On 2014-07-29 21:00, Ian Campbell wrote: On Tue, 2014-07-29 at 20:57 +0200, Hannes Petermaier wrote: Hello Hans, i tried to test your patch, but unfortunately i cannot apply it to a get freshly cloned u-boot: It applies to the current u-boot-arm.git#master plus the set of changes currently in u-boot-sunxi.git#master. In fact I would expect it to show up in the latter pretty soon. Ian. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [RFC] Makefile: Add a message warning size change for mpc85xx boards
Some mpc85xx boards are using 768KB size u-boot image while some legacy boards still use 512KB. To bring attention to users about the size change, a message is printed when compiling. SPL/PBL is not covered by this change. Signed-off-by: York Sun york...@freescale.com CC: Kim Phillips kim.phill...@freescale.com --- Makefile | 12 1 file changed, 12 insertions(+) diff --git a/Makefile b/Makefile index ca212b5..5c823dc 100644 --- a/Makefile +++ b/Makefile @@ -691,8 +691,20 @@ BOARD_SIZE_CHECK = \ exit 1; \ fi else +ifdef CONFIG_MPC85xx +BOARD_SIZE_CHECK = \ + @actual=`wc -c $@ | awk '{print $$1}'`; \ + limit=524288; \ + if test $$actual -gt $$limit; then \ + echo Attention: File size $$actual bytes, may be different from legacy images 2; \ + offset=`printf %x $$actual`; \ + echoNOR flash address for u-boot.bin: 0x$$offset from end of boot bank 2; \ + echoSee board README; \ + fi +else BOARD_SIZE_CHECK = endif +endif # Statically apply RELA-style relocations (currently arm64 only) ifneq ($(CONFIG_STATIC_RELA),) -- 1.7.9.5 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v7 06/15] kconfig: switch to Kconfig
Hello Masahiro / Tom, On 29-07-14 12:34, Masahiro Yamada wrote: This commit enables Kconfig. Going forward, we use Kconfig for the board configuration. mkconfig will never be used. Nor will include/config.mk be generated. Kconfig must be adjusted for U-Boot because our situation is a little more complicated than Linux Kernel. We have to generate multiple boot images (Normal, SPL, TPL) from one source tree. Each image needs its own configuration input. snip +# We want to include arch/$(ARCH)/config.mk only when include/config/auto.conf +# is up-to-date. When we switch to a different board configuration, old CONFIG +# macros are still remaining in include/config/auto.conf. Without the following +# gimmick, wrong config.mk would be included leading nasty warnings/errors. +autoconf_is_current := $(if $(wildcard $(KCONFIG_CONFIG)),$(shell find \ + -path ./include/config/auto.conf -newer $(KCONFIG_CONFIG))) fyi, this patchset seems to work remarkably well on FreeBSD, except above line. FreeBSD find requires a directory (dot in this case) as first argument. I will send a patch for it after this got merged, not to hold this. Just a heads up, since it is likely slightly after the merge window. Regards, Jeroen ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v7 06/15] kconfig: switch to Kconfig
Hello Masahiro, On 29-07-14 23:48, Jeroen Hofstee wrote: Hello Masahiro / Tom, On 29-07-14 12:34, Masahiro Yamada wrote: This commit enables Kconfig. Going forward, we use Kconfig for the board configuration. mkconfig will never be used. Nor will include/config.mk be generated. Kconfig must be adjusted for U-Boot because our situation is a little more complicated than Linux Kernel. We have to generate multiple boot images (Normal, SPL, TPL) from one source tree. Each image needs its own configuration input. snip +# We want to include arch/$(ARCH)/config.mk only when include/config/auto.conf +# is up-to-date. When we switch to a different board configuration, old CONFIG +# macros are still remaining in include/config/auto.conf. Without the following +# gimmick, wrong config.mk would be included leading nasty warnings/errors. +autoconf_is_current := $(if $(wildcard $(KCONFIG_CONFIG)),$(shell find \ +-path ./include/config/auto.conf -newer $(KCONFIG_CONFIG))) fyi, this patchset seems to work remarkably well on FreeBSD, except above line. FreeBSD find requires a directory (dot in this case) as first argument. I will send a patch for it after this got merged, not to hold this. Just a heads up, since it is likely slightly after the merge window. I just saw that Tom asked for a v8. If you do so, can you include this? Thanks, Jeroen ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [RFC] Makefile: Add a message warning size change for mpc85xx boards
This is an RFC. Do NOT apply. It outputs the message, tricks MAKEALL to count it as warning. York On 07/29/2014 02:23 PM, York Sun wrote: Some mpc85xx boards are using 768KB size u-boot image while some legacy boards still use 512KB. To bring attention to users about the size change, a message is printed when compiling. SPL/PBL is not covered by this change. Signed-off-by: York Sun york...@freescale.com CC: Kim Phillips kim.phill...@freescale.com --- Makefile | 12 1 file changed, 12 insertions(+) diff --git a/Makefile b/Makefile index ca212b5..5c823dc 100644 --- a/Makefile +++ b/Makefile @@ -691,8 +691,20 @@ BOARD_SIZE_CHECK = \ exit 1; \ fi else +ifdef CONFIG_MPC85xx +BOARD_SIZE_CHECK = \ + @actual=`wc -c $@ | awk '{print $$1}'`; \ + limit=524288; \ + if test $$actual -gt $$limit; then \ + echo Attention: File size $$actual bytes, may be different from legacy images 2; \ + offset=`printf %x $$actual`; \ + echoNOR flash address for u-boot.bin: 0x$$offset from end of boot bank 2; \ + echoSee board README; \ + fi +else BOARD_SIZE_CHECK = endif +endif # Statically apply RELA-style relocations (currently arm64 only) ifneq ($(CONFIG_STATIC_RELA),) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v1 22/25] tools/kwboot: Sync with latest barebox version to support Armada XP
Hi Stefan, On Mon, Jul 28, 2014 at 08:47:13AM +0200, Stefan Roese wrote: Sorry for the late reply to this comment. On 04.07.2014 00:02, Luka Perkov wrote: On Fri, Jun 27, 2014 at 11:55:08AM +0200, Stefan Roese wrote: The barebox version of the kwboot tool has evolved a bit. To support Armada XP and Dove. Additionally a few minor fixes have been applied. So lets sync with the latest barebox version. Please note that the main difference between both versions now is, that the U-Boot version still supports the -p option, to dynamically patch an image for UART boot mode. I didn't test it now though. Signed-off-by: Stefan Roese s...@denx.de --- tools/kwboot.c | 97 +- 1 file changed, 83 insertions(+), 14 deletions(-) ... -#define KWBOOT_MSG_REQ_DELAY 10 /* ms */ -#define KWBOOT_MSG_RSP_TIMEO 50 /* ms */ +static unsigned char kwboot_msg_debug[] = { + 0xDD, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77 +}; + +#define KWBOOT_MSG_REQ_DELAY 1000 /* ms */ +#define KWBOOT_MSG_RSP_TIMEO 1000 /* ms */ This causes problems on kirkwood. The old values should be kept, apply the patch below to this one. After that chage feel free to add Tested-by line. Tested-by: Luka Perkov l...@openwrt.org Now only to figure out why 21/25 breaks things on kirkwood. Luka diff --git a/tools/kwboot.c b/tools/kwboot.c index c47970e..ccc9d90 100644 --- a/tools/kwboot.c +++ b/tools/kwboot.c @@ -42,8 +42,8 @@ static unsigned char kwboot_msg_debug[] = { 0xDD, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77 }; -#define KWBOOT_MSG_REQ_DELAY1000 /* ms */ -#define KWBOOT_MSG_RSP_TIMEO1000 /* ms */ +#define KWBOOT_MSG_REQ_DELAY10 /* ms */ +#define KWBOOT_MSG_RSP_TIMEO50 /* ms */ Unfortunately these settings do not work with Armada XP. I tested a bit and it seems that e.g. this setting works on Armada XP: #define KWBOOT_MSG_REQ_DELAY 10 /* ms */ #define KWBOOT_MSG_RSP_TIMEO 1000 /* ms */ Could you please check this on your Kirkwood platform? And perhaps find a configuration that works for the SoC's? That would be great! I just tried this and it does not work on kirkwood. I've stumbled upon this thread though, it might be useful: http://lists.infradead.org/pipermail/barebox/2014-June/019618.html Can we just add a flag to kwboot which will use appropriate values for kirkwood and armada? We can keep kirkwood by default, that way we won't break anything. Luka ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/3] mtd, nand: move common functions from cmd_nand.c to common place
On Mon, 2014-07-14 at 09:39 +0200, Heiko Schocher wrote: move common functions from cmd_nand.c (for calculating offset and size from cmdline paramter) to common place, so they could used from other commands which use mtd partitions. For onenand the arg_off_size() is left in common/cmd_onenand.c. It should use now the common arg_off() function, but as I could not test onenand I let it there ... Signed-off-by: Heiko Schocher h...@denx.de Cc: Scott Wood scottw...@freescale.com Cc: Tom Rini tr...@ti.com --- common/cmd_nand.c | 140 +--- common/cmd_onenand.c| 19 +++ drivers/mtd/Makefile| 4 +- drivers/mtd/mtd_uboot.c | 114 +++ include/linux/mtd/mtd.h | 7 +++ 5 files changed, 154 insertions(+), 130 deletions(-) create mode 100644 drivers/mtd/mtd_uboot.c ACK the concept, some nits below. Have you given any more thought to formally taking over the custodianship? If not, Tom, are you expecting another pull request from me or were you going to apply Heiko's patches directly? @@ -322,7 +213,12 @@ int do_nand_env_oob(cmd_tbl_t *cmdtp, int argc, char *const argv[]) goto usage; /* We don't care about size, or maxsize. */ - if (arg_off(argv[2], idx, addr, maxsize, maxsize)) { + if (arg_off(argv[2], idx, addr, maxsize, maxsize, + MTD_DEV_TYPE_NAND, nand_info[idx].size)) { + puts(Offset or partition name expected\n); + return 1; + } MTD_DEV_TYPE_NAND should be aligned with argv[2] (if you're going to do alignment rather than just a couple tabs), not arg_off. Likewise elsewhere. diff --git a/drivers/mtd/mtd_uboot.c b/drivers/mtd/mtd_uboot.c new file mode 100644 index 000..66e49c3 --- /dev/null +++ b/drivers/mtd/mtd_uboot.c @@ -0,0 +1,114 @@ +/* + * (C) Copyright 2014 + * Heiko Schocher, DENX Software Engineering, h...@denx.de. + * + * SPDX-License-Identifier: GPL-2.0+ + */ +#include common.h +#include linux/mtd/mtd.h +#include jffs2/jffs2.h What do you use from the jffs2 header? +inline int str2off(const char *p, loff_t *num) +{ + char *endptr; + + *num = simple_strtoull(p, endptr, 16); + return *p != '\0' *endptr == '\0'; +} + +inline int str2long(const char *p, ulong *num) +{ + char *endptr; + + *num = simple_strtoul(p, endptr, 16); + return *p != '\0' *endptr == '\0'; +} Should drop the inline -- it didn't make much sense in the old location as it wasn't in a header file (GCC can auto-inline where appropriate), and it makes even less sense if it's not static. -Scott ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] DM, Kconfig and clang changes
Hi Albert, On Tue, 29 Jul 2014 14:03:50 +0200 Albert ARIBAUD albert.u.b...@aribaud.net wrote: Hi Masahiro, On Tue, 29 Jul 2014 20:10:23 +0900, Masahiro Yamada yamad...@jp.panasonic.com wrote: Hi Tom, (and Albert for [3]) [3] u-boot-arm is currently out of sync (This item is rather addressed to Albert) I notice some new boards (rmobile, sunxi) stacked on the u-boot-arm. Because my Kconfig series is based on u-boot/master, those boards are not taken into account. If Albert sends a pull request hopefully, I am pleased to update the Kconfig series. You mean a PR from u-boot-arm/master to u-boot/master, right? If so, one is coming up today. Yes. I confirmed u-boot-arm is in sync now. Thanks! Best Regards Masahiro Yamada ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v5 09/15] tools: add genboardscfg.py
Hi Simon, On Mon, 28 Jul 2014 04:14:17 +0100 Simon Glass s...@chromium.org wrote: Hi Masahiro, On 27 July 2014 10:05, Masahiro Yamada yamad...@jp.panasonic.com wrote: Hi Simon, On Sat, 26 Jul 2014 01:17:02 +0100 Simon Glass s...@chromium.org wrote: + +import sys +import os +import errno +import shutil +import time +import subprocess +import fnmatch +import glob +import re +import optparse You can sort the imports. Sorted alphabetially in v6. Pardon my ignorance, but is there any coding style guide about sorting imports? Not really. I have been following PEP8 (which I don't think mentions this), but in general in U-Boot we try to sort include files. I checked PEP8. PEP8 says as follow in terms of imports: ---8-- Imports should be grouped in the following order: 1. standard library imports 2. related third party imports 3. local application/library specific imports ---8--- But the order in each group is not mentioned. Best Regards Masahiro Yamada ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v7 06/15] kconfig: switch to Kconfig
Hi Jeroen, On Tue, 29 Jul 2014 23:55:35 +0200 Jeroen Hofstee dasub...@myspectrum.nl wrote: Hello Masahiro, On 29-07-14 23:48, Jeroen Hofstee wrote: Hello Masahiro / Tom, On 29-07-14 12:34, Masahiro Yamada wrote: This commit enables Kconfig. Going forward, we use Kconfig for the board configuration. mkconfig will never be used. Nor will include/config.mk be generated. Kconfig must be adjusted for U-Boot because our situation is a little more complicated than Linux Kernel. We have to generate multiple boot images (Normal, SPL, TPL) from one source tree. Each image needs its own configuration input. snip +# We want to include arch/$(ARCH)/config.mk only when include/config/auto.conf +# is up-to-date. When we switch to a different board configuration, old CONFIG +# macros are still remaining in include/config/auto.conf. Without the following +# gimmick, wrong config.mk would be included leading nasty warnings/errors. +autoconf_is_current := $(if $(wildcard $(KCONFIG_CONFIG)),$(shell find \ +-path ./include/config/auto.conf -newer $(KCONFIG_CONFIG))) fyi, this patchset seems to work remarkably well on FreeBSD, except above line. FreeBSD find requires a directory (dot in this case) as first argument. I will send a patch for it after this got merged, not to hold this. Just a heads up, since it is likely slightly after the merge window. I just saw that Tom asked for a v8. If you do so, can you include this? Yes, I will. Thanks for reporting it! Best Regards Masahiro Yamada ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [RFC] Makefile: Add a message warning size change for mpc85xx boards
Dear York Sun, In message 1406669019-31651-1-git-send-email-york...@freescale.com you wrote: Some mpc85xx boards are using 768KB size u-boot image while some legacy boards still use 512KB. To bring attention to users about the size change, a message is printed when compiling. SPL/PBL is not covered by this change. This makes no sense to me. Where are these magic image sizes coming from? This is highly board specific stuff at best, probably valid for some Freescale boards only. I think if this is useful at all (which I actually doubt) this should be moved to board specific code, or if you really think it fits, then maybe made Freescale vendor specific. But please keep such stuff out of the global Makefile. Thanks. 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: w...@denx.de If you want to eat hippopatomus, you've got to pay the freight. - attributed to an IBM guy, about why IBM software uses so much memory ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v8 03/13] kconfig: add basic Kconfig files
This commit adds more Kconfig files, which were written by hand. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Acked-by: Simon Glass s...@chromium.org --- Changes in v8: None Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: - Abolish CONFIG_SUBIMAGES - Add CONFIG_DEFCONFIG_LIST Changes in v3: - Add CONFIG_SUBIMAGES for generic sub-image framework. - Move CONFIG_SYS_EXTRA_OPTIONS to the top Kconfig. - Add more help messages to each config. Changes in v2: - Do not include board/Kconfig - Drop CONFIG_BUILD_MODE Kconfig | 65 +++ arch/Kconfig | 66 2 files changed, 131 insertions(+) create mode 100644 Kconfig create mode 100644 arch/Kconfig diff --git a/Kconfig b/Kconfig new file mode 100644 index 000..9e77a6e --- /dev/null +++ b/Kconfig @@ -0,0 +1,65 @@ +# +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/kconfig-language.txt. +# +mainmenu U-Boot $UBOOTVERSION Configuration + +config UBOOTVERSION + string + option env=UBOOTVERSION + +config KCONFIG_OBJDIR + string + option env=KCONFIG_OBJDIR + +config DEFCONFIG_LIST + string + depends on !SPL_BUILD + option defconfig_list + default configs/sandbox_defconfig + +menu General setup + +config SPL_BUILD + bool + depends on $KCONFIG_OBJDIR=spl || $KCONFIG_OBJDIR=tpl + default y + +config TPL_BUILD + bool + depends on $KCONFIG_OBJDIR=tpl + default y + +config SPL + bool + prompt Enable SPL if !SPL_BUILD + default y if SPL_BUILD + help + If you want to build SPL as well as the normal image, say Y. + +config TPL + bool + depends on SPL + prompt Enable TPL if !SPL_BUILD + default y if TPL_BUILD + default n + help + If you want to build TPL as well as the normal image and SPL, say Y. + +config SYS_EXTRA_OPTIONS + string Extra Options (DEPRECATED) + depends on !SPL_BUILD + help + The old configuration infrastructure (= mkconfig + boards.cfg) + provided the extra options field. It you have something like + HAS_BAR,BAZ=64, the optional options + #define CONFIG_HAS + #define CONFIG_BAZ 64 + will be defined in include/config.h. + This option was prepared for the smooth migration from the old + configuration to Kconfig. Since this option will be removed sometime, + new boards should not use this option. + +endmenu# General setup + +source arch/Kconfig diff --git a/arch/Kconfig b/arch/Kconfig new file mode 100644 index 000..8620a4f --- /dev/null +++ b/arch/Kconfig @@ -0,0 +1,66 @@ +choice + prompt Architecture select + default SANDBOX + +config ARC + bool ARC architecture + +config ARM + bool ARM architecture + +config AVR32 + bool AVR32 architecture + +config BLACKFIN + bool Blackfin architecture + +config M68K + bool M68000 architecture + +config MICROBLAZE + bool MicroBlaze architecture + +config MIPS + bool MIPS architecture + +config NDS32 + bool NDS32 architecture + +config NIOS2 + bool Nios II architecture + +config OPENRISC + bool OpenRISC architecture + +config PPC + bool PowerPC architecture + +config SANDBOX + bool Sandbox + +config SH + bool SuperH architecture + +config SPARC + bool SPARC architecture + +config X86 + bool x86 architecture + +endchoice + +source arch/arc/Kconfig +source arch/arm/Kconfig +source arch/avr32/Kconfig +source arch/blackfin/Kconfig +source arch/m68k/Kconfig +source arch/microblaze/Kconfig +source arch/mips/Kconfig +source arch/nds32/Kconfig +source arch/nios2/Kconfig +source arch/openrisc/Kconfig +source arch/powerpc/Kconfig +source arch/sandbox/Kconfig +source arch/sh/Kconfig +source arch/sparc/Kconfig +source arch/x86/Kconfig -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v8 11/13] kconfig: delete redundant CONFIG_${ARCH} definition
CONFIG_${ARCH} is defined by Kconfig. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Reviewed-by: Simon Glass s...@chromium.org --- Changes in v8: None Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: - Rebase on the current u-boot/master Changes in v3: None Changes in v2: None arch/arc/config.mk | 2 +- arch/arm/config.mk | 2 +- arch/avr32/config.mk | 1 - arch/blackfin/config.mk | 1 - arch/m68k/config.mk | 2 +- arch/mips/config.mk | 2 +- arch/nds32/config.mk | 2 +- arch/nios2/config.mk | 2 +- arch/openrisc/config.mk | 2 +- arch/powerpc/config.mk | 2 +- arch/sandbox/config.mk | 2 +- arch/sparc/config.mk | 2 +- arch/x86/cpu/config.mk | 2 +- include/configs/microblaze-generic.h | 1 - 14 files changed, 11 insertions(+), 14 deletions(-) diff --git a/arch/arc/config.mk b/arch/arc/config.mk index a3b8df7..e408800 100644 --- a/arch/arc/config.mk +++ b/arch/arc/config.mk @@ -21,7 +21,7 @@ ifeq ($(CROSS_COMPILE),) CROSS_COMPILE := $(ARC_CROSS_COMPILE) endif -PLATFORM_CPPFLAGS += -ffixed-r25 -D__ARC__ -DCONFIG_ARC -gdwarf-2 +PLATFORM_CPPFLAGS += -ffixed-r25 -D__ARC__ -gdwarf-2 # Needed for relocation LDFLAGS_FINAL += -pie diff --git a/arch/arm/config.mk b/arch/arm/config.mk index c3b8289..c339e6d 100644 --- a/arch/arm/config.mk +++ b/arch/arm/config.mk @@ -22,7 +22,7 @@ PLATFORM_RELFLAGS += $(call cc-option, -msoft-float) \ # Support generic board on ARM __HAVE_ARCH_GENERIC_BOARD := y -PLATFORM_CPPFLAGS += -DCONFIG_ARM -D__ARM__ +PLATFORM_CPPFLAGS += -D__ARM__ # Choose between ARM/Thumb instruction sets ifeq ($(CONFIG_SYS_THUMB_BUILD),y) diff --git a/arch/avr32/config.mk b/arch/avr32/config.mk index 28a371c..469185e 100644 --- a/arch/avr32/config.mk +++ b/arch/avr32/config.mk @@ -9,7 +9,6 @@ ifeq ($(CROSS_COMPILE),) CROSS_COMPILE := avr32-linux- endif -PLATFORM_CPPFLAGS += -DCONFIG_AVR32 CONFIG_STANDALONE_LOAD_ADDR ?= 0x PLATFORM_RELFLAGS += -ffixed-r5 -fPIC -mno-init-got -mrelax diff --git a/arch/blackfin/config.mk b/arch/blackfin/config.mk index fcaa44f..7b17b75 100644 --- a/arch/blackfin/config.mk +++ b/arch/blackfin/config.mk @@ -21,7 +21,6 @@ endif CONFIG_BFIN_BOOT_MODE := $(strip $(CONFIG_BFIN_BOOT_MODE:%=%)) PLATFORM_RELFLAGS += -ffixed-P3 -fomit-frame-pointer -mno-fdpic -PLATFORM_CPPFLAGS += -DCONFIG_BLACKFIN LDFLAGS_FINAL += --gc-sections LDFLAGS += -m elf32bfin diff --git a/arch/m68k/config.mk b/arch/m68k/config.mk index 33b3d51..3b3a7e8 100644 --- a/arch/m68k/config.mk +++ b/arch/m68k/config.mk @@ -11,7 +11,7 @@ endif CONFIG_STANDALONE_LOAD_ADDR ?= 0x2 -PLATFORM_CPPFLAGS += -DCONFIG_M68K -D__M68K__ +PLATFORM_CPPFLAGS += -D__M68K__ PLATFORM_LDFLAGS += -n PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections PLATFORM_RELFLAGS += -ffixed-d7 -msep-data diff --git a/arch/mips/config.mk b/arch/mips/config.mk index f4a234a..a2d07af 100644 --- a/arch/mips/config.mk +++ b/arch/mips/config.mk @@ -25,7 +25,7 @@ endif # Default to EB if no endianess is configured ENDIANNESS ?= -EB -PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__ +PLATFORM_CPPFLAGS += -D__MIPS__ __HAVE_ARCH_GENERIC_BOARD := y diff --git a/arch/nds32/config.mk b/arch/nds32/config.mk index 1024852..5ac9f90 100644 --- a/arch/nds32/config.mk +++ b/arch/nds32/config.mk @@ -17,6 +17,6 @@ CONFIG_STANDALONE_LOAD_ADDR = 0x30 \ PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -mrelax PLATFORM_RELFLAGS += -gdwarf-2 -PLATFORM_CPPFLAGS += -DCONFIG_NDS32 -D__nds32__ -G0 -ffixed-10 -fpie +PLATFORM_CPPFLAGS += -D__nds32__ -G0 -ffixed-10 -fpie LDFLAGS_u-boot = --gc-sections --relax diff --git a/arch/nios2/config.mk b/arch/nios2/config.mk index 65a5a40..82bd887 100644 --- a/arch/nios2/config.mk +++ b/arch/nios2/config.mk @@ -12,7 +12,7 @@ endif CONFIG_STANDALONE_LOAD_ADDR ?= 0x0200 -PLATFORM_CPPFLAGS += -DCONFIG_NIOS2 -D__NIOS2__ +PLATFORM_CPPFLAGS += -D__NIOS2__ PLATFORM_CPPFLAGS += -G0 LDFLAGS_FINAL += --gc-sections diff --git a/arch/openrisc/config.mk b/arch/openrisc/config.mk index 9902b9a..cd95f24 100644 --- a/arch/openrisc/config.mk +++ b/arch/openrisc/config.mk @@ -11,6 +11,6 @@ endif # r10 used for global object pointer, already set in OR32 GCC but just to be # clear -PLATFORM_CPPFLAGS += -DCONFIG_OPENRISC -D__OR1K__ -ffixed-r10 +PLATFORM_CPPFLAGS += -D__OR1K__ -ffixed-r10 CONFIG_STANDALONE_LOAD_ADDR ?= 0x4 diff --git a/arch/powerpc/config.mk b/arch/powerpc/config.mk index fb7096e..6329b6c 100644 --- a/arch/powerpc/config.mk +++ b/arch/powerpc/config.mk @@ -13,7 +13,7 @@ CONFIG_STANDALONE_LOAD_ADDR ?= 0x4 LDFLAGS_FINAL += --gc-sections PLATFORM_RELFLAGS += -fpic -mrelocatable -ffunction-sections -fdata-sections \
[U-Boot] [PATCH v8 09/13] MAKEALL: adjust for Kconfig
- Use make board_defconfig instead of make board_config. - Invoke tools/genboardscfg.py to generate boards.cfg when it is missing. - Show Building ${BOARD_NAME} board... message. (Prior to Kconfig, instead, mkconfig script displayed Configuring for ${BOARD_NAME} board... but it was removed.) Without this message, we cannot know which board is currently being built. - Do not show # configuration written to .config. This message is useless and just annoying for MAKEALL. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Acked-by: Simon Glass s...@chromium.org --- Changes in v8: - Show Building ${BOARD_NAME} board... - Do not show # configuration written to .config Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: - Generate boards.cfg automatically if it is missing Changes in v3: None Changes in v2: None MAKEALL | 16 +--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/MAKEALL b/MAKEALL index 9510982..c5ab86f 100755 --- a/MAKEALL +++ b/MAKEALL @@ -171,6 +171,14 @@ GNU_MAKE=$(scripts/show-gnu-make) || { # echo Remaining arguments: # for arg do echo '-- '\`$arg' ; done +if [ ! -r boards.cfg ]; then + echo Could not find boards.cfg + tools/genboardscfg.py || { + echo Failed to generate boards.cfg 2 + exit 1 + } +fi + FILTER=\$1 !~ /^#/ [ $opt_a ] FILTER=${FILTER} $opt_a [ $opt_c ] FILTER=${FILTER} $opt_c @@ -512,9 +520,9 @@ get_target_location() { set ${line} - CONFIG_NAME=${7%_config} + CONFIG_NAME=${7%_defconfig} - [ ${BOARD_NAME} ] || BOARD_NAME=${7%_config} + [ ${BOARD_NAME} ] || BOARD_NAME=${7%_defconfig} if [ $# -gt 5 ]; then if [ $6 = - ] ; then @@ -651,7 +659,9 @@ build_target() { fi ${MAKE} distclean /dev/null - ${MAKE} -s ${target}_config + + echo Building ${target} board... + ${MAKE} -s ${target}_defconfig /dev/null ${MAKE} ${JOBS} ${CHECK} all \ ${LOG_DIR}/$target.MAKELOG 2 ${LOG_DIR}/$target.ERR -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v8 13/13] include: remove CONFIG_SPL/CONFIG_TPL definition in config headers
Now CONFIG_SPL and CONFIG_TPL are defined in Kconfig. Remove the redundant definition in config headers. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Reviewed-by: Simon Glass s...@chromium.org --- Changes in v8: None Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: - Rebase on the current u-boot/master Changes in v3: - Rebase on the current u-boot/master Changes in v2: - Rebase on the current u-boot/master include/configs/B4860QDS.h | 1 - include/configs/BSC9131RDB.h | 1 - include/configs/BSC9132QDS.h | 1 - include/configs/C29XPCIE.h | 2 -- include/configs/MPC8313ERDB.h | 1 - include/configs/P1010RDB.h | 4 include/configs/P1022DS.h | 4 include/configs/P1_P2_RDB.h| 4 include/configs/T104xRDB.h | 1 - include/configs/T208xQDS.h | 1 - include/configs/T208xRDB.h | 1 - include/configs/T4240QDS.h | 1 - include/configs/a3m071.h | 1 - include/configs/am335x_igep0033.h | 1 - include/configs/am3517_crane.h | 1 - include/configs/am3517_evm.h | 1 - include/configs/apf27.h| 1 - include/configs/arndale.h | 1 - include/configs/bur_am335x_common.h| 1 - include/configs/cam_enc_4xx.h | 1 - include/configs/cm_t35.h | 1 - include/configs/da850evm.h | 1 - include/configs/devkit8000.h | 1 - include/configs/exynos5-dt.h | 1 - include/configs/hawkboard.h| 1 - include/configs/ipam390.h | 1 - include/configs/lwmon5.h | 1 - include/configs/m53evk.h | 1 - include/configs/mcx.h | 1 - include/configs/microblaze-generic.h | 1 - include/configs/mx31pdk.h | 1 - include/configs/mxs.h | 1 - include/configs/omap3_evm_common.h | 1 - include/configs/omap3_zoom1.h | 1 - include/configs/origen.h | 1 - include/configs/p1_p2_rdb_pc.h | 4 include/configs/palmtreo680.h | 1 - include/configs/pcm051.h | 1 - include/configs/sama5d3_xplained.h | 1 - include/configs/sama5d3xek.h | 1 - include/configs/siemens-am33x-common.h | 1 - include/configs/smdkv310.h | 1 - include/configs/socfpga_cyclone5.h | 1 - include/configs/sunxi-common.h | 1 - include/configs/tam3517-common.h | 1 - include/configs/tao3530.h | 1 - include/configs/tegra-common.h | 1 - include/configs/ti814x_evm.h | 1 - include/configs/ti816x_evm.h | 1 - include/configs/ti_armv7_common.h | 1 - include/configs/tricorder.h| 1 - include/configs/tx25.h | 1 - include/configs/vpac270.h | 1 - include/configs/woodburn_sd.h | 1 - include/configs/x600.h | 1 - include/configs/zynq-common.h | 1 - 56 files changed, 69 deletions(-) diff --git a/include/configs/B4860QDS.h b/include/configs/B4860QDS.h index e6475ef..953d06b 100644 --- a/include/configs/B4860QDS.h +++ b/include/configs/B4860QDS.h @@ -23,7 +23,6 @@ #define CONFIG_RAMBOOT_TEXT_BASE CONFIG_SYS_TEXT_BASE #define CONFIG_RESET_VECTOR_ADDRESS0xfffc #else -#define CONFIG_SPL 1 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT #define CONFIG_SPL_ENV_SUPPORT #define CONFIG_SPL_SERIAL_SUPPORT diff --git a/include/configs/BSC9131RDB.h b/include/configs/BSC9131RDB.h index e6b46e4..56a3e94 100644 --- a/include/configs/BSC9131RDB.h +++ b/include/configs/BSC9131RDB.h @@ -25,7 +25,6 @@ #endif #ifdef CONFIG_NAND -#define CONFIG_SPL 1 #define CONFIG_SPL_INIT_MINIMAL #define CONFIG_SPL_SERIAL_SUPPORT #define CONFIG_SPL_NAND_SUPPORT diff --git a/include/configs/BSC9132QDS.h b/include/configs/BSC9132QDS.h index 37e1688..aeded6d 100644 --- a/include/configs/BSC9132QDS.h +++ b/include/configs/BSC9132QDS.h @@ -41,7 +41,6 @@ #endif #ifdef CONFIG_NAND -#define CONFIG_SPL 1 #define CONFIG_SPL_INIT_MINIMAL #define CONFIG_SPL_SERIAL_SUPPORT #define CONFIG_SPL_NAND_SUPPORT diff --git a/include/configs/C29XPCIE.h b/include/configs/C29XPCIE.h index f170fc7..715616d 100644 --- a/include/configs/C29XPCIE.h +++ b/include/configs/C29XPCIE.h @@ -24,8 +24,6 @@ #endif #ifdef CONFIG_NAND -#define CONFIG_SPL 1 -#define CONFIG_TPL 1 #ifdef CONFIG_TPL_BUILD #define CONFIG_SPL_NAND_BOOT #define CONFIG_SPL_FLUSH_IMAGE diff --git a/include/configs/MPC8313ERDB.h b/include/configs/MPC8313ERDB.h index 7f5aa59..dd81229 100644 --- a/include/configs/MPC8313ERDB.h +++ b/include/configs/MPC8313ERDB.h @@ -19,7 +19,6 @@ #define CONFIG_MPC8313ERDB 1 #ifdef CONFIG_NAND -#define CONFIG_SPL 1 #define CONFIG_SPL_INIT_MINIMAL #define CONFIG_SPL_SERIAL_SUPPORT #define CONFIG_SPL_NAND_SUPPORT diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h
[U-Boot] [PATCH v8 10/13] buildman: adjust for Kconfig
Use make board_defconfig instead of make board_config. Invoke tools/genboardscfg.py to generate boards.cfg when it is missing. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Acked-by: Simon Glass s...@chromium.org --- Changes in v8: None Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: - Generate boards.cfg automatically if it is missing Changes in v3: None Changes in v2: None tools/buildman/board.py | 2 +- tools/buildman/builder.py | 6 +++--- tools/buildman/control.py | 10 ++ 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/tools/buildman/board.py b/tools/buildman/board.py index 5172a47..7bcc932 100644 --- a/tools/buildman/board.py +++ b/tools/buildman/board.py @@ -17,7 +17,7 @@ class Board: soc: Name of SOC, or '' if none (e.g. mx31) vendor: Name of vendor (e.g. armltd) board_name: Name of board (e.g. integrator) -target: Target name (use make target_config to configure) +target: Target name (use make target_defconfig to configure) options: board-specific options (e.g. integratorcp:CM1136) self.target = target diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py index 7de8125..48408ff 100644 --- a/tools/buildman/builder.py +++ b/tools/buildman/builder.py @@ -199,7 +199,7 @@ class BuilderThread(threading.Thread): commit_upto: Commit number to build (0...n-1) brd: Board object to build work_dir: Directory to which the source will be checked out -do_config: True to run a make board_config on the source +do_config: True to run a make board_defconfig on the source force_build: Force a build even if one was previously done force_build_failures: Force a bulid if the previous result showed failure @@ -266,7 +266,7 @@ class BuilderThread(threading.Thread): args.append('-s') if self.builder.num_jobs is not None: args.extend(['-j', str(self.builder.num_jobs)]) -config_args = ['%s_config' % brd.target] +config_args = ['%s_defconfig' % brd.target] config_out = '' args.extend(self.builder.toolchains.GetMakeArguments(brd)) @@ -419,7 +419,7 @@ class BuilderThread(threading.Thread): work_dir = self.builder.GetThreadDir(self.thread_num) self.toolchain = None if job.commits: -# Run 'make board_config' on the first commit +# Run 'make board_defconfig' on the first commit do_config = True commit_upto = 0 force_build = False diff --git a/tools/buildman/control.py b/tools/buildman/control.py index 267b7d9..75b6498 100644 --- a/tools/buildman/control.py +++ b/tools/buildman/control.py @@ -15,6 +15,7 @@ import patchstream import terminal import toolchain import command +import subprocess def GetPlural(count): Returns a plural 's' if count is not 1 @@ -109,6 +110,15 @@ def DoBuildman(options, args): sys.exit(1) # Work out what subset of the boards we are building +board_file = os.path.join(options.git, 'boards.cfg') +if not os.path.exists(board_file): +print 'Could not find %s' % board_file +status = subprocess.call([os.path.join(options.git, + 'tools/genboardscfg.py')]) +if status != 0: +print sys.stderr, Failed to generate boards.cfg +sys.exit(1) + boards = board.Boards() boards.ReadBoards(os.path.join(options.git, 'boards.cfg')) why_selected = boards.SelectBoards(args) -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v8 05/13] kconfig: switch to Kconfig
This commit enables Kconfig. Going forward, we use Kconfig for the board configuration. mkconfig will never be used. Nor will include/config.mk be generated. Kconfig must be adjusted for U-Boot because our situation is a little more complicated than Linux Kernel. We have to generate multiple boot images (Normal, SPL, TPL) from one source tree. Each image needs its own configuration input. Usage: Run make board_defconfig to do the board configuration. It will create the .config file and additionally spl/.config, tpl/.config if SPL, TPL is enabled, respectively. You can use make config, make menuconfig etc. to create a new .config or modify the existing one. Use make spl/config, make spl/menuconfig etc. for spl/.config and do likewise for tpl/.config file. The generic syntax of configuration targets for SPL, TPL is: target_image/config_command Here, target_image is either 'spl' or 'tpl' config_command is 'config', 'menuconfig', 'xconfig', etc. When the configuration is done, run make. (Or make board_defconfig all will do the configuration and build in one time.) For futher information of how Kconfig works in U-Boot, please read the comment block of scripts/multiconfig.py. By the way, there is another item worth remarking here: coexistence of Kconfig and board herder files. Prior to Kconfig, we used C headers to define a set of configs. We expect a very long term to migrate from C headers to Kconfig. Two different infractructure must coexist in the interim. In our former configuration scheme, include/autoconf.mk was generated for use in makefiles. It is still generated under include/, spl/include/, tpl/include/ directory for the Normal, SPL, TPL image, respectively. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Acked-by: Simon Glass s...@chromium.org --- Changes in v8: - Add a directory '.' as the first argument of 'find' command as FreeBSD requires it. (Reported by Jeroen) Changes in v7: - Follow PEP8 codiyg style: Use blah blah rather than '''blah blah''' for docstring. Fix some indents Add a period of the end of the first line of docstring - Remove temporary directories '$(objtree)/arch' and '$(objtree)/configs' Changes in v6: Various fixes reported by Simon. - Bug fix make spl:config does not work for out-of-tree build. So, the syntax has been changed to make spl/config. - Rename autoconf_is_update - autoconf_is_current - Fix comments in scripts/multiconfig.py - Use foo: blah blah instead of foo - blah blah for Python comment style. - Sort Python imports alphabetically Changes in v5: - Rebase on commit fbe79a17fd Changes in v4: - Have one defconfig file for each board by supporting conditional definition in defconfig - Put adjustment code into scripts/multiconfig.py Changes in v3: - Invoke SPL/TPL configuration only for defconfig and silentoldconfig Changes in v2: - Put dirty build rule into scripts/multiple_config.sh and scripts/Makefile.autoconf - Fix dependency tracking. In v1, any change to Kconfig triggered re-complile of all objects. In this version, re-compile is kept at a minimum. - Fix a clean-source check In v1, clean source tree check did not work correctly for out-of-tree build. .gitignore| 2 - Makefile | 116 +-- arch/m68k/cpu/mcf52x2/config.mk | 16 +- arch/m68k/cpu/mcf532x/config.mk | 6 +- arch/m68k/cpu/mcf5445x/config.mk | 4 +- arch/powerpc/cpu/ppc4xx/config.mk | 4 +- config.mk | 10 + include/.gitignore| 1 - scripts/Makefile | 2 +- scripts/Makefile.autoconf | 100 ++ scripts/Makefile.build| 31 +-- scripts/Makefile.spl | 31 +-- scripts/basic/fixdep.c| 6 +- scripts/kconfig/confdata.c| 8 + scripts/multiconfig.py| 410 ++ tools/Makefile| 2 +- tools/env/Makefile| 2 +- 17 files changed, 619 insertions(+), 132 deletions(-) create mode 100644 scripts/Makefile.autoconf create mode 100755 scripts/multiconfig.py diff --git a/.gitignore b/.gitignore index 0ace33b..5ac2e60 100644 --- a/.gitignore +++ b/.gitignore @@ -53,8 +53,6 @@ # /include/config/ /include/generated/ -/include/spl-autoconf.mk -/include/tpl-autoconf.mk # stgit generated dirs patches-* diff --git a/Makefile b/Makefile index 80eb239..5e49545 100644 --- a/Makefile +++ b/Makefile @@ -166,9 +166,6 @@ VPATH := $(srctree)$(if $(KBUILD_EXTMOD),:$(KBUILD_EXTMOD)) export srctree objtree VPATH -MKCONFIG := $(srctree)/mkconfig -export MKCONFIG - # Make sure CDPATH settings don't interfere unexport CDPATH @@ -189,9 +186,6 @@ HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]' | \ export HOSTARCH HOSTOS -# Deal with colliding definitions from tcsh etc.
[U-Boot] [PATCH v8 07/13] tools: add genboardscfg.py
Now the primary data for each board is in Kconfig, defconfig and MAINTAINERS. It is true boards.cfg is needed for MAKEALL and buildman and might be useful to brouse all the supported boards in a single database. But it would be painful to maintain the boards.cfg in sync. So, this is the solution. Add a tool to generate the equivalent boards.cfg file based on the latest Kconfig, defconfig and MAINTAINERS. We can keep all the functions of MAKEALL and buildman with it. The best thing would be to change MAKEALL and buildman for not depending on boards.cfg in the future, but it would take some time. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Acked-by: Simon Glass s...@chromium.org --- Changes in v8: None Changes in v7: - Delete the incomplete boards.cfg file when the script is terminated by user with keyboard interrupt. - Follow PEP8 codiyg style: Use blah blah rather than '''blah blah''' for docstring. Fix some indents Add a period of the end of the first line of docstring - Do not hard-code 'make' command name. Use scripts/show-gnu-make - Add specific exception class - Add a blank line to some places for readability Changes in v6: - Fix comment format of arguments foo: blah blah rather than foo - blah blah - Use tag, rest instead of line[:2], line[2:] for clarification - Sort imports alphabetically - Insert a blank before each function - Fix some comments - Use tempfile.mkdtemp() to create working directories Changes in v5: - Support wildcard pattern like 'F: configs/foo_*_defconfig' - Rename genboardscfg to genboardscfg.py - Use assert statement for sanity check - Do not run if imported from another script if __name__ == '__main__': main() - Check if we are at the top of source directory Changes in v4: - Newly added Changes in v3: None Changes in v2: None tools/genboardscfg.py | 504 ++ 1 file changed, 504 insertions(+) create mode 100755 tools/genboardscfg.py diff --git a/tools/genboardscfg.py b/tools/genboardscfg.py new file mode 100755 index 000..805e4eb --- /dev/null +++ b/tools/genboardscfg.py @@ -0,0 +1,504 @@ +#!/usr/bin/env python +# +# Author: Masahiro Yamada yamad...@jp.panasonic.com +# +# SPDX-License-Identifier: GPL-2.0+ +# + + +Converter from Kconfig and MAINTAINERS to boards.cfg + +Run 'tools/genboardscfg.py' to create boards.cfg file. + +Run 'tools/genboardscfg.py -h' for available options. + + +import errno +import fnmatch +import glob +import optparse +import os +import re +import shutil +import subprocess +import sys +import tempfile +import time + +BOARD_FILE = 'boards.cfg' +CONFIG_DIR = 'configs' +REFORMAT_CMD = [os.path.join('tools', 'reformat.py'), +'-i', '-d', '-', '-s', '8'] +SHOW_GNU_MAKE = 'scripts/show-gnu-make' +SLEEP_TIME=0.03 + +COMMENT_BLOCK = '''# +# List of boards +# Automatically generated by %s: don't edit +# +# Status, Arch, CPU(:SPLCPU), SoC, Vendor, Board, Target, Options, Maintainers + +''' % __file__ + +### helper functions ### +def get_terminal_columns(): +Get the width of the terminal. + +Returns: + The width of the terminal, or zero if the stdout is not + associated with tty. + +try: +return shutil.get_terminal_size().columns # Python 3.3~ +except AttributeError: +import fcntl +import termios +import struct +arg = struct.pack('', 0, 0, 0, 0) +try: +ret = fcntl.ioctl(sys.stdout.fileno(), termios.TIOCGWINSZ, arg) +except IOError as exception: +if exception.errno != errno.ENOTTY: +raise +# If 'Inappropriate ioctl for device' error occurs, +# stdout is probably redirected. Return 0. +return 0 +return struct.unpack('', ret)[1] + +def get_devnull(): +Get the file object of '/dev/null' device. +try: +devnull = subprocess.DEVNULL # py3k +except AttributeError: +devnull = open(os.devnull, 'wb') +return devnull + +def check_top_directory(): +Exit if we are not at the top of source directory. +for f in ('README', 'Licenses'): +if not os.path.exists(f): +print sys.stderr, 'Please run at the top of source directory.' +sys.exit(1) + +def get_make_cmd(): +Get the command name of GNU Make. +try: +make_cmd = subprocess.check_output([SHOW_GNU_MAKE]) +except subprocess.CalledProcessError: +print sys.stderr, 'GNU Make not found' +sys.exit(1) +return make_cmd.rstrip() + +### classes ### +class MaintainersDatabase: + +The database of board status and maintainers. + +def __init__(self): +Create an empty database. +self.database = {} + +def get_status(self, target): +Return the status of the given board. + +Returns: + Either 'Active' or 'Orphan' + +
[U-Boot] [PATCH v8 04/13] include: define CONFIG_SPL and CONFIG_TPL as 1
We are about to switch to Kconfig in the next commit. But there are something to get done beforehand. In Kconfig, include/generated/autoconf.h defines boolean CONFIG macros as 1. CONFIG_SPL and CONFIG_TPL, if defined, must be set to 1. Otherwise, when switching to Kconfig, the build log would be sprinkled with warning messages like this: warning: CONFIG_SPL redefined [enabled by default] Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Reviewed-by: Simon Glass s...@chromium.org --- Changes in v8: None Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: - Rebase on the current u-boot/master Changes in v2: - Rebase on the current u-boot/master doc/README.SPL | 2 +- include/configs/B4860QDS.h | 2 +- include/configs/BSC9131RDB.h | 2 +- include/configs/BSC9132QDS.h | 2 +- include/configs/C29XPCIE.h | 4 ++-- include/configs/MPC8313ERDB.h | 2 +- include/configs/P1010RDB.h | 8 include/configs/P1022DS.h | 8 include/configs/P1_P2_RDB.h| 8 include/configs/T104xRDB.h | 2 +- include/configs/T208xQDS.h | 2 +- include/configs/T208xRDB.h | 2 +- include/configs/T4240QDS.h | 2 +- include/configs/a3m071.h | 2 +- include/configs/am335x_igep0033.h | 2 +- include/configs/am3517_crane.h | 2 +- include/configs/am3517_evm.h | 2 +- include/configs/apf27.h| 2 +- include/configs/arndale.h | 2 +- include/configs/bur_am335x_common.h| 2 +- include/configs/cam_enc_4xx.h | 2 +- include/configs/cm_t35.h | 2 +- include/configs/da850evm.h | 2 +- include/configs/devkit8000.h | 2 +- include/configs/exynos5-dt.h | 2 +- include/configs/hawkboard.h| 2 +- include/configs/ipam390.h | 2 +- include/configs/lwmon5.h | 2 +- include/configs/m53evk.h | 2 +- include/configs/mcx.h | 2 +- include/configs/microblaze-generic.h | 2 +- include/configs/mx31pdk.h | 2 +- include/configs/mxs.h | 2 +- include/configs/omap3_evm_common.h | 2 +- include/configs/origen.h | 2 +- include/configs/p1_p2_rdb_pc.h | 8 include/configs/palmtreo680.h | 2 +- include/configs/pcm051.h | 2 +- include/configs/sama5d3_xplained.h | 2 +- include/configs/sama5d3xek.h | 2 +- include/configs/siemens-am33x-common.h | 2 +- include/configs/smdkv310.h | 2 +- include/configs/socfpga_cyclone5.h | 2 +- include/configs/sunxi-common.h | 2 +- include/configs/tam3517-common.h | 2 +- include/configs/tao3530.h | 2 +- include/configs/tegra-common.h | 2 +- include/configs/ti814x_evm.h | 2 +- include/configs/ti816x_evm.h | 2 +- include/configs/ti_armv7_common.h | 2 +- include/configs/tricorder.h| 2 +- include/configs/tx25.h | 2 +- include/configs/vpac270.h | 2 +- include/configs/woodburn_sd.h | 2 +- include/configs/x600.h | 2 +- include/configs/zynq-common.h | 2 +- 56 files changed, 69 insertions(+), 69 deletions(-) diff --git a/doc/README.SPL b/doc/README.SPL index 57a39a4..2b4b0b8 100644 --- a/doc/README.SPL +++ b/doc/README.SPL @@ -40,7 +40,7 @@ COBJS-$(CONFIG_SPL_BUILD) += foo.o The building of SPL images can be with: -#define CONFIG_SPL +#define CONFIG_SPL 1 Because SPL images normally have a different text base, one has to be configured by defining CONFIG_SPL_TEXT_BASE. The linker script has to be diff --git a/include/configs/B4860QDS.h b/include/configs/B4860QDS.h index 43c9df0..e6475ef 100644 --- a/include/configs/B4860QDS.h +++ b/include/configs/B4860QDS.h @@ -23,7 +23,7 @@ #define CONFIG_RAMBOOT_TEXT_BASE CONFIG_SYS_TEXT_BASE #define CONFIG_RESET_VECTOR_ADDRESS0xfffc #else -#define CONFIG_SPL +#define CONFIG_SPL 1 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT #define CONFIG_SPL_ENV_SUPPORT #define CONFIG_SPL_SERIAL_SUPPORT diff --git a/include/configs/BSC9131RDB.h b/include/configs/BSC9131RDB.h index 5a316c8..e6b46e4 100644 --- a/include/configs/BSC9131RDB.h +++ b/include/configs/BSC9131RDB.h @@ -25,7 +25,7 @@ #endif #ifdef CONFIG_NAND -#define CONFIG_SPL +#define CONFIG_SPL 1 #define CONFIG_SPL_INIT_MINIMAL #define CONFIG_SPL_SERIAL_SUPPORT #define CONFIG_SPL_NAND_SUPPORT diff --git a/include/configs/BSC9132QDS.h b/include/configs/BSC9132QDS.h index 49c16af..37e1688 100644 --- a/include/configs/BSC9132QDS.h +++ b/include/configs/BSC9132QDS.h @@ -41,7 +41,7 @@ #endif #ifdef CONFIG_NAND -#define CONFIG_SPL +#define CONFIG_SPL 1 #define CONFIG_SPL_INIT_MINIMAL #define CONFIG_SPL_SERIAL_SUPPORT #define
[U-Boot] [PATCH v8 12/13] powerpc: remove redundant CPU definition
CONFIG_${CPU} is defined by Kconfig. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Acked-by: Simon Glass s...@chromium.org --- Changes in v8: None Changes in v7: None Changes in v6: None Changes in v5: None Changes in v4: - Newly added Changes in v3: None Changes in v2: None arch/powerpc/cpu/74xx_7xx/config.mk | 2 +- arch/powerpc/cpu/mpc512x/config.mk | 2 +- arch/powerpc/cpu/mpc5xx/config.mk | 2 +- arch/powerpc/cpu/mpc5xxx/config.mk | 3 +-- arch/powerpc/cpu/mpc824x/config.mk | 2 +- arch/powerpc/cpu/mpc8260/config.mk | 2 +- arch/powerpc/cpu/mpc83xx/config.mk | 2 +- arch/powerpc/cpu/mpc85xx/config.mk | 2 +- arch/powerpc/cpu/mpc86xx/config.mk | 2 +- arch/powerpc/cpu/mpc8xx/config.mk | 2 +- arch/powerpc/cpu/ppc4xx/config.mk | 2 +- 11 files changed, 11 insertions(+), 12 deletions(-) diff --git a/arch/powerpc/cpu/74xx_7xx/config.mk b/arch/powerpc/cpu/74xx_7xx/config.mk index 96812a0..4cd1a26 100644 --- a/arch/powerpc/cpu/74xx_7xx/config.mk +++ b/arch/powerpc/cpu/74xx_7xx/config.mk @@ -5,4 +5,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_74xx_7xx -mstring +PLATFORM_CPPFLAGS += -mstring diff --git a/arch/powerpc/cpu/mpc512x/config.mk b/arch/powerpc/cpu/mpc512x/config.mk index 03759e6..5bf1b2a 100644 --- a/arch/powerpc/cpu/mpc512x/config.mk +++ b/arch/powerpc/cpu/mpc512x/config.mk @@ -4,4 +4,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC512X -DCONFIG_E300 -msoft-float -mcpu=603e +PLATFORM_CPPFLAGS += -DCONFIG_E300 -msoft-float -mcpu=603e diff --git a/arch/powerpc/cpu/mpc5xx/config.mk b/arch/powerpc/cpu/mpc5xx/config.mk index 31e2dc9..dd2ec37 100644 --- a/arch/powerpc/cpu/mpc5xx/config.mk +++ b/arch/powerpc/cpu/mpc5xx/config.mk @@ -5,4 +5,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_5xx -mpowerpc -msoft-float +PLATFORM_CPPFLAGS += -mpowerpc -msoft-float diff --git a/arch/powerpc/cpu/mpc5xxx/config.mk b/arch/powerpc/cpu/mpc5xxx/config.mk index 3384f6f..bcff214 100644 --- a/arch/powerpc/cpu/mpc5xxx/config.mk +++ b/arch/powerpc/cpu/mpc5xxx/config.mk @@ -5,5 +5,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC5xxx \ --mstring -mcpu=603e -mmultiple +PLATFORM_CPPFLAGS += -mstring -mcpu=603e -mmultiple diff --git a/arch/powerpc/cpu/mpc824x/config.mk b/arch/powerpc/cpu/mpc824x/config.mk index a224bc8..ecfb07e 100644 --- a/arch/powerpc/cpu/mpc824x/config.mk +++ b/arch/powerpc/cpu/mpc824x/config.mk @@ -5,4 +5,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC824X -mstring -mcpu=603e -msoft-float +PLATFORM_CPPFLAGS += -mstring -mcpu=603e -msoft-float diff --git a/arch/powerpc/cpu/mpc8260/config.mk b/arch/powerpc/cpu/mpc8260/config.mk index 59f152d..6a1b6e3 100644 --- a/arch/powerpc/cpu/mpc8260/config.mk +++ b/arch/powerpc/cpu/mpc8260/config.mk @@ -5,5 +5,5 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC8260 -DCONFIG_CPM2 \ +PLATFORM_CPPFLAGS += -DCONFIG_CPM2 \ -mstring -mcpu=603e -mmultiple diff --git a/arch/powerpc/cpu/mpc83xx/config.mk b/arch/powerpc/cpu/mpc83xx/config.mk index dfce4d5..0c08350 100644 --- a/arch/powerpc/cpu/mpc83xx/config.mk +++ b/arch/powerpc/cpu/mpc83xx/config.mk @@ -4,4 +4,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC83xx -DCONFIG_E300 -msoft-float +PLATFORM_CPPFLAGS += -DCONFIG_E300 -msoft-float diff --git a/arch/powerpc/cpu/mpc85xx/config.mk b/arch/powerpc/cpu/mpc85xx/config.mk index 1470f95..72c964c 100644 --- a/arch/powerpc/cpu/mpc85xx/config.mk +++ b/arch/powerpc/cpu/mpc85xx/config.mk @@ -5,7 +5,7 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC85xx -Wa,-me500 -msoft-float -mno-string +PLATFORM_CPPFLAGS += -Wa,-me500 -msoft-float -mno-string # -mspe=yes is needed to have -mno-spe accepted by a buggy GCC; # see [PATCH,rs6000] make -mno-spe work as expected on diff --git a/arch/powerpc/cpu/mpc86xx/config.mk b/arch/powerpc/cpu/mpc86xx/config.mk index 4c7235f..69a0b96 100644 --- a/arch/powerpc/cpu/mpc86xx/config.mk +++ b/arch/powerpc/cpu/mpc86xx/config.mk @@ -5,4 +5,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_MPC86xx -mstring -maltivec -mabi=altivec -msoft-float +PLATFORM_CPPFLAGS += -mstring -maltivec -mabi=altivec -msoft-float diff --git a/arch/powerpc/cpu/mpc8xx/config.mk b/arch/powerpc/cpu/mpc8xx/config.mk index ee2c883..485e43d 100644 --- a/arch/powerpc/cpu/mpc8xx/config.mk +++ b/arch/powerpc/cpu/mpc8xx/config.mk @@ -5,4 +5,4 @@ # SPDX-License-Identifier: GPL-2.0+ # -PLATFORM_CPPFLAGS += -DCONFIG_8xx -mstring -mcpu=860 -msoft-float +PLATFORM_CPPFLAGS += -mstring -mcpu=860 -msoft-float diff --git a/arch/powerpc/cpu/ppc4xx/config.mk b/arch/powerpc/cpu/ppc4xx/config.mk index a7253b2..f87c9dc 100644 --- a/arch/powerpc/cpu/ppc4xx/config.mk +++
Re: [U-Boot] [PATCH v7 0/15] Kconfig for U-Boot
Hi Tom, On Tue, 29 Jul 2014 13:59:56 -0400 Tom Rini tr...@ti.com wrote: On Tue, Jul 29, 2014 at 07:34:17PM +0900, Masahiro Yamada wrote: This series introduces Kconfig. Besides Linux Kernel, Kconfig is used in some projects, such as, BusyBox, Buildroot. But our situation is a little more complicated. For one board, we need to generate 3 images at most: Normal image, SPL and TPL. Each image needs its own configuration input. So, I've pushed all of the pre-reqs. I think I could even run the re-generate scripts myself, but, would you mind doing that and posting a to-apply V8 (so drop the do not apply parts of v7)? I have posted v8. I used this one posted by Lukasz today as a prerequisite: http://patchwork.ozlabs.org/patch/374526/ Updates in v8: - Rebase on commit e1b362f44 + Lukasz's patch. - Fix $(shell find ...) for FreeBSD (Reported by Jeroen) - Drop 'Do not apply' tool patches. (So, V8 consists of 13 patches.) - Improve MAKEALL for better log: Show 'Building ${BOARD_NAME} board...' Do not show '# configuration written to .config' Best Regards Masahiro Yamada ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v8 12/13] powerpc: remove redundant CPU definition
On 30.07.2014 07:08, Masahiro Yamada wrote: CONFIG_${CPU} is defined by Kconfig. Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Acked-by: Simon Glass s...@chromium.org Thanks Masahiro for all your hard work on this: Acked-by: Stefan Roese s...@denx.de Thanks, Stefan ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot