Re: [U-Boot] U-boot 2017.07 not working on Raspberry Pi
Hello Tom, Am 03.08.2017 um 19:42 schrieb Tom Rini: On Thu, Aug 03, 2017 at 09:42:13AM -0600, Stephen Warren wrote: On 08/03/2017 07:45 AM, Simon Glass wrote: ... I'm not sure if we have a Raspberry Pi in a test farm anywhere. I should be able to look next week if no one can figure these out beforehand. I thought that Tom had some Pis in his test farm? I have an RPi 3, but we don't have Linux boot tests atm. I'm talking with Kevin Hilman about how I might setup kernelci to test a few things in my lab, which might catch this kind of problem sooner rather than later. You might try tbot? I just writting a guide [1] how to setup tbot for a beagleboneblack, so I hope it is easier to start with... I have running a weekly linux test for the beagleboneblack [2] beside the weekly U-Boot mainline tests on the beagleboneblack [3]. [2] based on the linux tree from Robert Nelson, tbot does: "git clone --reference=/home/git/linux.git g...@github.com:beagleboard/linux.git linux-bbb" compiles/boots it and does some very basic tests (for example check all SoC registers defined in the files [4] under linux) ... you can easy expand this tests, as tbot does cmdline tests ... new board configs/testcases are welcome ;-) bye, Heiko [1] http://www.tbot.tools/guide.html [2] http://xeidos.ddns.net/buildbot/builders/bbb_lx last result: http://xeidos.ddns.net/tests/test_db_auslesen.php#387 [3] http://xeidos.ddns.net/buildbot/builders/bbb_ub last result: http://xeidos.ddns.net/tests/test_db_auslesen.php#386 [4] https://github.com/hsdenx/tbot/tree/master/src/files/bbb -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH] rockchip: rk3288: update the mmc number for fastboot
Hi Philipp, On 08/17/2017 04:27 PM, Dr. Philipp Tomsich wrote: On 17 Aug 2017, at 09:51, Kever Yangwrote: Hi Philipp, On 07/27/2017 09:09 PM, Dr. Philipp Tomsich wrote: On 27 Jul 2017, at 15:04, Kever Yang wrote: Philipp, On 07/27/2017 08:16 PM, Dr. Philipp Tomsich wrote: Kever, On 27 Jul 2017, at 13:47, Kever Yang wrote: The emmc number is 0, correct it for fastboot parameter. I provided some code in rk3399-board-spl.c (commit d02d11f8; see spl_node_to_boot_device(…) and how 'desc->devnum’ is accessed there) to map from a of_node back to a device-number. Could you do something similar for the fastboot case, so we can have a DTS property (e.g. under /config or /chosen) to map back to the devnum on a per-board basis? I'm not sure if there two are similar the same case, for boot device, we want to support more then one devices in an order, but for fastboot, we usually do not support device other than eMMC. Sorry for being a bit unspecific (but had hoped that the reference to the function resolving a single of_node back to a devnum would have clarified what I intended to say)… I didn’t mean for you to use an ordered list, but rather a single referenced node. E.g. u-boot,fastboot-flash-device = <>; I try to under stand what you want to do here, but again, I think this is different with the boot order. The boot order have much choice, different sequence, so it's reasonable for what you have done. But the FLASH_MMC_DEV is only one number, not a list, not a node, just like CONFIG_SYS_MMC_ENV_DEV, it's quite easy to do it, we do not need to write it in dts and decode the dts, what we need is give the correct number to fastboot driver, and that's all. While eMMC will be the default for most deployments, people may want to use a different setting for their devices or during testing. In fact the way this is used in the applications we see can be grouped along the following use cases: (a) production deployment (1) sometimes fixed to the internal storage (i.e. eMMC) (2) sometimes fixed to external storage (e.g. a eMMC on the baseboard) (3) sometimes set to ‘same device the bootloader was loaded from' (b) device development: (4) often fixed to a specific storage device (can bei either ‘internal’ or ‘external’ storage) (5) sometimes set to ‘same devices as the bootloader' In other words, there’s a lot of variability in what is right for a specific application and device, but this should not require a new board-configuration in U-Boot (or a U-Boot rebuild). Make the fastboot dev number select into dts instead of MACRO in header file can not resolve the issue without bootloader update, but need to update fastboot cmd driver, like the ums driver works good for the issue with the correct parameter: 'ums 0 mmc 0' vs 'fastboot usb0' Thanks, - Kever Regards, Philipp. ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] U-boot 2017.07 not working on Raspberry Pi
Hi Paul, On 3 August 2017 at 11:42, Tom Riniwrote: > On Thu, Aug 03, 2017 at 09:42:13AM -0600, Stephen Warren wrote: >> On 08/03/2017 07:45 AM, Simon Glass wrote: >> ... >> >I'm not sure if we have a Raspberry Pi in a test farm anywhere. I >> >should be able to look next week if no one can figure these out >> >beforehand. >> >> I thought that Tom had some Pis in his test farm? > > I have an RPi 3, but we don't have Linux boot tests atm. I'm talking > with Kevin Hilman about how I might setup kernelci to test a few things > in my lab, which might catch this kind of problem sooner rather than > later. Just a note that I can repeat the CONFIG_OF_EMBED problem. I am not sure what is going on or why this would prevent the kernel booting. But I believe rpi has a device tree pass-through from the pre-U-Boot boot loader, and I am booting with that, so perhaps it relies on CONFIG_OF_EMBED in some way? I can also repeat the USB keyboard problem. It doesn't detect the keyboard at all. For me this can be fixed by enabling CONFIG_DM_KEYBOARD, so we should probably do that for all rpi boards. Re the Ethernet thing, what changes when you disable that? Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 2/2] net: nfs: Correct type of rpc_t->u.reply->data
In rpc_t we declare data to be a uint8_t of size 2048, for a final size of 2048. We also however declare the reply part of the union to have a uint32_t data field of NFS_READ_SIZE (1024) for a final size of 4096+24=4120 and an overrun. Expand the comment above the struct to note that if NFS_READ_SIZE is increased then the data buf must also be increased and correct the declaration to be uint8_t. Reported-by: Coverity (CID: 152888) Cc: Joe HershbergerSigned-off-by: Tom Rini --- net/nfs.h | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/net/nfs.h b/net/nfs.h index 1aa06e8fb90f..b23b4088d825 100644 --- a/net/nfs.h +++ b/net/nfs.h @@ -39,8 +39,9 @@ /* * Block size used for NFS read accesses. A RPC reply packet (including all * headers) must fit within a single Ethernet frame to avoid fragmentation. - * However, if CONFIG_IP_DEFRAG is set, a bigger value could be used. In any - * case, most NFS servers are optimized for a power of 2. + * However, if CONFIG_IP_DEFRAG is set, a bigger value could be used, so long + * as rpc_t->u->data is incrased to match. In any case, most NFS servers are + * optimized for a power of 2. */ #define NFS_READ_SIZE 1024/* biggest power of two that fits Ether frame */ @@ -73,7 +74,7 @@ struct rpc_t { uint32_t verifier; uint32_t v2; uint32_t astatus; - uint32_t data[NFS_READ_SIZE]; + uint8_t data[NFS_READ_SIZE]; } reply; } u; } __attribute__((packed)); -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 1/2] net: nfs: Drop CONFIG_NFS_READ_SIZE
In the general case, CONFIG_NFS_READ_SIZE is unchanged from the default of 1024. There are in fact no in-tree users that increase this size. Adjust the comment to reflect what could be done in the future in conjunction with CONFIG_IP_DEFRAG. Cc: Joe HershbergerSigned-off-by: Tom Rini --- net/nfs.h | 13 + 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/net/nfs.h b/net/nfs.h index 70a1a6d554be..1aa06e8fb90f 100644 --- a/net/nfs.h +++ b/net/nfs.h @@ -36,16 +36,13 @@ #define NFSERR_ISDIR21 #define NFSERR_INVAL22 -/* Block size used for NFS read accesses. A RPC reply packet (including all +/* + * Block size used for NFS read accesses. A RPC reply packet (including all * headers) must fit within a single Ethernet frame to avoid fragmentation. - * However, if CONFIG_IP_DEFRAG is set, the config file may want to use a - * bigger value. In any case, most NFS servers are optimized for a power of 2. + * However, if CONFIG_IP_DEFRAG is set, a bigger value could be used. In any + * case, most NFS servers are optimized for a power of 2. */ -#ifdef CONFIG_NFS_READ_SIZE -#define NFS_READ_SIZE CONFIG_NFS_READ_SIZE -#else -#define NFS_READ_SIZE 1024 /* biggest power of two that fits Ether frame */ -#endif +#define NFS_READ_SIZE 1024/* biggest power of two that fits Ether frame */ /* Values for Accept State flag on RPC answers (See: rfc1831) */ enum rpc_accept_stat { -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH] fs: ext4: Fix journal overrun issue reported by Coverity
While _jdb[fs->blksz] is a valid expression (it points *one* char sized element past the end of the array, e.g. _jdb[fs->blksz + 1] is invalid (according to the C standard (C99/C11)). Changing this to tag = (struct ext3_journal_block_tag *)(p_jdb + ofs); Cc: Stefan BrünsSuggested-by: Stefan Brüns Reported-by: Coverity (CID: 165117, 165110) Signed-off-by: Tom Rini --- Stefan, since this is your suggestion and message, if you want me to v2 with you as Author, I'd be quite happy to, thanks again! --- fs/ext4/ext4_journal.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/ext4/ext4_journal.c b/fs/ext4/ext4_journal.c index 5a25be4c8ac2..fed6287eac45 100644 --- a/fs/ext4/ext4_journal.c +++ b/fs/ext4/ext4_journal.c @@ -355,7 +355,7 @@ void recover_transaction(int prev_desc_logical_no) ofs = sizeof(struct journal_header_t); do { - tag = (struct ext3_journal_block_tag *)_jdb[ofs]; + tag = (struct ext3_journal_block_tag *)(p_jdb + ofs); ofs += sizeof(struct ext3_journal_block_tag); if (ofs > fs->blksz) @@ -466,7 +466,7 @@ int ext4fs_check_journal_state(int recovery_flag) ofs = sizeof(struct journal_header_t); do { tag = (struct ext3_journal_block_tag *) - _jdb[ofs]; + (p_jdb + ofs); ofs += sizeof(struct ext3_journal_block_tag); if (ofs > fs->blksz) break; -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH] mtdparts: Fix final outstanding issue reported by Coverity
As part of fixing the previously reported issues, it was missed that in the case of mtdparts_init() we need to make sure that tmp_ep is long enough to contain PARTITION_MAXLEN and a NULL termination. Then, to be sure the buffer is NULL terminated, zero the entire buffer rather than just ensuring the first character is NULL. Cc: Lothar WaßmannCc: Maxime Ripard Reported-by: Coverity (CID: 166329) Signed-off-by: Tom Rini --- cmd/mtdparts.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/mtdparts.c b/cmd/mtdparts.c index 72bff92a9aee..6e12275b4083 100644 --- a/cmd/mtdparts.c +++ b/cmd/mtdparts.c @@ -1726,7 +1726,7 @@ int mtdparts_init(void) const char *ids, *parts; const char *current_partition; int ids_changed; - char tmp_ep[PARTITION_MAXLEN]; + char tmp_ep[PARTITION_MAXLEN + 1]; char tmp_parts[MTDPARTS_MAXLEN]; debug("\n---mtdparts_init---\n"); @@ -1750,7 +1750,7 @@ int mtdparts_init(void) /* save it for later parsing, cannot rely on current partition pointer * as 'partition' variable may be updated during init */ - tmp_ep[0] = '\0'; + memset(tmp_parts, 0, sizeof(tmp_parts)); if (current_partition) strncpy(tmp_ep, current_partition, PARTITION_MAXLEN); -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] common/board_f.c: remove CONFIG_SYS_GENERIC_GLOBAL_DATA
On Tue, Aug 15, 2017 at 11:11:02PM +0200, Thomas Petazzoni wrote: > CONFIG_SYS_GENERIC_GLOBAL_DATA is no longer used by any board or > platform, so support for it can be dropped. > > Signed-off-by: Thomas Petazzoni> Reviewed-by: Vladimir Zapolskiy > Reviewed-by: Simon Glass Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [U-Boot,v1] env: Sort selection of default choices
On Fri, Aug 18, 2017 at 01:14:47PM +0300, Andy Shevchenko wrote: > It would be easier to catch out which platform is using which default. > > Signed-off-by: Andy ShevchenkoApplied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] cmd/read.c: Fix checking blk_dread return value
On Mon, Aug 14, 2017 at 08:58:50PM -0400, Tom Rini wrote: > The function blk_dread will return -ENOSYS on failure or on success the > number of blocks read, which must be the number asked to read (otherwise > it failed somewhere). Correct this check. > > Reported-by: Coverity (CID: 166335) > Cc: Philipp Tomsich> Cc: Simon Glass > Cc: Bin Meng > Signed-off-by: Tom Rini Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [U-Boot, 3/3] env: Replace all open-coded gd->env_valid values with ENV_ flags
On Sun, Aug 20, 2017 at 04:45:15AM -0600, Simon Glass wrote: > Some of these were missed in the conversion. > Signed-off-by: Simon GlassApplied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] arm, at91: fix taurus board
On Wed, Aug 16, 2017 at 09:47:45AM +0200, Heiko Schocher wrote: > since commit: b529993e0222 "spl: add hierarchical defaults for SPL_LDSCRIPT" > > taurus board stopped working. Use the ldscript from > arch/arm/cpu/u-boot-spl.lds (as before this patch) fixed it. > > Signed-off-by: Heiko Schocher> Reviewed-by: Philipp Tomsich Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [U-Boot,2/3] env: Allow env_load() to detect errors
On Sun, Aug 20, 2017 at 04:45:14AM -0600, Simon Glass wrote: > Now that we have errors available in the environment driver's load() > method, check the return valid. > > Signed-off-by: Simon GlassApplied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] fs/fat: Correct blk_dread() return value check
On Mon, Aug 14, 2017 at 09:02:08PM -0400, Tom Rini wrote: > The function blk_dread will return -ENOSYS on failure or on success the > number of blocks read, which must be the number asked to read (otherwise > it failed somewhere). Correct this check. > > Signed-off-by: Tom RiniApplied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [U-Boot, PATCHv3] env: Correct case of no sub-init function
On Sun, Aug 20, 2017 at 11:41:40AM -0400, Tom Rini wrote: > With the change to the environment code to remove the common init stage > of pointing to the default environment and setting it as valid, combined > with the change to switch gd->env_valid from 0/1/2 to an enum we now > must set env_valid to one of the enum values rather than an int. And in > this case, not only was setting it to an int wrong, it was now the wrong > value. Finally, in the case of ENV_IS_NOWHERE we must still say that > our envionrment is invalid after init for things to continue to > function. > > Fixes: 7938822a6b75 ("env: Drop common init() functions") > Tested-by: Marek Vasut> Reported-by: Marek Vasut > Reported-by: Andy Shevchenko > Signed-off-by: Tom Rini Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] ARM: hisilicon: hikey: Fix eMMC with latest ATF & U-Boot
On Tue, Aug 15, 2017 at 05:18:16PM +0100, Peter Griffin wrote: > ATF can leave the MMC IP in a state where U-Boot mmc driver > can't enumerate the eMMC. > > This patch provides a mmc0_reset_clk() function like we > already so do sd card controller which resets the IP > when entering U-Boot. > > With this patch applied eMMC partitions are successfully > enumerated again. > > => mmc dev 0 > switch to partitions #0, OK > mmc0(part 0) is current device > => mmc part > > Partition Map for MMC device 0 -- Partition Type: EFI > > Part Start LBA End LBA Name > Attributes > Type GUID > Partition GUID > 1 0x0800 0x0fff "vrl" > attrs: 0x > type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 > guid: 496847ab-56a1-4cd5-a1ad-47f4acf055c9 > 2 0x1000 0x17ff "vrl_backup" > attrs: 0x > type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 > guid: 61a36fc1-8efb-4899-84d8-b61642efa723 > 3 0x1800 0x1fff "mcuimage" > > > Signed-off-by: Peter GriffinApplied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] Fix 'notes' typos
On Fri, Aug 18, 2017 at 05:58:51PM +0200, Anatolij Gustschin wrote: > s/notes/nodes > > Signed-off-by: Anatolij GustschinApplied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] spl: spl_mmc.c Correct blk_dread() return value check
On Mon, Aug 14, 2017 at 09:01:30PM -0400, Tom Rini wrote: > The function blk_dread will return -ENOSYS on failure or on success the > number of blocks read, which must be the number asked to read (otherwise > it failed somewhere). Correct this check. > > Signed-off-by: Tom RiniApplied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] mtdparts: Fix various issues reported by Coverity
On Mon, Aug 14, 2017 at 08:42:27PM -0400, Tom Rini wrote: > Now that sandbox is building cmd/mtdparts.c Coverity has looked at the > code and found a number of issues. In index_partitions() it is possible > that part will be NULL, so re-work the checks and debug statements to > take this into account. We have a number of string buffers that we > print to in the exact size of, and use string functions on, so we need > to ensure they are large enough to be NULL terminated. In > device_parse() it is not possible for num_partitions to be 0 (we would > have hit a different error first) so remove logically dead code. > Finally, in parse_mtdparts() if we have an error we need to free the > memory allocated to dev. > > Cc: Lothar Waßmann> Cc: Maxime Ripard > Reported-by: Coverity (CID: 166334, 166333, 166332, 166329, 166328) > Signed-off-by: Tom Rini Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [U-Boot, v2] hash: Compile only hardware or software versions of SHA algorithms
On Mon, Aug 14, 2017 at 04:38:07PM -0400, Tom Rini wrote: > Commit 089df18bfe9d ("lib: move hash CONFIG options to Kconfig") moved > CONFIG_SHA1, CONFIG_SHA256, CONFIG_SHA_HW_ACCEL, and > CONFIG_SHA_PROG_HW_ACCEL config options to Kconfig. So in the case of > SPL, CONFIG_SPL_HASH_SUPPORT enables CONFIG_SHA1 and CONFIG_SHA256 which > enables SHA SW library by default. But in the case of platforms with > SHA HW library support, SHA SW library becomes redundant and increases > size of SPL by approx 18K. Rework the code so that we have named > members and only have either software or hardware versions of the > algorithm, depending on the relevant config options. Update the comment > around hash_algo to reflect this as well. > > Reported-by: Sumit Garg> Cc: Sumit Garg > Signed-off-by: Tom Rini > Reviewed-by: Sumit Garg Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [U-Boot, v3] Makefile: honor PYTHON configuration properly
On Mon, Aug 14, 2017 at 08:59:11AM +0200, Clément Bœsch wrote: > On some systems `python` is `python3` (for instance, Archlinux). The > `PYTHON` variable can be used to point to `python2` to have a successful > build. > > The use of `PYTHON` is currently limited in the Makefile and needs to be > extended in other places: > > First, pylibfdt is required to be a Python 2 binding (binman imports > pylibfdt and is only compatible Python 2), so its setup.py needs to be > called accordingly. An alternative would be to change the libfdt > setup.py shebang to python2, but the binding is actually portable. Also, > it would break on system where there is no such thing as `python2`. > > Secondly, the libfdt import checks need to be done against Python 2 as > well since the Python 2 compiled modules (in this case _libdft.so) can > not be imported from Python 3. > > Note on the libfdt imports: "@if ! PYTHONPATH=tools $(PYTHON) -c 'import > libfdt'; then..." is probably simpler than the currently sub-optimal > pipe. > Reviewed-by: Jonathan GrayApplied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] U-Boot causes ethernet packet loss under Linux
Hey there, I have several issues with the newer U-Boot versions on my Banana Pi. I recently decided to upgrade some of my Banana Pis to the latest U-Boot, the last version I had there was 2015.04. Unfortunately the upgrade to 2017.05 caused weird packet-losses on the ethernet interface in Linux (took me several days to find out, that it's actually u-boot causing the problems). When downgrading to my old 2015.04, everythings works fine. The packet loss only occurs in low-load situations, for example with ping or ssh. I have successfully transfered some large files over the network with netcat without any issues. So maybe it's some powersaving-issue with Linux. But obviously, keeping the network interface under full load at all times can't be the right solution to the problem. About 10-20% of all packets get lost with ping. So I had hoped, it is some kind of "temporary issue" fixed in the next version and today decided to try again with a newer version. Unfortunately 2017.07 has even more issues: First, the packet-loss issue hasn't disappeared. Sad. Second, this version is no longer able to turn on the hdmi interface on the pi but seems to boot the system (after a minute or so it is "reachable" via network). The same applies to 2017.09-rc2. So I thought, the problem is probably caused, because the newer U-Boot versions turn on the network interface and configure it (and then linux fails to reconfigure it correctly, or something). I therefore tried to compile U-Boot 2017.05 without network support: I disabled CONFIG_CMD_NET in order to disable CONFIG_NET: > make CROSS_COMPILE=armv7l-linux-gnueabihf- Bananapi_defconfig > sed -re 's/^CONFIG_NET=y$/CONFIG_NET=n/' \ > -e 's/^CONFIG_CMD_NET=y$/CONFIG_CMD_NET=n/' -i .config > make CROSS_COMPILE=armv7l-linux-gnueabihf- oldconfig > make CROSS_COMPILE=armv7l-linux-gnueabihf- -j6 This caused linker errors: [...] LD u-boot board/sunxi/built-in.o: In function `setup_environment': /tmp/u-boot-2017.05/board/sunxi/board.c:700: undefined reference to `eth_setenv_enetaddr' armv7l-linux-gnueabihf-ld.bfd: BFD (GNU Binutils) 2.29 assertion fail ../../binutils-2.29/bfd/elf32-arm.c:9509 make: *** [Makefile:1211: u-boot] Error 1 So, some kind of dependency issue. I checked the .config file and found several more network-related options and disabled all of them: CONFIG_CMD_DHCP CONFIG_CMD_PXE CONFIG_CMD_NFS CONFIG_CMD_MII CONFIG_CMD_PING In order to make this work, I also had to set: CONFIG_DISTRO_DEFAULTS=n Then I ran oldconfig again, double checked the .config and tried compilation again: [...] CC common/env_common.o In file included from include/configs/sunxi-common.h:461:0, from include/configs/sun7i.h:28, from include/config.h:5, from include/common.h:21, from common/env_common.c:11: include/config_distro_bootcmd.h:305:2: error: expected '}' before 'BOOT_TARGET_DEVICES_references_PXE_without_CONFIG_CMD_DHCP_or_PXE' BOOT_TARGET_DEVICES_references_PXE_without_CONFIG_CMD_DHCP_or_PXE ^ include/config_distro_bootcmd.h:305:2: note: in definition of macro 'BOOTENV_DEV_NAME_PXE' BOOT_TARGET_DEVICES_references_PXE_without_CONFIG_CMD_DHCP_or_PXE ^ include/configs/sunxi-common.h:442:2: note: in expansion of macro 'BOOTENV_DEV_NAME' func(PXE, pxe, na) \ ^~~~ include/config_distro_bootcmd.h:311:18: note: in expansion of macro 'BOOT_TARGET_DEVICES' "boot_targets=" BOOT_TARGET_DEVICES(BOOTENV_DEV_NAME) "\0" ^~~ include/config_distro_bootcmd.h:328:2: note: in expansion of macro 'BOOTENV_BOOT_TARGETS' BOOTENV_BOOT_TARGETS \ ^~~~ include/configs/sunxi-common.h:515:2: note: in expansion of macro 'BOOTENV' BOOTENV ^~~ include/env_default.h:108:2: note: in expansion of macro 'CONFIG_EXTRA_ENV_SETTINGS' CONFIG_EXTRA_ENV_SETTINGS ^ make[1]: *** [scripts/Makefile.build:281: common/env_common.o] Error 1 make: *** [Makefile:1234: common] Error 2 Now I'm out of ideas. Looks like disabling CONFIG_DISTRO_DEFAULTS was a step in the wrong direction. So my questions are: 1. Is there a way to compile U-Boot without networking support? 2. Or is there a way to fix my package-loss problems in Linux (maybe the problem lies within the kernel, not U-Boot and U-Boot is just triggering it). 3. How can I enable the HDMI in the latest U-Boot versions (2017.07 and 2017.09-rc2) on the Banana Pi? Kind regards Urs ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [RFC PATCH 4/4] usb: net: migrate USB Ethernet adapters to Kconfig
This migrates ASIX, ASIX88179, MCS7830, RTL8152 and SMSC95XX to Kconfig. Update defconfigs. Signed-off-by: Chris Packham--- configs/arndale_defconfig | 4 +++ configs/bayleybay_defconfig| 2 ++ configs/beaver_defconfig | 1 + configs/cardhu_defconfig | 1 + configs/cei-tk1-som_defconfig | 1 + configs/cgtqmx6eval_defconfig | 1 + configs/chromebook_link64_defconfig| 2 ++ configs/chromebook_link_defconfig | 2 ++ configs/chromebook_samus_defconfig | 2 ++ configs/chromebox_panther_defconfig| 2 ++ configs/cl-som-am57x_defconfig | 3 ++ configs/cm_t54_defconfig | 3 ++ configs/colibri_t20_defconfig | 1 + configs/colibri_t30_defconfig | 1 + ...conga-qeval20-qa3-e3845-internal-uart_defconfig | 2 ++ configs/conga-qeval20-qa3-e3845_defconfig | 2 ++ configs/coreboot-x86_defconfig | 2 ++ configs/cougarcanyon2_defconfig| 2 ++ configs/crownbay_defconfig | 2 ++ configs/dalmore_defconfig | 1 + configs/dfi-bt700-q7x-151_defconfig| 4 +++ configs/dragonboard410c_defconfig | 4 +++ configs/e2220-1170_defconfig | 1 + configs/evb-rk3399_defconfig | 5 +++ configs/fennec-rk3288_defconfig| 2 ++ configs/firefly-rk3288_defconfig | 2 ++ configs/firefly-rk3399_defconfig | 5 +++ configs/galileo_defconfig | 2 ++ configs/gwventana_emmc_defconfig | 2 ++ configs/gwventana_gw5904_defconfig | 2 ++ configs/gwventana_nand_defconfig | 2 ++ configs/harmony_defconfig | 3 ++ configs/hikey_defconfig| 2 ++ configs/jetson-tk1_defconfig | 1 + configs/kylin-rk3036_defconfig | 2 ++ configs/m53evk_defconfig | 3 ++ configs/marsboard_defconfig| 1 + configs/mcx_defconfig | 2 ++ configs/medcom-wide_defconfig | 1 + configs/minnowmax_defconfig| 2 ++ configs/miqi-rk3288_defconfig | 2 ++ configs/mvebu_db-88f3720_defconfig | 4 +++ configs/mvebu_db_armada8k_defconfig| 4 +++ configs/mvebu_espressobin-88f3720_defconfig| 4 +++ configs/mvebu_mcbin-88f8040_defconfig | 4 +++ configs/mx23_olinuxino_defconfig | 1 + configs/mx28evk_auart_console_defconfig| 2 ++ configs/mx28evk_defconfig | 2 ++ configs/mx28evk_nand_defconfig | 2 ++ configs/mx28evk_spi_defconfig | 2 ++ configs/mx51evk_defconfig | 2 ++ configs/mx53loco_defconfig | 3 ++ configs/mx6dlarm2_defconfig| 1 + configs/mx6dlarm2_lpddr2_defconfig | 1 + configs/mx6qarm2_defconfig | 1 + configs/mx6qarm2_lpddr2_defconfig | 1 + configs/mx6qsabrelite_defconfig| 3 ++ configs/mx6sabreauto_defconfig | 1 + configs/mx6sabresd_defconfig | 1 + configs/mx6slevk_defconfig | 1 + configs/mx6slevk_spinor_defconfig | 1 + configs/mx6slevk_spl_defconfig | 1 + configs/mx6sllevk_defconfig| 2 ++ configs/mx6sllevk_plugin_defconfig | 2 ++ configs/mx6sxsabreauto_defconfig | 1 + configs/mx6sxsabresd_defconfig | 1 + configs/mx6sxsabresd_spl_defconfig | 1 + configs/mx7dsabresd_defconfig | 1 + configs/mx7dsabresd_secure_defconfig | 1 + configs/nitrogen6dl2g_defconfig| 3 ++ configs/nitrogen6dl_defconfig | 3 ++ configs/nitrogen6q2g_defconfig | 3 ++ configs/nitrogen6q_defconfig | 3 ++ configs/nitrogen6s1g_defconfig | 3 ++ configs/nitrogen6s_defconfig | 3 ++ configs/novena_defconfig | 2 ++ configs/nyan-big_defconfig | 1 + configs/odroid-xu3_defconfig | 3 ++ configs/odroid_defconfig | 1 + configs/omap3_beagle_defconfig | 3 ++ configs/omap3_ha_defconfig | 1 +
[U-Boot] [RFC PATCH 3/4] usb: net: migrate CONFIG_USB_HOST_ETHER to Kconfig
CONFIG_USB_HOST_ETHER is the framework that the drivers are dependent on USB_HOST_ETHER. Use this as a menu and move the existing LAN75XX and LAN78XX options under new menu. Finally update the defconfigs that need CONFIG_USB_HOST_ETHER. Signed-off-by: Chris Packham--- configs/apalis_imx6_defconfig | 1 + configs/apalis_imx6_nospl_com_defconfig | 1 + configs/apalis_imx6_nospl_it_defconfig| 1 + configs/arndale_defconfig | 1 + configs/bayleybay_defconfig | 1 + configs/beaver_defconfig | 1 + configs/cardhu_defconfig | 1 + configs/cei-tk1-som_defconfig | 1 + configs/cgtqmx6eval_defconfig | 1 + configs/chromebook_link64_defconfig | 1 + configs/chromebook_link_defconfig | 1 + configs/chromebook_samus_defconfig| 1 + configs/chromebox_panther_defconfig | 1 + configs/cl-som-am57x_defconfig| 1 + configs/cm_t54_defconfig | 1 + configs/colibri_imx6_defconfig| 1 + configs/colibri_imx6_nospl_defconfig | 1 + configs/colibri_t20_defconfig | 1 + configs/colibri_t30_defconfig | 1 + configs/conga-qeval20-qa3-e3845-internal-uart_defconfig | 1 + configs/conga-qeval20-qa3-e3845_defconfig | 1 + configs/coreboot-x86_defconfig| 1 + configs/cougarcanyon2_defconfig | 1 + configs/crownbay_defconfig| 1 + configs/dalmore_defconfig | 1 + configs/dfi-bt700-q7x-151_defconfig | 1 + configs/dragonboard410c_defconfig | 1 + configs/e2220-1170_defconfig | 1 + configs/evb-rk3399_defconfig | 1 + configs/fennec-rk3288_defconfig | 1 + configs/firefly-rk3288_defconfig | 1 + configs/firefly-rk3399_defconfig | 1 + configs/galileo_defconfig | 1 + configs/gwventana_emmc_defconfig | 1 + configs/gwventana_gw5904_defconfig| 1 + configs/gwventana_nand_defconfig | 1 + configs/harmony_defconfig | 1 + configs/hikey_defconfig | 1 + configs/jetson-tk1_defconfig | 1 + configs/kylin-rk3036_defconfig| 1 + configs/m53evk_defconfig | 1 + configs/marsboard_defconfig | 1 + configs/mcx_defconfig | 1 + configs/medcom-wide_defconfig | 1 + configs/minnowmax_defconfig | 1 + configs/miqi-rk3288_defconfig | 1 + configs/mvebu_db-88f3720_defconfig| 1 + configs/mvebu_db_armada8k_defconfig | 1 + configs/mvebu_espressobin-88f3720_defconfig | 1 + configs/mvebu_mcbin-88f8040_defconfig | 1 + configs/mx23_olinuxino_defconfig | 1 + configs/mx28evk_auart_console_defconfig | 1 + configs/mx28evk_defconfig | 1 + configs/mx28evk_nand_defconfig| 1 + configs/mx28evk_spi_defconfig | 1 + configs/mx51evk_defconfig | 1 + configs/mx53loco_defconfig| 1 + configs/mx6dlarm2_defconfig | 1 + configs/mx6dlarm2_lpddr2_defconfig| 1 + configs/mx6qarm2_defconfig| 1 + configs/mx6qarm2_lpddr2_defconfig | 1 + configs/mx6qsabrelite_defconfig | 1 + configs/mx6sabreauto_defconfig| 1 + configs/mx6sabresd_defconfig | 1 + configs/mx6slevk_defconfig| 1 + configs/mx6slevk_spinor_defconfig | 1 + configs/mx6slevk_spl_defconfig| 1 + configs/mx6sllevk_defconfig | 1 + configs/mx6sllevk_plugin_defconfig| 1 + configs/mx6sxsabreauto_defconfig | 1 + configs/mx6sxsabresd_defconfig| 1 +
[U-Boot] [RFC PATCH 0/4] usb: net: Migrate USB Ethernet to Kconfig
I ran into a few problems running moveconfig.py mainly due to boards that include a common .h file. I'm not confident I've captured all the defconfigs that need CONFIG_USB_HOST_ETHER or one of the specific drivers. Is there a more fool-proof way of catching these cases? Needless to say this probably isn't ready for 2017.09 but hopefully I can polish it enough for the next release. Chris Packham (4): Kconfig: drop CONFIG_USB_ETHER_DM9601 Kconfig: drop CONFIG_USB_ETHER_RNDIS usb: net: migrate CONFIG_USB_HOST_ETHER to Kconfig usb: net: migrate USB Ethernet adapters to Kconfig configs/apalis_imx6_defconfig | 1 + configs/apalis_imx6_nospl_com_defconfig| 1 + configs/apalis_imx6_nospl_it_defconfig | 1 + configs/arndale_defconfig | 5 +++ configs/bayleybay_defconfig| 3 ++ configs/beaver_defconfig | 2 + configs/cardhu_defconfig | 2 + configs/cei-tk1-som_defconfig | 2 + configs/cgtqmx6eval_defconfig | 2 + configs/chromebook_link64_defconfig| 3 ++ configs/chromebook_link_defconfig | 3 ++ configs/chromebook_samus_defconfig | 3 ++ configs/chromebox_panther_defconfig| 3 ++ configs/cl-som-am57x_defconfig | 4 ++ configs/cm_t54_defconfig | 4 ++ configs/colibri_imx6_defconfig | 1 + configs/colibri_imx6_nospl_defconfig | 1 + configs/colibri_t20_defconfig | 2 + configs/colibri_t30_defconfig | 2 + ...conga-qeval20-qa3-e3845-internal-uart_defconfig | 3 ++ configs/conga-qeval20-qa3-e3845_defconfig | 3 ++ configs/coreboot-x86_defconfig | 3 ++ configs/cougarcanyon2_defconfig| 3 ++ configs/crownbay_defconfig | 3 ++ configs/dalmore_defconfig | 2 + configs/dfi-bt700-q7x-151_defconfig| 5 +++ configs/dragonboard410c_defconfig | 5 +++ configs/e2220-1170_defconfig | 2 + configs/evb-rk3399_defconfig | 6 +++ configs/fennec-rk3288_defconfig| 3 ++ configs/firefly-rk3288_defconfig | 3 ++ configs/firefly-rk3399_defconfig | 6 +++ configs/galileo_defconfig | 3 ++ configs/gwventana_emmc_defconfig | 3 ++ configs/gwventana_gw5904_defconfig | 3 ++ configs/gwventana_nand_defconfig | 3 ++ configs/harmony_defconfig | 4 ++ configs/hikey_defconfig| 3 ++ configs/jetson-tk1_defconfig | 2 + configs/kylin-rk3036_defconfig | 3 ++ configs/m53evk_defconfig | 4 ++ configs/marsboard_defconfig| 2 + configs/mcx_defconfig | 3 ++ configs/medcom-wide_defconfig | 2 + configs/minnowmax_defconfig| 3 ++ configs/miqi-rk3288_defconfig | 3 ++ configs/mvebu_db-88f3720_defconfig | 5 +++ configs/mvebu_db_armada8k_defconfig| 5 +++ configs/mvebu_espressobin-88f3720_defconfig| 5 +++ configs/mvebu_mcbin-88f8040_defconfig | 5 +++ configs/mx23_olinuxino_defconfig | 2 + configs/mx28evk_auart_console_defconfig| 3 ++ configs/mx28evk_defconfig | 3 ++ configs/mx28evk_nand_defconfig | 3 ++ configs/mx28evk_spi_defconfig | 3 ++ configs/mx51evk_defconfig | 3 ++ configs/mx53loco_defconfig | 4 ++ configs/mx6dlarm2_defconfig| 2 + configs/mx6dlarm2_lpddr2_defconfig | 2 + configs/mx6qarm2_defconfig | 2 + configs/mx6qarm2_lpddr2_defconfig | 2 + configs/mx6qsabrelite_defconfig| 4 ++ configs/mx6sabreauto_defconfig | 2 + configs/mx6sabresd_defconfig | 2 + configs/mx6slevk_defconfig | 2 + configs/mx6slevk_spinor_defconfig | 2 + configs/mx6slevk_spl_defconfig | 2 + configs/mx6sllevk_defconfig| 3 ++ configs/mx6sllevk_plugin_defconfig | 3 ++ configs/mx6sxsabreauto_defconfig | 2 + configs/mx6sxsabresd_defconfig | 2 + configs/mx6sxsabresd_spl_defconfig | 2 + configs/mx7dsabresd_defconfig | 2 + configs/mx7dsabresd_secure_defconfig
Re: [U-Boot] [PATCH] spl: stm32: make falcon mode activation configurable
On Sun, Aug 20, 2017 at 11:05:37AM -0700, Vikas Manocha wrote: > With this change, it will be possible to de-select falcon mode & spl > will only boot U-Boot. > > Signed-off-by: Vikas Manocha> Suggested-by: Bo Shen Reviewed-by: Tom Rini -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH] spl: stm32: make falcon mode activation configurable
With this change, it will be possible to de-select falcon mode & spl will only boot U-Boot. Signed-off-by: Vikas ManochaSuggested-by: Bo Shen --- arch/arm/mach-stm32/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/mach-stm32/Kconfig b/arch/arm/mach-stm32/Kconfig index f70f5ec..947ce5f 100644 --- a/arch/arm/mach-stm32/Kconfig +++ b/arch/arm/mach-stm32/Kconfig @@ -18,7 +18,7 @@ config STM32F7 select SPL_OF_CONTROL select SPL_OF_LIBFDT select SPL_OF_TRANSLATE - select SPL_OS_BOOT + imply SPL_OS_BOOT select SPL_PINCTRL select SPL_RAM select SPL_SERIAL_SUPPORT -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH] spl: fix usage of $(SPL_TPL_) for some files
Signed-off-by: Vikas Manocha--- common/spl/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/common/spl/Makefile b/common/spl/Makefile index 112b3e6..fde0d09 100644 --- a/common/spl/Makefile +++ b/common/spl/Makefile @@ -12,9 +12,9 @@ ifdef CONFIG_SPL_BUILD obj-$(CONFIG_SPL_FRAMEWORK) += spl.o obj-$(CONFIG_$(SPL_TPL_)BOOTROM_SUPPORT) += spl_bootrom.o obj-$(CONFIG_$(SPL_TPL_)LOAD_FIT) += spl_fit.o -obj-$(CONFIG_$(SPL_TPL_)SPL_NOR_SUPPORT) += spl_nor.o -obj-$(CONFIG_$(SPL_TPL_)SPL_XIP_SUPPORT) += spl_xip.o -obj-$(CONFIG_$(SPL_TPL_)SPL_YMODEM_SUPPORT) += spl_ymodem.o +obj-$(CONFIG_$(SPL_TPL_)NOR_SUPPORT) += spl_nor.o +obj-$(CONFIG_$(SPL_TPL_)XIP_SUPPORT) += spl_xip.o +obj-$(CONFIG_$(SPL_TPL_)YMODEM_SUPPORT) += spl_ymodem.o ifndef CONFIG_SPL_UBI obj-$(CONFIG_$(SPL_TPL_)NAND_SUPPORT) += spl_nand.o obj-$(CONFIG_$(SPL_TPL_)ONENAND_SUPPORT) += spl_onenand.o -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH 4/5] mmc: uniphier-sd: Add support for quirks
2017-08-21 0:11 GMT+09:00 Marek Vasut: > Check if the OF match has any associated data and if so, use those > data as the controller quirks, otherwise fallback to the old method > of reading the controller version register to figure out the quirks. > This allows us to supply controller quirks on controllers which ie. > do not have version register. > > Signed-off-by: Marek Vasut > Cc: Masahiro Yamada > Cc: Jaehoon Chung Thanks! Acked-by: Masahiro Yamada -- Best Regards Masahiro Yamada ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH 5/5] mmc: uniphier-sd: Add support for R8A7795 and R7A7796
2017-08-21 0:11 GMT+09:00 Marek Vasut: > Add OF match entries and quirks for Renesas RCar Gen3 controllers > into the driver. The IP this driver handles is in fact Matsushita > one and in used both in Socionext and Renesas chips. > > Signed-off-by: Marek Vasut > Cc: Masahiro Yamada > Cc: Jaehoon Chung Thanks! Acked-by: Masahiro Yamada -- Best Regards Masahiro Yamada ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH V3 3/5] mmc: uniphier-sd: Add support for 64bit FIFO
2017-08-21 0:11 GMT+09:00 Marek Vasut: > The Renesas RCar Gen3 contains the same controller, originally > Matsushita. This patch adds support for handling of the 64bit > FIFO on this controller. > > Signed-off-by: Marek Vasut > Cc: Masahiro Yamada > Cc: Jaehoon Chung > --- > V2: - Use unsigned int for the reg argument of IO accessors > - Rework the handling of aligned and unaligned data > V3: Remove const ... Thanks! Acked-by: Masahiro Yamada -- Best Regards Masahiro Yamada ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH 2/5] mmc: uniphier-sd: Add support for 64bit controller
2017-08-21 0:11 GMT+09:00 Marek Vasut: > The Renesas RCar Gen3 contains the same controller, originally > Matsushita, yet the register addresses are shifted by 1 to the > left. The whole controller is also 64bit, including the data > FIFOs and RSP registers. This patch adds support for handling > the register IO by shifting the register offset by 1 in the IO > accessor functions. > > Signed-off-by: Marek Vasut > Cc: Masahiro Yamada > Cc: Jaehoon Chung Thanks! Acked-by: Masahiro Yamada -- Best Regards Masahiro Yamada ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH V3 1/5] mmc: uniphier-sd: Factor out register IO
2017-08-21 0:11 GMT+09:00 Marek Vasut: > This patch prepares the driver to support controller(s) with registers > at locations shifted by constant. Pull out the readl()/writel() from > the driver into separate functions, where the adjustment of the register > offset can be easily contained. > > Signed-off-by: Marek Vasut > Cc: Masahiro Yamada > Cc: Jaehoon Chung > --- > V2: Use unsigned int for the reg argument > V3: Remove const ... > --- Thanks! Acked-by: Masahiro Yamada -- Best Regards Masahiro Yamada ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCHv3] env: Correct case of no sub-init function
With the change to the environment code to remove the common init stage of pointing to the default environment and setting it as valid, combined with the change to switch gd->env_valid from 0/1/2 to an enum we now must set env_valid to one of the enum values rather than an int. And in this case, not only was setting it to an int wrong, it was now the wrong value. Finally, in the case of ENV_IS_NOWHERE we must still say that our envionrment is invalid after init for things to continue to function. Fixes: 7938822a6b75 ("env: Drop common init() functions") Reported-by: Marek VasutReported-by: Andy Shevchenko Signed-off-by: Tom Rini --- Changes in v3: - Actually include changes for env/nowhere.c --- env/env.c | 2 +- env/nowhere.c | 13 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/env/env.c b/env/env.c index 2b8b9611cfff..8671f13f8d9e 100644 --- a/env/env.c +++ b/env/env.c @@ -138,7 +138,7 @@ int env_init(void) ret = drv->init(); if (ret == -ENOENT) { gd->env_addr = (ulong)_environment[0]; - gd->env_valid = 0; + gd->env_valid = ENV_VALID; return 0; } else if (ret) { diff --git a/env/nowhere.c b/env/nowhere.c index d60de494e6c4..f654883c8acb 100644 --- a/env/nowhere.c +++ b/env/nowhere.c @@ -15,7 +15,20 @@ DECLARE_GLOBAL_DATA_PTR; +/* + * Because we only ever have the default environment available we must mark + * it as invalid. + */ +static int env_nowhere_init(void) +{ + gd->env_addr= (ulong)_environment[0]; + gd->env_valid = ENV_INVALID; + + return 0; +} + U_BOOT_ENV_LOCATION(nowhere) = { .location = ENVL_NOWHERE, + .init = env_nowhere_init, ENV_NAME("nowhere") }; -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH] mtd: cfi: staticize functions
Staticize a few functions and variables which are no longer exposed. Signed-off-by: Marek VasutCc: Stefan Roese --- drivers/mtd/cfi_flash.c | 8 include/flash.h | 5 - include/mtd/cfi_flash.h | 2 -- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c index 8b5a653d22..df04a425e2 100644 --- a/drivers/mtd/cfi_flash.c +++ b/drivers/mtd/cfi_flash.c @@ -176,7 +176,7 @@ __maybe_weak u64 flash_read64(void *addr) /*--- */ #if defined(CONFIG_ENV_IS_IN_FLASH) || defined(CONFIG_ENV_ADDR_REDUND) || (CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE) -flash_info_t *flash_get_info(ulong base) +static flash_info_t *flash_get_info(ulong base) { int i; flash_info_t *info; @@ -353,8 +353,8 @@ static ulong flash_read_long (flash_info_t * info, flash_sect_t sect, /* * Write a proper sized command to the correct address */ -void flash_write_cmd (flash_info_t * info, flash_sect_t sect, - uint offset, u32 cmd) +static void flash_write_cmd(flash_info_t *info, flash_sect_t sect, + uint offset, u32 cmd) { void *addr; @@ -2296,7 +2296,7 @@ static void cfi_flash_set_config_reg(u32 base, u16 val) /*--- */ -void flash_protect_default(void) +static void flash_protect_default(void) { #if defined(CONFIG_SYS_FLASH_AUTOPROTECT_LIST) int i; diff --git a/include/flash.h b/include/flash.h index 8b67b8747a..0eedb1efa8 100644 --- a/include/flash.h +++ b/include/flash.h @@ -85,7 +85,6 @@ typedef unsigned long flash_sect_t; /* Prototypes */ extern unsigned long flash_init (void); -extern void flash_protect_default(void); extern void flash_print_info (flash_info_t *); extern int flash_erase (flash_info_t *, int, int); extern int flash_sect_erase (ulong addr_first, ulong addr_last); @@ -118,10 +117,6 @@ extern int jedec_flash_match(flash_info_t *info, ulong base); #define CFI_CMDSET_AMD_LEGACY 0xFFF0 #endif -#if defined(CONFIG_SYS_FLASH_CFI) -extern flash_info_t *flash_get_info(ulong base); -#endif - /*--- * return codes from flash_write(): */ diff --git a/include/mtd/cfi_flash.h b/include/mtd/cfi_flash.h index 52572b9b02..eade2b3614 100644 --- a/include/mtd/cfi_flash.h +++ b/include/mtd/cfi_flash.h @@ -165,8 +165,6 @@ extern int cfi_flash_num_flash_banks; #define CFI_MAX_FLASH_BANKSCONFIG_SYS_MAX_FLASH_BANKS #endif -void flash_write_cmd(flash_info_t * info, flash_sect_t sect, -uint offset, u32 cmd); phys_addr_t cfi_flash_bank_addr(int i); unsigned long cfi_flash_bank_size(int i); void flash_cmd_reset(flash_info_t *info); -- 2.11.0 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 08/12] ARM: rmobile: Remove Serial SH probing from ULCB board
Drop the Serial SH bit from the board since UART now probes from DT instead. Signed-off-by: Marek VasutCc: Nobuhiro Iwamatsu --- board/renesas/ulcb/ulcb.c | 12 1 file changed, 12 deletions(-) diff --git a/board/renesas/ulcb/ulcb.c b/board/renesas/ulcb/ulcb.c index e249bd27d4..6b080311d0 100644 --- a/board/renesas/ulcb/ulcb.c +++ b/board/renesas/ulcb/ulcb.c @@ -232,15 +232,3 @@ int dram_init_banksize(void) const struct rmobile_sysinfo sysinfo = { CONFIG_RCAR_BOARD_STRING }; - -static const struct sh_serial_platdata serial_platdata = { - .base = SCIF2_BASE, - .type = PORT_SCIF, - .clk = CONFIG_SH_SCIF_CLK_FREQ, - .clk_mode = INT_CLK, -}; - -U_BOOT_DEVICE(salvator_x_scif2) = { - .name = "serial_sh", - .platdata = _platdata, -}; -- 2.11.0 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 01/12] clk: rmobile: Split R8A7795 and R8A7796 core clock tables
The R8A7795 and R8A7796 tables use different constants to identify clock in DT, so split the tables and use the correct constants on R8A7795. This fixes UART clock misconfiguration on R8A7795. Signed-off-by: Marek VasutCc: Nobuhiro Iwamatsu --- drivers/clk/renesas/clk-rcar-gen3.c | 129 +++- 1 file changed, 96 insertions(+), 33 deletions(-) diff --git a/drivers/clk/renesas/clk-rcar-gen3.c b/drivers/clk/renesas/clk-rcar-gen3.c index 5ea7d9a1f5..4e74856940 100644 --- a/drivers/clk/renesas/clk-rcar-gen3.c +++ b/drivers/clk/renesas/clk-rcar-gen3.c @@ -73,6 +73,8 @@ struct gen3_clk_priv { struct clk clk_extal; struct clk clk_extalr; const struct rcar_gen3_cpg_pll_config *cpg_pll_config; + const struct cpg_core_clk *core_clk; + u32 core_clk_size; const struct mssr_mod_clk *mod_clk; u32 mod_clk_size; }; @@ -181,7 +183,7 @@ enum clk_ids { MOD_CLK_BASE }; -static const struct cpg_core_clk gen3_core_clks[] = { +static const struct cpg_core_clk r8a7795_core_clks[] = { /* External Clock Inputs */ DEF_INPUT("extal", CLK_EXTAL), DEF_INPUT("extalr", CLK_EXTALR), @@ -203,38 +205,38 @@ static const struct cpg_core_clk gen3_core_clks[] = { DEF_FIXED(".sdsrc", CLK_SDSRC, CLK_PLL1_DIV2, 2, 1), /* Core Clock Outputs */ - DEF_FIXED("ztr",R8A7796_CLK_ZTR, CLK_PLL1_DIV2, 6, 1), - DEF_FIXED("ztrd2", R8A7796_CLK_ZTRD2, CLK_PLL1_DIV2, 12, 1), - DEF_FIXED("zt", R8A7796_CLK_ZT,CLK_PLL1_DIV2, 4, 1), - DEF_FIXED("zx", R8A7796_CLK_ZX,CLK_PLL1_DIV2, 2, 1), - DEF_FIXED("s0d1", R8A7796_CLK_S0D1, CLK_S0, 1, 1), - DEF_FIXED("s0d2", R8A7796_CLK_S0D2, CLK_S0, 2, 1), - DEF_FIXED("s0d3", R8A7796_CLK_S0D3, CLK_S0, 3, 1), - DEF_FIXED("s0d4", R8A7796_CLK_S0D4, CLK_S0, 4, 1), - DEF_FIXED("s0d6", R8A7796_CLK_S0D6, CLK_S0, 6, 1), - DEF_FIXED("s0d8", R8A7796_CLK_S0D8, CLK_S0, 8, 1), - DEF_FIXED("s0d12", R8A7796_CLK_S0D12, CLK_S0,12, 1), - DEF_FIXED("s1d1", R8A7796_CLK_S1D1, CLK_S1, 1, 1), - DEF_FIXED("s1d2", R8A7796_CLK_S1D2, CLK_S1, 2, 1), - DEF_FIXED("s1d4", R8A7796_CLK_S1D4, CLK_S1, 4, 1), - DEF_FIXED("s2d1", R8A7796_CLK_S2D1, CLK_S2, 1, 1), - DEF_FIXED("s2d2", R8A7796_CLK_S2D2, CLK_S2, 2, 1), - DEF_FIXED("s2d4", R8A7796_CLK_S2D4, CLK_S2, 4, 1), - DEF_FIXED("s3d1", R8A7796_CLK_S3D1, CLK_S3, 1, 1), - DEF_FIXED("s3d2", R8A7796_CLK_S3D2, CLK_S3, 2, 1), - DEF_FIXED("s3d4", R8A7796_CLK_S3D4, CLK_S3, 4, 1), - - DEF_GEN3_SD("sd0", R8A7796_CLK_SD0, CLK_SDSRC, 0x074), - DEF_GEN3_SD("sd1", R8A7796_CLK_SD1, CLK_SDSRC, 0x078), - DEF_GEN3_SD("sd2", R8A7796_CLK_SD2, CLK_SDSRC, 0x268), - DEF_GEN3_SD("sd3", R8A7796_CLK_SD3, CLK_SDSRC, 0x26c), - - DEF_FIXED("cl", R8A7796_CLK_CL,CLK_PLL1_DIV2, 48, 1), - DEF_FIXED("cp", R8A7796_CLK_CP,CLK_EXTAL, 2, 1), + DEF_FIXED("ztr",R8A7795_CLK_ZTR, CLK_PLL1_DIV2, 6, 1), + DEF_FIXED("ztrd2", R8A7795_CLK_ZTRD2, CLK_PLL1_DIV2, 12, 1), + DEF_FIXED("zt", R8A7795_CLK_ZT,CLK_PLL1_DIV2, 4, 1), + DEF_FIXED("zx", R8A7795_CLK_ZX,CLK_PLL1_DIV2, 2, 1), + DEF_FIXED("s0d1", R8A7795_CLK_S0D1, CLK_S0, 1, 1), + DEF_FIXED("s0d2", R8A7795_CLK_S0D2, CLK_S0, 2, 1), + DEF_FIXED("s0d3", R8A7795_CLK_S0D3, CLK_S0, 3, 1), + DEF_FIXED("s0d4", R8A7795_CLK_S0D4, CLK_S0, 4, 1), + DEF_FIXED("s0d6", R8A7795_CLK_S0D6, CLK_S0, 6, 1), + DEF_FIXED("s0d8", R8A7795_CLK_S0D8, CLK_S0, 8, 1), + DEF_FIXED("s0d12", R8A7795_CLK_S0D12, CLK_S0,12, 1), + DEF_FIXED("s1d1", R8A7795_CLK_S1D1, CLK_S1, 1, 1), + DEF_FIXED("s1d2", R8A7795_CLK_S1D2, CLK_S1, 2, 1), + DEF_FIXED("s1d4", R8A7795_CLK_S1D4, CLK_S1, 4, 1), + DEF_FIXED("s2d1", R8A7795_CLK_S2D1, CLK_S2, 1, 1), + DEF_FIXED("s2d2", R8A7795_CLK_S2D2, CLK_S2, 2, 1), + DEF_FIXED("s2d4", R8A7795_CLK_S2D4, CLK_S2, 4, 1), + DEF_FIXED("s3d1", R8A7795_CLK_S3D1, CLK_S3, 1, 1), + DEF_FIXED("s3d2", R8A7795_CLK_S3D2, CLK_S3, 2, 1), + DEF_FIXED("s3d4", R8A7795_CLK_S3D4, CLK_S3, 4, 1), + + DEF_GEN3_SD("sd0", R8A7795_CLK_SD0, CLK_SDSRC, 0x074), + DEF_GEN3_SD("sd1",
[U-Boot] [PATCH 12/12] ARM: rmobile: Enable MMC and USB DM on ULCB
Enable the MMC and USB DM on the board since it's the modern method and now supported by the drivers. Signed-off-by: Marek VasutCc: Nobuhiro Iwamatsu --- configs/r8a7795_ulcb_defconfig | 2 ++ configs/r8a7796_ulcb_defconfig | 2 ++ 2 files changed, 4 insertions(+) diff --git a/configs/r8a7795_ulcb_defconfig b/configs/r8a7795_ulcb_defconfig index 82e5942091..42913dffaf 100644 --- a/configs/r8a7795_ulcb_defconfig +++ b/configs/r8a7795_ulcb_defconfig @@ -21,11 +21,13 @@ CONFIG_OF_CONTROL=y CONFIG_ENV_IS_IN_MMC=y CONFIG_CLK=y CONFIG_CLK_RENESAS=y +CONFIG_DM_MMC=y CONFIG_SH_SDHI=y CONFIG_DM_ETH=y CONFIG_RENESAS_RAVB=y CONFIG_SCIF_CONSOLE=y CONFIG_USB=y +CONFIG_DM_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_SMBIOS_MANUFACTURER="" diff --git a/configs/r8a7796_ulcb_defconfig b/configs/r8a7796_ulcb_defconfig index 160bde2ef3..e5f560612b 100644 --- a/configs/r8a7796_ulcb_defconfig +++ b/configs/r8a7796_ulcb_defconfig @@ -22,11 +22,13 @@ CONFIG_OF_CONTROL=y CONFIG_ENV_IS_IN_MMC=y CONFIG_CLK=y CONFIG_CLK_RENESAS=y +CONFIG_DM_MMC=y CONFIG_SH_SDHI=y CONFIG_DM_ETH=y CONFIG_RENESAS_RAVB=y CONFIG_SCIF_CONSOLE=y CONFIG_USB=y +CONFIG_DM_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_SMBIOS_MANUFACTURER="" -- 2.11.0 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 02/12] ARM: rmobile: Add u-boot, dm-pre-reloc to clock nodes on Gen3
We need the clock available very early, add the u-boot,dm-pre-reloc DT property on those nodes, so they come up very in the process. Signed-off-by: Marek VasutCc: Nobuhiro Iwamatsu --- arch/arm/dts/r8a7795.dtsi | 4 arch/arm/dts/r8a7796.dtsi | 4 2 files changed, 8 insertions(+) diff --git a/arch/arm/dts/r8a7795.dtsi b/arch/arm/dts/r8a7795.dtsi index e99d6443b3..110d0681c8 100644 --- a/arch/arm/dts/r8a7795.dtsi +++ b/arch/arm/dts/r8a7795.dtsi @@ -129,6 +129,7 @@ #clock-cells = <0>; /* This value must be overridden by the board */ clock-frequency = <0>; + u-boot,dm-pre-reloc; }; extalr_clk: extalr { @@ -136,6 +137,7 @@ #clock-cells = <0>; /* This value must be overridden by the board */ clock-frequency = <0>; + u-boot,dm-pre-reloc; }; /* @@ -189,6 +191,7 @@ #address-cells = <2>; #size-cells = <2>; ranges; + u-boot,dm-pre-reloc; gic: interrupt-controller@f101 { compatible = "arm,gic-400"; @@ -380,6 +383,7 @@ #clock-cells = <2>; #power-domain-cells = <0>; #reset-cells = <1>; + u-boot,dm-pre-reloc; }; rst: reset-controller@e616 { diff --git a/arch/arm/dts/r8a7796.dtsi b/arch/arm/dts/r8a7796.dtsi index 2ec1ed5f49..298df5db9f 100644 --- a/arch/arm/dts/r8a7796.dtsi +++ b/arch/arm/dts/r8a7796.dtsi @@ -111,6 +111,7 @@ #clock-cells = <0>; /* This value must be overridden by the board */ clock-frequency = <0>; + u-boot,dm-pre-reloc; }; extalr_clk: extalr { @@ -118,6 +119,7 @@ #clock-cells = <0>; /* This value must be overridden by the board */ clock-frequency = <0>; + u-boot,dm-pre-reloc; }; /* External CAN clock - to be overridden by boards that provide it */ @@ -140,6 +142,7 @@ #address-cells = <2>; #size-cells = <2>; ranges; + u-boot,dm-pre-reloc; gic: interrupt-controller@f101 { compatible = "arm,gic-400"; @@ -333,6 +336,7 @@ #clock-cells = <2>; #power-domain-cells = <0>; #reset-cells = <1>; + u-boot,dm-pre-reloc; }; rst: reset-controller@e616 { -- 2.11.0 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 05/12] ARM: rmobile: Remove RAVB probing from Salvator-X board
Drop the RAVB bit from the board since RAVB now probes from DT instead. Signed-off-by: Marek VasutCc: Nobuhiro Iwamatsu --- board/renesas/salvator-x/salvator-x.c | 11 --- 1 file changed, 11 deletions(-) diff --git a/board/renesas/salvator-x/salvator-x.c b/board/renesas/salvator-x/salvator-x.c index 6270de4e40..ce3892da90 100644 --- a/board/renesas/salvator-x/salvator-x.c +++ b/board/renesas/salvator-x/salvator-x.c @@ -161,17 +161,6 @@ int board_init(void) return 0; } -static struct eth_pdata salvator_x_ravb_platdata = { - .iobase = 0xE680, - .phy_interface = 0, - .max_speed = 1000, -}; - -U_BOOT_DEVICE(salvator_x_ravb) = { - .name = "ravb", - .platdata = _x_ravb_platdata, -}; - #ifdef CONFIG_SH_SDHI int board_mmc_init(bd_t *bis) { -- 2.11.0 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 04/12] ARM: rmobile: Enable HUSH parser
The HUSH parser was disabled somewhere along the way, reenable it. Signed-off-by: Marek VasutCc: Alexandru Gagniuc Cc: Joe Hershberger --- configs/r8a7795_salvator-x_defconfig | 1 + configs/r8a7795_ulcb_defconfig | 1 + configs/r8a7796_salvator-x_defconfig | 1 + configs/r8a7796_ulcb_defconfig | 1 + 4 files changed, 4 insertions(+) diff --git a/configs/r8a7795_salvator-x_defconfig b/configs/r8a7795_salvator-x_defconfig index 3d36698127..d83eaf2b67 100644 --- a/configs/r8a7795_salvator-x_defconfig +++ b/configs/r8a7795_salvator-x_defconfig @@ -10,6 +10,7 @@ CONFIG_USE_BOOTARGS=y CONFIG_BOOTARGS="console=ttySC0,115200 rw root=/dev/nfs nfsroot=192.168.0.1:/export/rfs ip=192.168.0.20" CONFIG_DEFAULT_FDT_FILE="r8a7795-salvator-x.dtb" CONFIG_VERSION_VARIABLE=y +CONFIG_HUSH_PARSER=y CONFIG_CMD_BOOTZ=y # CONFIG_CMD_IMLS is not set CONFIG_CMD_MMC=y diff --git a/configs/r8a7795_ulcb_defconfig b/configs/r8a7795_ulcb_defconfig index 8b6b03ba32..82e5942091 100644 --- a/configs/r8a7795_ulcb_defconfig +++ b/configs/r8a7795_ulcb_defconfig @@ -9,6 +9,7 @@ CONFIG_USE_BOOTARGS=y CONFIG_BOOTARGS="console=ttySC0,115200 rw root=/dev/nfs nfsroot=192.168.0.1:/export/rfs ip=192.168.0.20" CONFIG_DEFAULT_FDT_FILE="r8a7795-h3ulcb.dtb" CONFIG_VERSION_VARIABLE=y +CONFIG_HUSH_PARSER=y CONFIG_CMD_BOOTZ=y # CONFIG_CMD_IMLS is not set CONFIG_CMD_MMC=y diff --git a/configs/r8a7796_salvator-x_defconfig b/configs/r8a7796_salvator-x_defconfig index 10aa0bed44..141316127a 100644 --- a/configs/r8a7796_salvator-x_defconfig +++ b/configs/r8a7796_salvator-x_defconfig @@ -11,6 +11,7 @@ CONFIG_USE_BOOTARGS=y CONFIG_BOOTARGS="console=ttySC0,115200 rw root=/dev/nfs nfsroot=192.168.0.1:/export/rfs ip=192.168.0.20" CONFIG_DEFAULT_FDT_FILE="r8a7796-salvator-x.dtb" CONFIG_VERSION_VARIABLE=y +CONFIG_HUSH_PARSER=y CONFIG_CMD_BOOTZ=y # CONFIG_CMD_IMLS is not set CONFIG_CMD_MMC=y diff --git a/configs/r8a7796_ulcb_defconfig b/configs/r8a7796_ulcb_defconfig index bc995deea0..160bde2ef3 100644 --- a/configs/r8a7796_ulcb_defconfig +++ b/configs/r8a7796_ulcb_defconfig @@ -10,6 +10,7 @@ CONFIG_USE_BOOTARGS=y CONFIG_BOOTARGS="console=ttySC0,115200 rw root=/dev/nfs nfsroot=192.168.0.1:/export/rfs ip=192.168.0.20" CONFIG_DEFAULT_FDT_FILE="r8a7796-m3ulcb.dtb" CONFIG_VERSION_VARIABLE=y +CONFIG_HUSH_PARSER=y CONFIG_CMD_BOOTZ=y # CONFIG_CMD_IMLS is not set CONFIG_CMD_MMC=y -- 2.11.0 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 07/12] ARM: rmobile: Remove Serial SH probing from Salvator-X board
Drop the Serial SH bit from the board since UART now probes from DT instead. Signed-off-by: Marek VasutCc: Nobuhiro Iwamatsu --- board/renesas/salvator-x/salvator-x.c | 12 1 file changed, 12 deletions(-) diff --git a/board/renesas/salvator-x/salvator-x.c b/board/renesas/salvator-x/salvator-x.c index ce3892da90..4ed80f5493 100644 --- a/board/renesas/salvator-x/salvator-x.c +++ b/board/renesas/salvator-x/salvator-x.c @@ -300,15 +300,3 @@ void reset_cpu(ulong addr) writel(RST_CODE, RST_CA57RESCNT); #endif } - -static const struct sh_serial_platdata serial_platdata = { - .base = SCIF2_BASE, - .type = PORT_SCIF, - .clk = CONFIG_SH_SCIF_CLK_FREQ, - .clk_mode = INT_CLK, -}; - -U_BOOT_DEVICE(salvator_x_scif2) = { - .name = "serial_sh", - .platdata = _platdata, -}; -- 2.11.0 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 03/12] ARM: rmobile: Enable KSZ90X1 PHY on Salvator-X
Commit da3b9e7fd6a1 (Move PHY_MICREL and PHY_MICREL_KSZ90X1 to Kconfig) broke ethernet support on R8A779x Salvator-X boards by disabling the KSZ90x1 PHY in Kconfig. Reenable it. Signed-off-by: Marek VasutCc: Alexandru Gagniuc Cc: Joe Hershberger --- configs/r8a7795_salvator-x_defconfig | 1 + configs/r8a7796_salvator-x_defconfig | 1 + 2 files changed, 2 insertions(+) diff --git a/configs/r8a7795_salvator-x_defconfig b/configs/r8a7795_salvator-x_defconfig index f517e0e7ab..3d36698127 100644 --- a/configs/r8a7795_salvator-x_defconfig +++ b/configs/r8a7795_salvator-x_defconfig @@ -24,6 +24,7 @@ CONFIG_CLK=y CONFIG_CLK_RENESAS=y CONFIG_SH_SDHI=y CONFIG_PHY_MICREL=y +CONFIG_PHY_MICREL_KSZ90X1=y CONFIG_DM_ETH=y CONFIG_RENESAS_RAVB=y CONFIG_SCIF_CONSOLE=y diff --git a/configs/r8a7796_salvator-x_defconfig b/configs/r8a7796_salvator-x_defconfig index 247f8785e3..10aa0bed44 100644 --- a/configs/r8a7796_salvator-x_defconfig +++ b/configs/r8a7796_salvator-x_defconfig @@ -25,6 +25,7 @@ CONFIG_CLK=y CONFIG_CLK_RENESAS=y CONFIG_SH_SDHI=y CONFIG_PHY_MICREL=y +CONFIG_PHY_MICREL_KSZ90X1=y CONFIG_DM_ETH=y CONFIG_RENESAS_RAVB=y CONFIG_SCIF_CONSOLE=y -- 2.11.0 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 09/12] ARM: rmobile: Remove SH SDHI probing from Salvator-X board
Drop the SH SDHI bit from the board since SD now probes from DT instead. Signed-off-by: Marek VasutCc: Nobuhiro Iwamatsu --- board/renesas/salvator-x/salvator-x.c | 16 +--- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/board/renesas/salvator-x/salvator-x.c b/board/renesas/salvator-x/salvator-x.c index 4ed80f5493..a09cd56d66 100644 --- a/board/renesas/salvator-x/salvator-x.c +++ b/board/renesas/salvator-x/salvator-x.c @@ -164,8 +164,6 @@ int board_init(void) #ifdef CONFIG_SH_SDHI int board_mmc_init(bd_t *bis) { - int ret = -ENODEV; - /* SDHI0 */ gpio_request(GPIO_GFN_SD0_DAT0, NULL); gpio_request(GPIO_GFN_SD0_DAT1, NULL); @@ -181,11 +179,6 @@ int board_mmc_init(bd_t *bis) gpio_direction_output(GPIO_GP_5_2, 1); /* power on */ gpio_direction_output(GPIO_GP_5_1, 1); /* 1: 3.3V, 0: 1.8V */ - ret = sh_sdhi_init(CONFIG_SYS_SH_SDHI0_BASE, 0, - SH_SDHI_QUIRK_64BIT_BUF); - if (ret) - return ret; - /* SDHI1/SDHI2 eMMC */ gpio_request(GPIO_GFN_SD1_DAT0, NULL); gpio_request(GPIO_GFN_SD1_DAT1, NULL); @@ -208,11 +201,6 @@ int board_mmc_init(bd_t *bis) gpio_direction_output(GPIO_GP_5_3, 0); /* 1: 3.3V, 0: 1.8V */ gpio_direction_output(GPIO_GP_5_9, 0); /* 1: 3.3V, 0: 1.8V */ - ret = sh_sdhi_init(CONFIG_SYS_SH_SDHI2_BASE, 1, - SH_SDHI_QUIRK_64BIT_BUF); - if (ret) - return ret; - #if defined(CONFIG_R8A7795) /* SDHI3 */ gpio_request(GPIO_GFN_SD3_DAT0, NULL); /* GP_4_9 */ @@ -240,9 +228,7 @@ int board_mmc_init(bd_t *bis) gpio_direction_output(GPIO_GP_3_15, 1); /* power on */ gpio_direction_output(GPIO_GP_3_14, 1); /* 1: 3.3V, 0: 1.8V */ - ret = sh_sdhi_init(CONFIG_SYS_SH_SDHI3_BASE, 2, - SH_SDHI_QUIRK_64BIT_BUF); - return ret; + return 0; } #endif -- 2.11.0 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 06/12] ARM: rmobile: Remove RAVB probing from ULCB board
Drop the RAVB bit from the board since RAVB now probes from DT instead. Signed-off-by: Marek VasutCc: Nobuhiro Iwamatsu --- board/renesas/ulcb/ulcb.c | 11 --- 1 file changed, 11 deletions(-) diff --git a/board/renesas/ulcb/ulcb.c b/board/renesas/ulcb/ulcb.c index 4005ec8ad5..e249bd27d4 100644 --- a/board/renesas/ulcb/ulcb.c +++ b/board/renesas/ulcb/ulcb.c @@ -140,17 +140,6 @@ int board_init(void) return 0; } -static struct eth_pdata salvator_x_ravb_platdata = { - .iobase = 0xE680, - .phy_interface = 0, - .max_speed = 1000, -}; - -U_BOOT_DEVICE(salvator_x_ravb) = { - .name = "ravb", - .platdata = _x_ravb_platdata, -}; - #ifdef CONFIG_SH_SDHI int board_mmc_init(bd_t *bis) { -- 2.11.0 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 10/12] ARM: rmobile: Remove SH SDHI probing from ULCB board
Drop the SH SDHI bit from the board since SD now probes from DT instead. Signed-off-by: Marek VasutCc: Nobuhiro Iwamatsu --- board/renesas/ulcb/ulcb.c | 12 +--- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/board/renesas/ulcb/ulcb.c b/board/renesas/ulcb/ulcb.c index 6b080311d0..068cbdea03 100644 --- a/board/renesas/ulcb/ulcb.c +++ b/board/renesas/ulcb/ulcb.c @@ -143,8 +143,6 @@ int board_init(void) #ifdef CONFIG_SH_SDHI int board_mmc_init(bd_t *bis) { - int ret = -ENODEV; - /* SDHI0 */ gpio_request(GPIO_GFN_SD0_DAT0, NULL); gpio_request(GPIO_GFN_SD0_DAT1, NULL); @@ -160,11 +158,6 @@ int board_mmc_init(bd_t *bis) gpio_direction_output(GPIO_GP_5_2, 1); /* power on */ gpio_direction_output(GPIO_GP_5_1, 1); /* 1: 3.3V, 0: 1.8V */ - ret = sh_sdhi_init(CONFIG_SYS_SH_SDHI0_BASE, 0, - SH_SDHI_QUIRK_64BIT_BUF); - if (ret) - return ret; - /* SDHI1/SDHI2 eMMC */ gpio_request(GPIO_GFN_SD1_DAT0, NULL); gpio_request(GPIO_GFN_SD1_DAT1, NULL); @@ -187,10 +180,7 @@ int board_mmc_init(bd_t *bis) gpio_direction_output(GPIO_GP_5_3, 0); /* 1: 3.3V, 0: 1.8V */ gpio_direction_output(GPIO_GP_5_9, 0); /* 1: 3.3V, 0: 1.8V */ - ret = sh_sdhi_init(CONFIG_SYS_SH_SDHI2_BASE, 1, - SH_SDHI_QUIRK_64BIT_BUF); - - return ret; + return 0; } #endif -- 2.11.0 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 11/12] ARM: rmobile: Enable MMC and USB DM on Salvator-X
Enable the MMC and USB DM on the board since it's the modern method and now supported by the drivers. Signed-off-by: Marek VasutCc: Nobuhiro Iwamatsu --- configs/r8a7795_salvator-x_defconfig | 2 ++ configs/r8a7796_salvator-x_defconfig | 2 ++ 2 files changed, 4 insertions(+) diff --git a/configs/r8a7795_salvator-x_defconfig b/configs/r8a7795_salvator-x_defconfig index d83eaf2b67..d53504a5bb 100644 --- a/configs/r8a7795_salvator-x_defconfig +++ b/configs/r8a7795_salvator-x_defconfig @@ -23,6 +23,7 @@ CONFIG_CMD_FAT=y CONFIG_OF_CONTROL=y CONFIG_CLK=y CONFIG_CLK_RENESAS=y +CONFIG_DM_MMC=y CONFIG_SH_SDHI=y CONFIG_PHY_MICREL=y CONFIG_PHY_MICREL_KSZ90X1=y @@ -30,6 +31,7 @@ CONFIG_DM_ETH=y CONFIG_RENESAS_RAVB=y CONFIG_SCIF_CONSOLE=y CONFIG_USB=y +CONFIG_DM_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_SMBIOS_MANUFACTURER="" diff --git a/configs/r8a7796_salvator-x_defconfig b/configs/r8a7796_salvator-x_defconfig index 141316127a..d18bf2e965 100644 --- a/configs/r8a7796_salvator-x_defconfig +++ b/configs/r8a7796_salvator-x_defconfig @@ -24,6 +24,7 @@ CONFIG_CMD_FAT=y CONFIG_OF_CONTROL=y CONFIG_CLK=y CONFIG_CLK_RENESAS=y +CONFIG_DM_MMC=y CONFIG_SH_SDHI=y CONFIG_PHY_MICREL=y CONFIG_PHY_MICREL_KSZ90X1=y @@ -31,6 +32,7 @@ CONFIG_DM_ETH=y CONFIG_RENESAS_RAVB=y CONFIG_SCIF_CONSOLE=y CONFIG_USB=y +CONFIG_DM_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y CONFIG_SMBIOS_MANUFACTURER="" -- 2.11.0 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 4/5] mmc: uniphier-sd: Add support for quirks
Check if the OF match has any associated data and if so, use those data as the controller quirks, otherwise fallback to the old method of reading the controller version register to figure out the quirks. This allows us to supply controller quirks on controllers which ie. do not have version register. Signed-off-by: Marek VasutCc: Masahiro Yamada Cc: Jaehoon Chung --- drivers/mmc/uniphier-sd.c | 23 ++- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/drivers/mmc/uniphier-sd.c b/drivers/mmc/uniphier-sd.c index 0b594a0c90..77a6d60c5c 100644 --- a/drivers/mmc/uniphier-sd.c +++ b/drivers/mmc/uniphier-sd.c @@ -752,6 +752,7 @@ static int uniphier_sd_probe(struct udevice *dev) struct uniphier_sd_plat *plat = dev_get_platdata(dev); struct uniphier_sd_priv *priv = dev_get_priv(dev); struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev); + const u32 quirks = dev_get_driver_data(dev); fdt_addr_t base; struct clk clk; int ret; @@ -803,18 +804,22 @@ static int uniphier_sd_probe(struct udevice *dev) return -EINVAL; } + if (quirks) { + priv->caps = quirks; + } else { + priv->version = uniphier_sd_readl(priv, UNIPHIER_SD_VERSION) & + UNIPHIER_SD_VERSION_IP; + dev_dbg(dev, "version %x\n", priv->version); + if (priv->version >= 0x10) { + priv->caps |= UNIPHIER_SD_CAP_DMA_INTERNAL; + priv->caps |= UNIPHIER_SD_CAP_DIV1024; + } + } + if (fdt_get_property(gd->fdt_blob, dev_of_offset(dev), "non-removable", NULL)) priv->caps |= UNIPHIER_SD_CAP_NONREMOVABLE; - priv->version = uniphier_sd_readl(priv, UNIPHIER_SD_VERSION) & - UNIPHIER_SD_VERSION_IP; - dev_dbg(dev, "version %x\n", priv->version); - if (priv->version >= 0x10) { - priv->caps |= UNIPHIER_SD_CAP_DMA_INTERNAL; - priv->caps |= UNIPHIER_SD_CAP_DIV1024; - } - uniphier_sd_host_init(priv); plat->cfg.voltages = MMC_VDD_165_195 | MMC_VDD_32_33 | MMC_VDD_33_34; @@ -829,7 +834,7 @@ static int uniphier_sd_probe(struct udevice *dev) } static const struct udevice_id uniphier_sd_match[] = { - { .compatible = "socionext,uniphier-sdhc" }, + { .compatible = "socionext,uniphier-sdhc", .data = 0 }, { /* sentinel */ } }; -- 2.11.0 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 5/5] mmc: uniphier-sd: Add support for R8A7795 and R7A7796
Add OF match entries and quirks for Renesas RCar Gen3 controllers into the driver. The IP this driver handles is in fact Matsushita one and in used both in Socionext and Renesas chips. Signed-off-by: Marek VasutCc: Masahiro Yamada Cc: Jaehoon Chung --- drivers/mmc/Kconfig | 7 --- drivers/mmc/uniphier-sd.c | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig index 56c352e72a..892437ed91 100644 --- a/drivers/mmc/Kconfig +++ b/drivers/mmc/Kconfig @@ -162,12 +162,13 @@ config SH_SDHI Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform config MMC_UNIPHIER - bool "UniPhier SD/MMC Host Controller support" - depends on ARCH_UNIPHIER + bool "UniPhier/RCar SD/MMC Host Controller support" + depends on ARCH_UNIPHIER || ARCH_RMOBILE depends on BLK && DM_MMC depends on OF_CONTROL help - This selects support for the SD/MMC Host Controller on UniPhier SoCs. + This selects support for the Matsushita SD/MMC Host Controller on + SocioNext UniPhier and Renesas RCar SoCs. config MMC_SANDBOX bool "Sandbox MMC support" diff --git a/drivers/mmc/uniphier-sd.c b/drivers/mmc/uniphier-sd.c index 77a6d60c5c..5c16f88d9c 100644 --- a/drivers/mmc/uniphier-sd.c +++ b/drivers/mmc/uniphier-sd.c @@ -834,6 +834,8 @@ static int uniphier_sd_probe(struct udevice *dev) } static const struct udevice_id uniphier_sd_match[] = { + { .compatible = "renesas,sdhi-r8a7795", .data = UNIPHIER_SD_CAP_64BIT }, + { .compatible = "renesas,sdhi-r8a7796", .data = UNIPHIER_SD_CAP_64BIT }, { .compatible = "socionext,uniphier-sdhc", .data = 0 }, { /* sentinel */ } }; -- 2.11.0 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 2/5] mmc: uniphier-sd: Add support for 64bit controller
The Renesas RCar Gen3 contains the same controller, originally Matsushita, yet the register addresses are shifted by 1 to the left. The whole controller is also 64bit, including the data FIFOs and RSP registers. This patch adds support for handling the register IO by shifting the register offset by 1 in the IO accessor functions. Signed-off-by: Marek VasutCc: Masahiro Yamada Cc: Jaehoon Chung --- drivers/mmc/uniphier-sd.c | 11 +-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/uniphier-sd.c b/drivers/mmc/uniphier-sd.c index cb53b28737..bb9b2c4e04 100644 --- a/drivers/mmc/uniphier-sd.c +++ b/drivers/mmc/uniphier-sd.c @@ -132,17 +132,24 @@ struct uniphier_sd_priv { #define UNIPHIER_SD_CAP_NONREMOVABLE BIT(0) /* Nonremovable e.g. eMMC */ #define UNIPHIER_SD_CAP_DMA_INTERNAL BIT(1) /* have internal DMA engine */ #define UNIPHIER_SD_CAP_DIV1024BIT(2) /* divisor 1024 is available */ +#define UNIPHIER_SD_CAP_64BIT BIT(3) /* Controller is 64bit */ }; static u32 uniphier_sd_readl(struct uniphier_sd_priv *priv, unsigned int reg) { - return readl(priv->regbase + reg); + if (priv->caps & UNIPHIER_SD_CAP_64BIT) + return readl(priv->regbase + (reg << 1)); + else + return readl(priv->regbase + reg); } static void uniphier_sd_writel(struct uniphier_sd_priv *priv, u32 val, unsigned int reg) { - writel(val, priv->regbase + reg); + if (priv->caps & UNIPHIER_SD_CAP_64BIT) + writel(val, priv->regbase + (reg << 1)); + else + writel(val, priv->regbase + reg); } static dma_addr_t __dma_map_single(void *ptr, size_t size, -- 2.11.0 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH V3 3/5] mmc: uniphier-sd: Add support for 64bit FIFO
The Renesas RCar Gen3 contains the same controller, originally Matsushita. This patch adds support for handling of the 64bit FIFO on this controller. Signed-off-by: Marek VasutCc: Masahiro Yamada Cc: Jaehoon Chung --- V2: - Use unsigned int for the reg argument of IO accessors - Rework the handling of aligned and unaligned data V3: Remove const ... --- drivers/mmc/uniphier-sd.c | 101 +- 1 file changed, 83 insertions(+), 18 deletions(-) diff --git a/drivers/mmc/uniphier-sd.c b/drivers/mmc/uniphier-sd.c index bb9b2c4e04..0b594a0c90 100644 --- a/drivers/mmc/uniphier-sd.c +++ b/drivers/mmc/uniphier-sd.c @@ -135,6 +135,23 @@ struct uniphier_sd_priv { #define UNIPHIER_SD_CAP_64BIT BIT(3) /* Controller is 64bit */ }; +static u64 uniphier_sd_readq(struct uniphier_sd_priv *priv, unsigned int reg) +{ + if (priv->caps & UNIPHIER_SD_CAP_64BIT) + return readq(priv->regbase + (reg << 1)); + else + return readq(priv->regbase + reg); +} + +static void uniphier_sd_writeq(struct uniphier_sd_priv *priv, + u64 val, unsigned int reg) +{ + if (priv->caps & UNIPHIER_SD_CAP_64BIT) + writeq(val, priv->regbase + (reg << 1)); + else + writeq(val, priv->regbase + reg); +} + static u32 uniphier_sd_readl(struct uniphier_sd_priv *priv, unsigned int reg) { if (priv->caps & UNIPHIER_SD_CAP_64BIT) @@ -229,7 +246,7 @@ static int uniphier_sd_wait_for_irq(struct udevice *dev, unsigned int reg, return 0; } -static int uniphier_sd_pio_read_one_block(struct udevice *dev, u32 **pbuf, +static int uniphier_sd_pio_read_one_block(struct udevice *dev, char *pbuf, uint blocksize) { struct uniphier_sd_priv *priv = dev_get_priv(dev); @@ -247,20 +264,42 @@ static int uniphier_sd_pio_read_one_block(struct udevice *dev, u32 **pbuf, */ uniphier_sd_writel(priv, 0, UNIPHIER_SD_INFO2); - if (likely(IS_ALIGNED((unsigned long)*pbuf, 4))) { - for (i = 0; i < blocksize / 4; i++) - *(*pbuf)++ = uniphier_sd_readl(priv, UNIPHIER_SD_BUF); + if (priv->caps & UNIPHIER_SD_CAP_64BIT) { + u64 *buf = (u64 *)pbuf; + if (likely(IS_ALIGNED((uintptr_t)buf, 8))) { + for (i = 0; i < blocksize / 8; i++) { + *buf++ = uniphier_sd_readq(priv, + UNIPHIER_SD_BUF); + } + } else { + for (i = 0; i < blocksize / 8; i++) { + u64 data; + data = uniphier_sd_readq(priv, +UNIPHIER_SD_BUF); + put_unaligned(data, buf++); + } + } } else { - for (i = 0; i < blocksize / 4; i++) - put_unaligned(uniphier_sd_readl(priv, UNIPHIER_SD_BUF), - (*pbuf)++); + u32 *buf = (u32 *)pbuf; + if (likely(IS_ALIGNED((uintptr_t)buf, 4))) { + for (i = 0; i < blocksize / 4; i++) { + *buf++ = uniphier_sd_readl(priv, + UNIPHIER_SD_BUF); + } + } else { + for (i = 0; i < blocksize / 4; i++) { + u32 data; + data = uniphier_sd_readl(priv, UNIPHIER_SD_BUF); + put_unaligned(data, buf++); + } + } } return 0; } static int uniphier_sd_pio_write_one_block(struct udevice *dev, - const u32 **pbuf, uint blocksize) + const char *pbuf, uint blocksize) { struct uniphier_sd_priv *priv = dev_get_priv(dev); int i, ret; @@ -273,13 +312,34 @@ static int uniphier_sd_pio_write_one_block(struct udevice *dev, uniphier_sd_writel(priv, 0, UNIPHIER_SD_INFO2); - if (likely(IS_ALIGNED((unsigned long)*pbuf, 4))) { - for (i = 0; i < blocksize / 4; i++) - uniphier_sd_writel(priv, *(*pbuf)++, UNIPHIER_SD_BUF); + if (priv->caps & UNIPHIER_SD_CAP_64BIT) { + const u64 *buf = (const u64 *)pbuf; + if (likely(IS_ALIGNED((uintptr_t)buf, 8))) { + for (i = 0; i < blocksize / 8; i++) { + uniphier_sd_writeq(priv, *buf++, + UNIPHIER_SD_BUF); + } + } else { +
[U-Boot] [PATCH V3 1/5] mmc: uniphier-sd: Factor out register IO
This patch prepares the driver to support controller(s) with registers at locations shifted by constant. Pull out the readl()/writel() from the driver into separate functions, where the adjustment of the register offset can be easily contained. Signed-off-by: Marek VasutCc: Masahiro Yamada Cc: Jaehoon Chung --- V2: Use unsigned int for the reg argument V3: Remove const ... --- drivers/mmc/uniphier-sd.c | 115 +- 1 file changed, 63 insertions(+), 52 deletions(-) diff --git a/drivers/mmc/uniphier-sd.c b/drivers/mmc/uniphier-sd.c index e272b14153..cb53b28737 100644 --- a/drivers/mmc/uniphier-sd.c +++ b/drivers/mmc/uniphier-sd.c @@ -134,6 +134,17 @@ struct uniphier_sd_priv { #define UNIPHIER_SD_CAP_DIV1024BIT(2) /* divisor 1024 is available */ }; +static u32 uniphier_sd_readl(struct uniphier_sd_priv *priv, unsigned int reg) +{ + return readl(priv->regbase + reg); +} + +static void uniphier_sd_writel(struct uniphier_sd_priv *priv, + u32 val, unsigned int reg) +{ + writel(val, priv->regbase + reg); +} + static dma_addr_t __dma_map_single(void *ptr, size_t size, enum dma_data_direction dir) { @@ -157,7 +168,7 @@ static void __dma_unmap_single(dma_addr_t addr, size_t size, static int uniphier_sd_check_error(struct udevice *dev) { struct uniphier_sd_priv *priv = dev_get_priv(dev); - u32 info2 = readl(priv->regbase + UNIPHIER_SD_INFO2); + u32 info2 = uniphier_sd_readl(priv, UNIPHIER_SD_INFO2); if (info2 & UNIPHIER_SD_INFO2_ERR_RTO) { /* @@ -195,7 +206,7 @@ static int uniphier_sd_wait_for_irq(struct udevice *dev, unsigned int reg, long wait = 100; int ret; - while (!(readl(priv->regbase + reg) & flag)) { + while (!(uniphier_sd_readl(priv, reg) & flag)) { if (wait-- < 0) { dev_err(dev, "timeout\n"); return -ETIMEDOUT; @@ -227,14 +238,14 @@ static int uniphier_sd_pio_read_one_block(struct udevice *dev, u32 **pbuf, * Clear the status flag _before_ read the buffer out because * UNIPHIER_SD_INFO2_BRE is edge-triggered, not level-triggered. */ - writel(0, priv->regbase + UNIPHIER_SD_INFO2); + uniphier_sd_writel(priv, 0, UNIPHIER_SD_INFO2); if (likely(IS_ALIGNED((unsigned long)*pbuf, 4))) { for (i = 0; i < blocksize / 4; i++) - *(*pbuf)++ = readl(priv->regbase + UNIPHIER_SD_BUF); + *(*pbuf)++ = uniphier_sd_readl(priv, UNIPHIER_SD_BUF); } else { for (i = 0; i < blocksize / 4; i++) - put_unaligned(readl(priv->regbase + UNIPHIER_SD_BUF), + put_unaligned(uniphier_sd_readl(priv, UNIPHIER_SD_BUF), (*pbuf)++); } @@ -253,15 +264,15 @@ static int uniphier_sd_pio_write_one_block(struct udevice *dev, if (ret) return ret; - writel(0, priv->regbase + UNIPHIER_SD_INFO2); + uniphier_sd_writel(priv, 0, UNIPHIER_SD_INFO2); if (likely(IS_ALIGNED((unsigned long)*pbuf, 4))) { for (i = 0; i < blocksize / 4; i++) - writel(*(*pbuf)++, priv->regbase + UNIPHIER_SD_BUF); + uniphier_sd_writel(priv, *(*pbuf)++, UNIPHIER_SD_BUF); } else { for (i = 0; i < blocksize / 4; i++) - writel(get_unaligned((*pbuf)++), - priv->regbase + UNIPHIER_SD_BUF); + uniphier_sd_writel(priv, get_unaligned((*pbuf)++), + UNIPHIER_SD_BUF); } return 0; @@ -292,22 +303,22 @@ static void uniphier_sd_dma_start(struct uniphier_sd_priv *priv, { u32 tmp; - writel(0, priv->regbase + UNIPHIER_SD_DMA_INFO1); - writel(0, priv->regbase + UNIPHIER_SD_DMA_INFO2); + uniphier_sd_writel(priv, 0, UNIPHIER_SD_DMA_INFO1); + uniphier_sd_writel(priv, 0, UNIPHIER_SD_DMA_INFO2); /* enable DMA */ - tmp = readl(priv->regbase + UNIPHIER_SD_EXTMODE); + tmp = uniphier_sd_readl(priv, UNIPHIER_SD_EXTMODE); tmp |= UNIPHIER_SD_EXTMODE_DMA_EN; - writel(tmp, priv->regbase + UNIPHIER_SD_EXTMODE); + uniphier_sd_writel(priv, tmp, UNIPHIER_SD_EXTMODE); - writel(dma_addr & U32_MAX, priv->regbase + UNIPHIER_SD_DMA_ADDR_L); + uniphier_sd_writel(priv, dma_addr & U32_MAX, UNIPHIER_SD_DMA_ADDR_L); /* suppress the warning "right shift count >= width of type" */ dma_addr >>= min_t(int, 32, 8 * sizeof(dma_addr)); - writel(dma_addr & U32_MAX, priv->regbase + UNIPHIER_SD_DMA_ADDR_H); + uniphier_sd_writel(priv, dma_addr & U32_MAX,
Re: [U-Boot] [PATCHv2] env: Correct case of no sub-init function
On 08/20/2017 04:27 PM, Tom Rini wrote: > With the change to the environment code to remove the common init stage > of pointing to the default environment and setting it as valid, combined > with the change to switch gd->env_valid from 0/1/2 to an enum we now > must set env_valid to one of the enum values rather than an int. And in > this case, not only was setting it to an int wrong, it was now the wrong > value. Finally, in the case of ENV_IS_NOWHERE we must still say that > our envionrment is invalid after init for things to continue to > function. > > Fixes: 7938822a6b75 ("env: Drop common init() functions") > Reported-by: Marek Vasut> Reported-by: Andy Shevchenko > Signed-off-by: Tom Rini Tested-by: Marek Vasut > --- > Changes in v2: > - Also correct env/nowhere.c so that sandbox tests function again. > --- > env/env.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/env/env.c b/env/env.c > index 2b8b9611cfff..8671f13f8d9e 100644 > --- a/env/env.c > +++ b/env/env.c > @@ -138,7 +138,7 @@ int env_init(void) > ret = drv->init(); > if (ret == -ENOENT) { > gd->env_addr = (ulong)_environment[0]; > - gd->env_valid = 0; > + gd->env_valid = ENV_VALID; > > return 0; > } else if (ret) { > -- Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCHv2] env: Correct case of no sub-init function
With the change to the environment code to remove the common init stage of pointing to the default environment and setting it as valid, combined with the change to switch gd->env_valid from 0/1/2 to an enum we now must set env_valid to one of the enum values rather than an int. And in this case, not only was setting it to an int wrong, it was now the wrong value. Finally, in the case of ENV_IS_NOWHERE we must still say that our envionrment is invalid after init for things to continue to function. Fixes: 7938822a6b75 ("env: Drop common init() functions") Reported-by: Marek VasutReported-by: Andy Shevchenko Signed-off-by: Tom Rini --- Changes in v2: - Also correct env/nowhere.c so that sandbox tests function again. --- env/env.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env/env.c b/env/env.c index 2b8b9611cfff..8671f13f8d9e 100644 --- a/env/env.c +++ b/env/env.c @@ -138,7 +138,7 @@ int env_init(void) ret = drv->init(); if (ret == -ENOENT) { gd->env_addr = (ulong)_environment[0]; - gd->env_valid = 0; + gd->env_valid = ENV_VALID; return 0; } else if (ret) { -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH 1/5] mmc: uniphier-sd: Factor out register IO
Hi Marek, 2017-08-17 20:56 GMT+09:00 Marek Vasut: > On 08/17/2017 09:01 AM, Masahiro Yamada wrote: >> 2017-08-17 15:39 GMT+09:00 Jaehoon Chung : >>> On 08/13/2017 01:55 AM, Marek Vasut wrote: On 08/10/2017 09:49 AM, Masahiro Yamada wrote: > Hi. > > > 2017-08-07 17:30 GMT+09:00 Marek Vasut : >> On 08/07/2017 04:30 AM, Masahiro Yamada wrote: >>> Hi Marek, >> >> Hi Masahiro, >> >> This is gonna be a great discussion, let's wrestle about consts and ints >> :-) >> >>> 2017-08-06 4:23 GMT+09:00 Marek Vasut : On 08/03/2017 02:36 PM, Masahiro Yamada wrote: > Hi Marek, Hi, [...] >> +static u32 uniphier_sd_readl(struct uniphier_sd_priv *priv, const >> u32 reg) > > "const" is unneeded here. Why? The function should not modify reg , so it is const. >>> >>> >>> Because "const" is useless here. >>> >>> The "reg" is not a pointer, so it is obvious >>> that there is no impact to the callers. >>> >>> >>> >>> Moreover, whether "reg" is constant or not >>> depends on how you implement the function. >>> >>> >>> If you force "const" to the argument, the only choice for the >>> implementation >>> will be as follows: >>> >>> >>> >>> static u32 uniphier_sd_readl(struct uniphier_sd_priv *priv, const u32 >>> reg) >>> { >>> if (priv->caps & UNIPHIER_SD_CAP_64BIT) >>> return readl(priv->regbase + (reg << 1)); >>> else >>> return readl(priv->regbase + reg); >>> } >>> >>> >>> >>> If you want to implement the function as follows, you need to drop >>> "const". >>> >>> static u32 uniphier_sd_readl(struct uniphier_sd_priv *priv, u32 reg) >>> { >>> if (priv->caps & UNIPHIER_SD_CAP_64BIT) >>> reg <<= 1; >>> >>> return readl(priv->regbase + reg); >>> } >> >> My argument would be that the const prevents you from accidentally >> modifying the $reg inside the function. >>> >>> Is there any case about modifying the regs value in this function? >>> Well..I think that it makes sense about both. (Masahiro and Marek opinion) >>> >>> But There is nothing wrong to prevent from accidentally. >> >> >> In my opinion, const is useful for pointer dereference, >> but unneeded in this case. >> >> I believe it is the taste >> from what I saw from Linux code. So, I follow it. > > I don't care either way, I was just wrestling Masahiro for the sake of > it (you know the thing about wrestling engineers). There's a V2, so feel > free to collect that if Masahiro can give me an AB/RB. I still see const in 1/5 and 3/5. Please remove them if my AB/RB is needed. -- Best Regards Masahiro Yamada ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [GIT PULL] u-boot-uniphier/master
Hi Tom, Please pull some more UniPhier SoC changes. - Fix unmet direct dependencies warning - Remove old sLD3 SoC support - Update reset data - Add dr_mode DT property to avoid warning The following changes since commit 2629a21e209d91cdb778f43612235ed1f3029488: Merge git://git.denx.de/u-boot-video (2017-08-19 22:11:05 -0400) are available in the git repository at: git://git.denx.de/u-boot-uniphier.git master for you to fetch changes up to 3444d1d40e9ee42ba7423f4fa6651703a8666bc1: ARM: dts: uniphier: add dr_mode property to dwc3 node (2017-08-20 23:07:02 +0900) Masahiro Yamada (6): clk: uniphier: fix unmet direct dependencies warning ARM: uniphier: remove sLD3 SoC support Revert "ARM: uniphier: move lowlevel debug init code after page table switch" Revert "ARM: uniphier: fix ROM boot mode for PH1-sLD3" reset: uniphier: refactor reset data and add NAND/eMMC reset lines ARM: dts: uniphier: add dr_mode property to dwc3 node arch/arm/Kconfig | 1 - arch/arm/dts/Makefile| 2 - arch/arm/dts/uniphier-ld20.dtsi | 1 + arch/arm/dts/uniphier-pro4.dtsi | 2 + arch/arm/dts/uniphier-pro5.dtsi | 2 + arch/arm/dts/uniphier-pxs2.dtsi | 2 + arch/arm/dts/uniphier-sld3-ref.dts | 100 - arch/arm/dts/uniphier-sld3.dtsi | 458 -- arch/arm/mach-uniphier/Kconfig | 4 - arch/arm/mach-uniphier/arm32/cache-uniphier.c| 3 - arch/arm/mach-uniphier/arm32/debug_ll.S | 21 - arch/arm/mach-uniphier/arm32/lowlevel_init.S | 18 +- arch/arm/mach-uniphier/arm32/psci.c | 1 - arch/arm/mach-uniphier/bcu/Makefile | 1 - arch/arm/mach-uniphier/bcu/bcu-sld3.c| 39 -- arch/arm/mach-uniphier/board_init.c | 9 - arch/arm/mach-uniphier/boards.c | 22 -- arch/arm/mach-uniphier/boot-device/Makefile | 1 - .../arm/mach-uniphier/boot-device/boot-device-sld3.c | 84 arch/arm/mach-uniphier/boot-device/boot-device.c | 9 - arch/arm/mach-uniphier/boot-device/boot-device.h | 2 - arch/arm/mach-uniphier/clk/Makefile | 14 +- .../clk/{clk-dram-sld3.c => clk-dram-ld4.c} | 2 +- .../clk/{clk-early-sld3.c => clk-early-ld4.c}| 2 +- arch/arm/mach-uniphier/clk/dpll-sld3.c | 13 - arch/arm/mach-uniphier/clk/pll-sld3.c| 14 - arch/arm/mach-uniphier/cpu-info.c| 4 - arch/arm/mach-uniphier/debug-uart/Makefile | 1 - arch/arm/mach-uniphier/debug-uart/debug-uart-sld3.c | 31 -- arch/arm/mach-uniphier/debug-uart/debug-uart.c | 5 - arch/arm/mach-uniphier/debug-uart/debug-uart.h | 1 - arch/arm/mach-uniphier/dram/Makefile | 1 - arch/arm/mach-uniphier/dram/umc-sld3.c | 6 - arch/arm/mach-uniphier/dram_init.c | 9 - arch/arm/mach-uniphier/init.h| 10 +- arch/arm/mach-uniphier/memconf.c | 14 +- arch/arm/mach-uniphier/mmc-boot-mode.c | 2 +- arch/arm/mach-uniphier/sc-regs.h | 4 - arch/arm/mach-uniphier/soc-info.h| 1 - arch/arm/mach-uniphier/spl_board_init.c | 29 +- configs/uniphier_sld3_defconfig | 46 --- doc/README.uniphier | 1 - drivers/clk/uniphier/Kconfig | 5 +- drivers/clk/uniphier/clk-uniphier-core.c | 4 - drivers/clk/uniphier/clk-uniphier-mio.c | 2 - drivers/pinctrl/uniphier/Kconfig | 6 - drivers/pinctrl/uniphier/Makefile| 1 - drivers/pinctrl/uniphier/pinctrl-uniphier-sld3.c | 129 -- drivers/reset/reset-uniphier.c | 71 +--- include/configs/uniphier.h | 8 +- 50 files changed, 57 insertions(+), 1161 deletions(-) delete mode 100644 arch/arm/dts/uniphier-sld3-ref.dts delete mode 100644 arch/arm/dts/uniphier-sld3.dtsi delete mode 100644 arch/arm/mach-uniphier/bcu/bcu-sld3.c delete mode 100644 arch/arm/mach-uniphier/boot-device/boot-device-sld3.c rename arch/arm/mach-uniphier/clk/{clk-dram-sld3.c => clk-dram-ld4.c} (93%) rename arch/arm/mach-uniphier/clk/{clk-early-sld3.c => clk-early-ld4.c} (93%) delete mode 100644 arch/arm/mach-uniphier/clk/dpll-sld3.c delete mode 100644 arch/arm/mach-uniphier/clk/pll-sld3.c delete mode 100644 arch/arm/mach-uniphier/debug-uart/debug-uart-sld3.c delete mode 100644 arch/arm/mach-uniphier/dram/umc-sld3.c delete mode 100644 configs/uniphier_sld3_defconfig delete mode 100644
Re: [U-Boot] [PATCH 1/5] ARM: uniphier: remove sLD3 SoC support
2017-08-13 9:01 GMT+09:00 Masahiro Yamada: > This SoC is too old. It is difficult to maintain any longer. > > Signed-off-by: Masahiro Yamada > --- Series, applied to u-boot-uniphier. ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 1/2] arm: mvebu: fix boot from UART on ClearFog Base
The ClearFog Base boot from UART when setting the DIP switches to 01001. Unfortunately, the SPL code sometimes fails to detect the UART boot method at run-time. Add an alternative SAR UART boot value to fix this. Signed-off-by: Baruch Siach--- arch/arm/mach-mvebu/include/mach/soc.h | 1 + arch/arm/mach-mvebu/spl.c | 1 + 2 files changed, 2 insertions(+) diff --git a/arch/arm/mach-mvebu/include/mach/soc.h b/arch/arm/mach-mvebu/include/mach/soc.h index 0900e4008c12..44bac63b4447 100644 --- a/arch/arm/mach-mvebu/include/mach/soc.h +++ b/arch/arm/mach-mvebu/include/mach/soc.h @@ -139,6 +139,7 @@ #define BOOT_DEV_SEL_MASK (0x3f << BOOT_DEV_SEL_OFFS) #define BOOT_FROM_UART 0x28 +#define BOOT_FROM_UART_ALT 0x3f #define BOOT_FROM_SPI 0x32 #define BOOT_FROM_MMC 0x30 #define BOOT_FROM_MMC_ALT 0x31 diff --git a/arch/arm/mach-mvebu/spl.c b/arch/arm/mach-mvebu/spl.c index 3cf02a54cea2..4b9c41360589 100644 --- a/arch/arm/mach-mvebu/spl.c +++ b/arch/arm/mach-mvebu/spl.c @@ -42,6 +42,7 @@ static u32 get_boot_device(void) return BOOT_DEVICE_MMC1; #endif case BOOT_FROM_UART: + case BOOT_FROM_UART_ALT: return BOOT_DEVICE_UART; case BOOT_FROM_SPI: default: -- 2.14.1 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 2/2] arm: mvebu: clearfog: document boot from UART
Signed-off-by: Baruch Siach--- board/solidrun/clearfog/README | 20 1 file changed, 20 insertions(+) diff --git a/board/solidrun/clearfog/README b/board/solidrun/clearfog/README index 2cfa5bfc8637..ef1e3bf42666 100644 --- a/board/solidrun/clearfog/README +++ b/board/solidrun/clearfog/README @@ -16,3 +16,23 @@ $ sudo dd if=u-boot-spl.kwb of=/dev/sdX bs=512 seek=1 Please use the correct device node for your setup instead of "/dev/sdX" here! + +Boot from UART: +--- + +Connect the on-board micro-USB (CF Pro: CON11, CF Base: CON5) +to your host. + +Set the SW1 DIP switches to UART boot (0: OFF, 1: ON): + + ClearFog Base: 01001 + ClearFog Pro: 0 + +Run the following command to initiate U-Boot download: + + ./tools/kwboot -b u-boot-spl.kwb /dev/ttyUSBX + +Use the correct UART device node for /dev/ttyUSBX. + +When download finishes start your favorite terminal emulator +on /dev/ttyUSBX. -- 2.14.1 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH] x86: tangier: kconfig: Guard tangier-specific options
These options should not be exposed to other platforms. Signed-off-by: Bin Meng--- arch/x86/cpu/tangier/Kconfig | 4 1 file changed, 4 insertions(+) diff --git a/arch/x86/cpu/tangier/Kconfig b/arch/x86/cpu/tangier/Kconfig index 86a3340..2469b1e 100644 --- a/arch/x86/cpu/tangier/Kconfig +++ b/arch/x86/cpu/tangier/Kconfig @@ -16,6 +16,8 @@ config INTEL_TANGIER imply USB imply USB_DWC3 +if INTEL_TANGIER + config SYS_CAR_ADDR hex default 0x1920 @@ -30,3 +32,5 @@ config SYS_CAR_SIZE config SYS_USB_OTG_BASE hex default 0xf910 + +endif -- 2.9.2 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH] x86: bayleybay: Adjust VGA rom address
Adjust VGA rom address to 0xfffb so that u-boot.rom image can be built again. Signed-off-by: Bin Meng--- configs/bayleybay_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/bayleybay_defconfig b/configs/bayleybay_defconfig index b17113f..f85ff94 100644 --- a/configs/bayleybay_defconfig +++ b/configs/bayleybay_defconfig @@ -5,7 +5,7 @@ CONFIG_TARGET_BAYLEYBAY=y CONFIG_INTERNAL_UART=y CONFIG_SMP=y CONFIG_HAVE_VGA_BIOS=y -CONFIG_VGA_BIOS_ADDR=0xfffa +CONFIG_VGA_BIOS_ADDR=0xfffb CONFIG_GENERATE_PIRQ_TABLE=y CONFIG_GENERATE_MP_TABLE=y CONFIG_GENERATE_ACPI_TABLE=y -- 2.9.2 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH] env: Correct case of no sub-init function
On 19 August 2017 at 20:27, Tom Riniwrote: > > With the change to the environment code to remove the common init stage > of pointing to the default environment and setting it as valid, combined > with the change to switch gd->env_valid from 0/1/2 to an enum we now > must set env_valid to one of the enum values rather than an int. And in > this case, not only was setting it to an int wrong, it was now the wrong > value. > > Fixes: 7938822a6b75 ("env: Drop common init() functions") > Reported-by: Marek Vasut > Reported-by: Andy Shevchenko > Signed-off-by: Tom Rini > --- > env/env.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Simon Glass (I sent a similar patch just now after my build completed, but please ignore it) ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 2/3] env: Allow env_load() to detect errors
Now that we have errors available in the environment driver's load() method, check the return valid. Signed-off-by: Simon Glass--- env/env.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env/env.c b/env/env.c index 8671f13f8d..1255d57f48 100644 --- a/env/env.c +++ b/env/env.c @@ -98,7 +98,7 @@ int env_load(void) return -ENODEV; if (!drv->load) return 0; - drv->load(); /* TODO(s...@chromium.org): Make this return an error */ + ret = drv->load(); if (ret) { debug("%s: Environment failed to load (err=%d)\n", __func__, ret); -- 2.14.1.480.gb18f417b89-goog ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 3/3] env: Replace all open-coded gd->env_valid values with ENV_ flags
Some of these were missed in the conversion. Signed-off-by: Simon Glass--- env/common.c | 20 ++-- env/eeprom.c | 6 +++--- env/env.c| 2 +- env/flash.c | 4 ++-- env/nand.c | 2 +- env/nvram.c | 2 +- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/env/common.c b/env/common.c index 688d5ab4c8..b403bd5f6c 100644 --- a/env/common.c +++ b/env/common.c @@ -52,7 +52,7 @@ char *env_get_default(const char *name) /* Pretend that the image is bad. */ gd->flags &= ~GD_FLG_ENV_READY; - gd->env_valid = 0; + gd->env_valid = ENV_INVALID; ret_val = env_get(name); gd->env_valid = really_valid; gd->flags = real_gd_flags; @@ -210,24 +210,24 @@ int env_import_redund(const char *buf1, const char *buf2) set_default_env("!bad CRC"); return 0; } else if (crc1_ok && !crc2_ok) { - gd->env_valid = 1; + gd->env_valid = ENV_VALID; } else if (!crc1_ok && crc2_ok) { - gd->env_valid = 2; + gd->env_valid = ENV_REDUND; } else { /* both ok - check serial */ if (tmp_env1->flags == 255 && tmp_env2->flags == 0) - gd->env_valid = 2; + gd->env_valid = ENV_REDUND; else if (tmp_env2->flags == 255 && tmp_env1->flags == 0) - gd->env_valid = 1; + gd->env_valid = ENV_VALID; else if (tmp_env1->flags > tmp_env2->flags) - gd->env_valid = 1; + gd->env_valid = ENV_VALID; else if (tmp_env2->flags > tmp_env1->flags) - gd->env_valid = 2; + gd->env_valid = ENV_REDUND; else /* flags are equal - almost impossible */ - gd->env_valid = 1; + gd->env_valid = ENV_VALID; } - if (gd->env_valid == 1) + if (gd->env_valid == ENV_VALID) ep = tmp_env1; else ep = tmp_env2; @@ -271,7 +271,7 @@ void env_relocate(void) env_reloc(); env_htab.change_ok += gd->reloc_off; #endif - if (gd->env_valid == 0) { + if (gd->env_valid == ENV_INVALID) { #if defined(CONFIG_ENV_IS_NOWHERE) || defined(CONFIG_SPL_BUILD) /* Environment not changable */ set_default_env(NULL); diff --git a/env/eeprom.c b/env/eeprom.c index 08ef6307fc..584379ebd2 100644 --- a/env/eeprom.c +++ b/env/eeprom.c @@ -122,7 +122,7 @@ static int env_eeprom_load(void) if (!crc_ok[0] && !crc_ok[1]) { gd->env_addr= 0; - gd->env_valid = 0; + gd->env_valid = ENV_INVALID; } else if (crc_ok[0] && !crc_ok[1]) { gd->env_valid = ENV_VALID; } else if (!crc_ok[0] && crc_ok[1]) { @@ -166,9 +166,9 @@ static int env_eeprom_load(void) } if (crc == new) { - gd->env_valid = ENV_VALID; + gd->env_valid = ENV_VALID; } else { - gd->env_valid = 0; + gd->env_valid = ENV_INVALID; } #endif /* CONFIG_ENV_OFFSET_REDUND */ diff --git a/env/env.c b/env/env.c index 1255d57f48..43290d0832 100644 --- a/env/env.c +++ b/env/env.c @@ -74,7 +74,7 @@ int env_get_char(int index) struct env_driver *drv = env_driver_lookup_default(); int ret; - if (!gd->env_valid) + if (gd->env_valid == ENV_INVALID) return default_environment[index]; if (!drv) return -ENODEV; diff --git a/env/flash.c b/env/flash.c index b60be57a8d..bac10ff985 100644 --- a/env/flash.c +++ b/env/flash.c @@ -94,7 +94,7 @@ static int env_flash_init(void) gd->env_valid = ENV_VALID; } else if (!crc1_ok && !crc2_ok) { gd->env_addr= addr_default; - gd->env_valid = 0; + gd->env_valid = ENV_INVALID; } else if (flag1 == ACTIVE_FLAG && flag2 == OBSOLETE_FLAG) { gd->env_addr= addr1; gd->env_valid = ENV_VALID; @@ -231,7 +231,7 @@ static int env_flash_init(void) } gd->env_addr= (ulong)_environment[0]; - gd->env_valid = 0; + gd->env_valid = ENV_INVALID; return 0; } #endif diff --git a/env/nand.c b/env/nand.c index dea7b00720..8058b55c50 100644 --- a/env/nand.c +++ b/env/nand.c @@ -79,7 +79,7 @@ static int env_nand_init(void) if (!crc1_ok && !crc2_ok) { gd->env_addr= 0; - gd->env_valid = 0; + gd->env_valid = ENV_INVALID; return 0; } else if (crc1_ok && !crc2_ok) { diff --git a/env/nvram.c b/env/nvram.c index 5fb3115ce6..c8b34754ef 100644 --- a/env/nvram.c +++ b/env/nvram.c @@ -106,7 +106,7 @@ static int env_nvram_init(void)
[U-Boot] [PATCH 1/3] env: Fix up invalid environment in env_init()
This should be set to valid, not invalid. Otherwise the environment will not load after relocation. Signed-off-by: Simon Glass--- env/env.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env/env.c b/env/env.c index 2b8b9611cf..8671f13f8d 100644 --- a/env/env.c +++ b/env/env.c @@ -138,7 +138,7 @@ int env_init(void) ret = drv->init(); if (ret == -ENOENT) { gd->env_addr = (ulong)_environment[0]; - gd->env_valid = 0; + gd->env_valid = ENV_VALID; return 0; } else if (ret) { -- 2.14.1.480.gb18f417b89-goog ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [RFC PATCH 2/4] Kconfig: drop CONFIG_USB_ETHER_RNDIS
This is not a valid option. Drop it. Signed-off-by: Chris Packham--- include/configs/cl-som-am57x.h | 1 - include/configs/cm_t54.h | 1 - include/configs/omap3_beagle.h | 1 - include/configs/omap3_evm.h| 1 - include/configs/omap3_logic.h | 1 - include/configs/tao3530.h | 1 - include/configs/vinco.h| 1 - scripts/config_whitelist.txt | 1 - 8 files changed, 8 deletions(-) diff --git a/include/configs/cl-som-am57x.h b/include/configs/cl-som-am57x.h index 3aaa82ce511d..cb2b15fd54c1 100644 --- a/include/configs/cl-som-am57x.h +++ b/include/configs/cl-som-am57x.h @@ -85,7 +85,6 @@ /* USB Networking options */ #define CONFIG_USB_HOST_ETHER #define CONFIG_USB_ETHER_SMSC95XX -#define CONFIG_USB_ETHER_RNDIS #define CONFIG_USB_ETHER_ASIX #define CONFIG_USB_ETHER_MCS7830 diff --git a/include/configs/cm_t54.h b/include/configs/cm_t54.h index feae29d145c0..f98525452b7c 100644 --- a/include/configs/cm_t54.h +++ b/include/configs/cm_t54.h @@ -72,7 +72,6 @@ /* USB Networking options */ #define CONFIG_USB_HOST_ETHER #define CONFIG_USB_ETHER_SMSC95XX -#define CONFIG_USB_ETHER_RNDIS #define CONFIG_USB_ETHER_ASIX #define CONFIG_USB_ETHER_MCS7830 diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h index 33d29b56926d..5f060e31e342 100644 --- a/include/configs/omap3_beagle.h +++ b/include/configs/omap3_beagle.h @@ -47,7 +47,6 @@ #define CONFIG_USB_MUSB_PIO_ONLY #define CONFIG_TWL4030_USB 1 #define CONFIG_USB_ETHER -#define CONFIG_USB_ETHER_RNDIS #define CONFIG_USB_FUNCTION_FASTBOOT #define CONFIG_CMD_FASTBOOT #define CONFIG_ANDROID_BOOT_IMAGE diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h index 993048340634..e88a472a9590 100644 --- a/include/configs/omap3_evm.h +++ b/include/configs/omap3_evm.h @@ -84,7 +84,6 @@ #define CONFIG_USB_MUSB_OMAP2PLUS #define CONFIG_USB_MUSB_PIO_ONLY #define CONFIG_USB_ETHER -#define CONFIG_USB_ETHER_RNDIS /* USB EHCI */ #define CONFIG_SYS_USB_FAT_BOOT_PARTITION 1 diff --git a/include/configs/omap3_logic.h b/include/configs/omap3_logic.h index 5490fc945a18..32ee5bd89bba 100644 --- a/include/configs/omap3_logic.h +++ b/include/configs/omap3_logic.h @@ -59,7 +59,6 @@ #define CONFIG_USB_MUSB_OMAP2PLUS #define CONFIG_USB_MUSB_PIO_ONLY #define CONFIG_USB_ETHER -#define CONFIG_USB_ETHER_RNDIS #define CONFIG_USB_FUNCTION_FASTBOOT #define CONFIG_CMD_FASTBOOT #define CONFIG_ANDROID_BOOT_IMAGE diff --git a/include/configs/tao3530.h b/include/configs/tao3530.h index d47dc8bba909..8b89f939309e 100644 --- a/include/configs/tao3530.h +++ b/include/configs/tao3530.h @@ -227,7 +227,6 @@ #define CONFIG_USB_ETHER_SMSC95XX #define CONFIG_USB_ETHER -#define CONFIG_USB_ETHER_RNDIS /* Defines for SPL */ #define CONFIG_SPL_FRAMEWORK diff --git a/include/configs/vinco.h b/include/configs/vinco.h index e4020d00ce03..1346bf8eb5e8 100644 --- a/include/configs/vinco.h +++ b/include/configs/vinco.h @@ -77,7 +77,6 @@ #define CONFIG_USB_HOST_ETHER #define CONFIG_USB_ETHER_SMSC95XX -#define CONFIG_USB_ETHER_RNDIS #ifdef CONFIG_SYS_USE_SERIALFLASH /* bootstrap + u-boot + env + linux in serial flash */ diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index 12f3dcb39e72..809d67c5ef29 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -5038,7 +5038,6 @@ CONFIG_USB_ETHER CONFIG_USB_ETHER_ASIX CONFIG_USB_ETHER_ASIX88179 CONFIG_USB_ETHER_MCS7830 -CONFIG_USB_ETHER_RNDIS CONFIG_USB_ETHER_RTL8152 CONFIG_USB_ETHER_SMSC95XX CONFIG_USB_ETHER_xxx -- 2.14.1 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [RFC PATCH 1/4] Kconfig: drop CONFIG_USB_ETHER_DM9601
This is not a valid option. Drop it. Signed-off-by: Chris Packham--- include/configs/dragonboard410c.h | 1 - scripts/config_whitelist.txt | 1 - 2 files changed, 2 deletions(-) diff --git a/include/configs/dragonboard410c.h b/include/configs/dragonboard410c.h index 26103583ab00..5c88bf95df9f 100644 --- a/include/configs/dragonboard410c.h +++ b/include/configs/dragonboard410c.h @@ -39,7 +39,6 @@ #define CONFIG_USB_HOST_ETHER /* Enable USB Networking */ /* Support all possible USB ethernet dongles */ -#define CONFIG_USB_ETHER_DM9601 #define CONFIG_USB_ETHER_ASIX #define CONFIG_USB_ETHER_ASIX88179 #define CONFIG_USB_ETHER_MCS7830 diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index db284571f72c..12f3dcb39e72 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -5037,7 +5037,6 @@ CONFIG_USB_EHCI_VF CONFIG_USB_ETHER CONFIG_USB_ETHER_ASIX CONFIG_USB_ETHER_ASIX88179 -CONFIG_USB_ETHER_DM9601 CONFIG_USB_ETHER_MCS7830 CONFIG_USB_ETHER_RNDIS CONFIG_USB_ETHER_RTL8152 -- 2.14.1 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH 1/1] lcd: avoid possible NULL dereference - Please update MAINTAINERS
On 08/19/2017 08:51 PM, Anatolij Gustschin wrote: > Hi, > > On Sun, 30 Jul 2017 21:59:23 +0200 > Heinrich Schuchardt xypron.g...@gmx.de wrote: > >> Do not dereference bmp before the check if it is NULL. >> >> The problem was indicated by cppcheck. >> >> Signed-off-by: Heinrich Schuchardt>> --- >> common/lcd.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) > > Applied to u-boot-video/master, thanks! > > -- > Anatolij > Hello Anatolij, thank you for applying the patch. To clarify the responsibilities could you, please, update your entry in MAINTAINERS to include common/lcd*.c include/lcd*.h and any other files you care for. The current entry is: VIDEO M: Anatolij Gustschin S: Maintained T: git git://git.denx.de/u-boot-video.git F: drivers/video/ Best regards Heinrich ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH] ARM: sun8i: a83t: Add device tree for Sinovoip Bananapi BPI-M3
在 2017-08-20 08:59,kbuild test robot 写道: Hi Chen-Yu, [auto build test ERROR on robh/for-next] [also build test ERROR on v4.13-rc5 next-20170817] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] In fact this tree shouldn't be applied on robh's tree, but the arm-soc tree or its downstream, sunxi tree. url: https://github.com/0day-ci/linux/commits/Chen-Yu-Tsai/ARM-sun8i-a83t-Add-device-tree-for-Sinovoip-Bananapi-BPI-M3/20170820-055904 base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next config: arm-at91_dt_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm All errors (new ones prefixed by >>): Error: arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts:64.1-7 Label or path ehci0 not found Error: arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts:71.1-6 Label or path mmc0 not found Error: arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts:81.1-6 Label or path mmc2 not found Error: arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts:91.1-7 Label or path r_rsb not found Error: arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts:145.1-8 Label or path usbphy not found FATAL ERROR: Syntax error parsing input tree --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation ___ linux-arm-kernel mailing list linux-arm-ker...@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot