summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-10-03sunxi: usb_phy: invert the USB phy_ctl conditionMaxime Ripard
All the new SoCs from Allwinner since the A33 have had the phy_ctl offset at 0x410 instead of 0x404 that was used on the previous SoCs. Instead of adding more and more special cases as the number of SoCs grow, let's invert the test to have 0x410 by default, and the (hopefully) fixed number of old SoCs being the exception. Suggested-by: Siarhei Siamashka <siarhei.siamashka@gmail.com> Suggested-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by: Jagan Teki <jagan@openedev.com>
2017-10-03sun7i: a20: Add Bananapi M1 Plus supportJagan Teki
Banana Pi M1 Plus is an open-source single-board computer that adds more connectivity to the classic board using Allwinner A20 SOC. Bananapi M1-Plus features: - A20 Dual-core 1.0GHz - 1 GB DDR3 SDRAM - MicroSD - 10/100/1000 Ethernet RJ45 - WiFi b/g/n - 5V DC Micro USB power-supply For dts file, Sync with Linux commit f92ca09("Merge branch 'akpm/master'"). Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-10-03sunxi: defaultly enable SPL for Lichee Pi ZeroIcenowy Zheng
As we have already DRAM initialization code for V3s SoC, we can defaultly enable SPL now on Lichee Pi Zero. Add CONFIG_SPL in Lichee Pi Zero defconfig. Signed-off-by: Icenowy Zheng <icenowy@aosc.io> Reviewed-by: Jagan Teki <jagan@openedev.com>
2017-10-03sunxi: Enable eMMC on Cubietruck PlusChen-Yu Tsai
Set CONFIG_MMC_SUNXI_SLOT_EXTRA=2 to enable the eMMC controller to access eMMC on the board. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03sunxi: rename Bananapi M3 dts file nameChen-Yu Tsai
The upstream (Linux) device tree file for the Bananapi M3 follows the convention of using the well known brand name, instead of the vendor name, for naming. The file was recently added to upstream in commit 359b5a1e1c2d ("ARM: sun8i: a83t: Add device tree for Sinovoip Bananapi BPI-M3") Rename the device tree file in U-boot to match. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03sunxi: Fix USB_GADGET implicationMaxime Ripard
USB_GADGET will fail to compile if USB_MUSB_GADGET is not defined. Make sure we have that condition right. Fixes: e0ea88042d51 ("sunxi: Imply USB_ETHER") Suggested-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03sunxi: Remove the MMC index hackMaxime Ripard
The current code, if there's both an eMMC and an MMC slot available on the board, will swap the MMC indices based on whether we booted from the eMMC or the MMC. This way, the MMC we're supposed to boot on will always have the index 0. However, this causes various issues, for example when using other components that base their behaviour on the MMC index, such as fastboot. Let's remove that hack, and take the opposite approach. The MMC will always have the same index, but the bootcmd will pick the same device than the one we booted from. This is done through the introduction of the mmc_bootdev environment variable that will be filled by the board code based on the boot device informations we can get from the SoC. In order to not introduce regressions, we also need to adjust the fastboot MMC device and the environment device in order to set it to the eMMC, over the MMC, like it used to be the case. Tested-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03sunxi: Use sunxi_get_boot_deviceMaxime Ripard
Our current board code duplicates a bit the sunxi_get_boot_device logic. Now that we can use that function in the full-flavoured U-Boot, remove that duplication and call the function instead. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03arm: sunxi: Move spl_boot_device in a separate functionMaxime Ripard
U-Boot itself might need to identify the boot device, for example to be able to tell where to load the kernel from when several options are possible. Move the logic of spl_boot_device to a function that is compiled both for the SPL and the main binary. Tested-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03sunxi: Add support for A20-OLinuXino-MICRO-eMMCStefan Mavrodiev
From rev.J A20-OLinuXino-MICRO has eMMC option. For now this is only 4GB, but in the future size may increase. The dts file is the same from mainline kernel. Signed-off-by: Stefan Mavrodiev <stefan@olimex.com> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03sunxi: Enable CMD_GPT by defaultMaxime Ripard
GPT is pretty common these days and can be useful for things like fastboot. Add a platform imply, so that users can still opt out if they wish so. Reviewed-by: Jagan Teki <jagan@openedev.com> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03cmd: Move CONFIG_RANDOM_UUID to KconfigMaxime Ripard
CONFIG_RANDOM_UUID is used by the GPT command to generate random UUID when none are provided. Move that option to Kconfig. Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Jagan Teki <jagan@openedev.com> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03sunxi: sina33: Sync the device tree with the kernelMaxime Ripard
The kernel DT of the SinA33 has evolved quite a bit. Make sure we sync it and its upstream DTSI to be able to use the OTG. The DTs were taken from the 4.13 kernel release. Reviewed-by: Łukasz Majewski <lukma@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03sunxi: Imply USB_ETHERMaxime Ripard
Now that we can enable the usb_ether gadget, do it. This will be especially useful for boards that don't have any ethernet controller, such as the ones based on the A13 or A33. Reviewed-by: Łukasz Majewski <lukma@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03sunxi: Register usb_etherMaxime Ripard
Call the function to register the usb_ether gadget in the board. Reviewed-by: Łukasz Majewski <lukma@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03musb: sunxi: switch to the device modelMaxime Ripard
The device model was implemented so far using a hook that needed to be called from the board support, without DT support and only for the host. Switch to probing both in peripheral and host mode through the DT. Reviewed-by: Łukasz Majewski <lukma@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03cmd: fastboot: Rework fastboot dependencyMaxime Ripard
Fastboot need a bunch of options to be operating properly, such as the g_dnl gadget, the fastboot command, and some options that make sense. Since fastboot is now part of Kconfig, make sure we have them right. That will also reduce the boilerplate in the defconfigs. Reviewed-by: Łukasz Majewski <lukma@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03sunxi: imply USB_GADGETMaxime Ripard
A good number of our boards have USB_GADGET enabled. Imply it so that all the boards can benefit from it, and remove some boilerplate from our defconfigs. Reviewed-by: Łukasz Majewski <lukma@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03sunxi: provide default USB gadget setupMaxime Ripard
All the Allwinner boards use the same manufacturer, VID and PID for the gadgets. Make them the defaults to remove some boilerplate from our defconfigs. Reviewed-by: Łukasz Majewski <lukma@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03usb: gadget: usb_ether: Move settings to commonMaxime Ripard
The usb_ether gadget duplicates the USB settings for the manufacturer, product ID and vendor ID. Make sure we use the common option so that we can expect a single VID/PID couple for a single device. Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Lukasz Majewski <lukma@denx.de> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03usb: gadget: Make g_dnl USB settings commonMaxime Ripard
The g_dnl USB settings for the vendor ID, product ID and manufacturer are actually common settings that can and should be shared by all the gadgets. Make them common by renaming them, and convert all the users. Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Lukasz Majewski <lukma@denx.de> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03usb: gadget: usb_ether: Move the interfaces to KconfigMaxime Ripard
We need to select an interface for the usb_ether gadget, and they haven't been converted to Kconfig yet. Add a choice to make sure we have an option selected, and convert all the users. Reviewed-by: Łukasz Majewski <lukma@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03usb: gadget: Convert USB_ETHER to KconfigMaxime Ripard
The USB Ethernet gadget option has not yet been moved to Kconfig, let's deal with that. Reviewed-by: Łukasz Majewski <lukma@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03usb: gadget: Move USBNET_HOST_ADDR to KconfigMaxime Ripard
While the USB Ethernet device address is already defined in Kconfig, the host address isn't. Convert it. Reviewed-by: Łukasz Majewski <lukma@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03usb: gadget: Document USBNET_DEVADDRMaxime Ripard
Add an help about the USBNET_DEVADDR Kconfig option to make it clearer what it's about. Acked-by: Łukasz Majewski <lukma@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03usb: gadget: Move USBNET_DEVADDR option out of g_dnlMaxime Ripard
The USBNET_DEVADDR has nothing to do with the USB download gadget, but rather with the USB Ethernet gadget. Move it out of the if statement. Acked-by: Łukasz Majewski <lukma@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03sandbox: Expand list of IO accessorsMaxime Ripard
The setbits/clrbits/clrsetbits macros are used widely across the tree, let's provide implementation for them in the sandbox. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-03sandbox: Enable btrfs supportTom Rini
For better test coverage, enable btrfs. Signed-off-by: Tom Rini <trini@konsulko.com>
2017-10-03fs/btrfs: Fix warning in btrfs_check_super()Tom Rini
We specifically say that the last arg is u32, so use %lu. Signed-off-by: Tom Rini <trini@konsulko.com>
2017-10-02sandbox: Use asm-generic/io.hPaul Burton
Convert the sandbox architecture to make use of the new asm-generic/io.h to provide address mapping functions. As sandbox actually performs non-identity mapping between physical & virtual addresses we can't simply make use of the generic mapping functions, but are able to implement phys_to_virt() & make use of it from map_physmem(). Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
2017-10-02powerpc: Use asm-generic/io.hPaul Burton
Convert the powerpc architecture to make use of the new asm-generic/io.h to provide address mapping functions. As powerpc can actually perform non-identity mapping between physical & virtual addresses we can't simply make use of the generic phys_to_virt() & virt_to_phys() functions. However since map_physmem() already effectively implemented the same thing as virt_to_phys() we can simply implement virt_to_phys() instead of map_physmem() & use the generic map_physmem(). We also drop the no-op unmap_physmem(). This has only been build-tested, feedback from architecture maintainers is welcome. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: Wolfgang Denk <wd@denx.de>
2017-10-02nios2: Use asm-generic/io.hPaul Burton
Convert the nios2 architecture to make use of the new asm-generic/io.h to provide address mapping functions. As nios2 actually performs non-identity mapping between physical & virtual addresses we can't simply make use of the generic functions, with the exception of being able to drop our no-op unmap_physmem() and definitions of unused map flags. Feedback from architecture maintainers is welcome. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: Thomas Chou <thomas@wytron.com.tw>
2017-10-02mips: Use asm-generic/io.hPaul Burton
Convert the mips architecture to make use of the new asm-generic/io.h to provide address mapping functions. As mips actually performs non-identity mapping between physical & virtual addresses we can't simply make use of the generic functions, with the exception of being able to drop our no-op unmap_physmem() and definitions of unused map flags. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Acked-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2017-10-02xtensa: Use asm-generic/io.hPaul Burton
Convert the xtensa architecture to make use of the new asm-generic/io.h to provide address mapping functions. As the generic implementations are suitable for xtensa this is primarily a matter of moving code. This has only been build-tested, feedback from architecture maintainers is welcome. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: Max Filippov <jcmvbkbc@gmail.com> Acked-by: Max Filippov <jcmvbkbc@gmail.com>
2017-10-02x86: Use asm-generic/io.hPaul Burton
Convert the x86 architecture to make use of the new asm-generic/io.h to provide address mapping functions. As the generic implementations are suitable for x86 this is primarily a matter of moving code. This has only been build-tested, feedback from architecture maintainers is welcome. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-10-02sh: Use asm-generic/io.hPaul Burton
Convert the sh architecture to make use of the new asm-generic/io.h to provide address mapping functions. As the generic implementations are suitable for sh this is primarily a matter of moving code. Feedback from architecture maintainers is welcome. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2017-10-02nds32: Use asm-generic/io.hPaul Burton
Convert the nds32 architecture to make use of the new asm-generic/io.h to provide address mapping functions. As the generic implementations are suitable for nds32 this is primarily a matter of removing code. Feedback from architecture maintainers is welcome. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: Macpaul Lin <macpaul@andestech.com>
2017-10-02microblaze: Use asm-generic/io.hPaul Burton
Convert the microblaze architecture to make use of the new asm-generic/io.h to provide address mapping functions. As the generic implementations are suitable for microblaze this is primarily a matter of removing code. Feedback from architecture maintainers is welcome. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: Michal Simek <monstr@monstr.eu>
2017-10-02m68k: Use asm-generic/io.hPaul Burton
Convert the m68k architecture to make use of the new asm-generic/io.h to provide address mapping functions. As the generic implementations are suitable for m68k this is primarily a matter of emoving code. Feedback from architecture maintainers is welcome. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: Huan Wang <alison.wang@freescale.com> Cc: Angelo Dureghello <angelo@sysam.it> Acked-by: Angelo Dureghello <angelo@sysam.it> Tested-by: Angelo Dureghello <angelo@sysam.it>
2017-10-02arm: Use asm-generic/io.hPaul Burton
Convert the arm architecture to make use of the new asm-generic/io.h to provide address mapping functions. As the generic implementations are suitable for arm this is primarily a matter of removing code. This has only been build-tested, feedback from architecture maintainers is welcome. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: Albert Aribaud <albert.u.boot@aribaud.net> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-10-02arc: Use asm-generic/io.hPaul Burton
Convert the arc architecture to make use of the new asm-generic/io.h to provide address mapping functions. As the generic implementations are suitable for arc this is primarily a matter of removing code. Feedback from architecture maintainers is welcome. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: Alexey Brodkin <alexey.brodkin@synopsys.com> Acked-by: Alexey Brodkin <abrodkin@synopsys.com>
2017-10-02Provide a generic io.h & address mapping functionsPaul Burton
Most architectures currently supported by U-Boot use trivial implementations of map_to_physmem & virt_to_phys which simply cast a physical address to a pointer for use a virtual address & vice-versa. This results in a lot of duplicate implementations of these mapping functions. The set of functions provided by different architectures also differs, with some having implementations of phys_to_virt & others not. A later patch will make use of phys_to_virt in architecture-neutral code, and so requires that it be provided for all architectures. This patch introduces an asm-generic/io.h which provides generic implementations of address mapping functions, allowing the duplication of them between architectures to be removed. Once architectures are converted to make use of this generic header it will also ensure that all of phys_to_virt, virt_to_phys, map_physmem & unmap_physmem are provided. The 2 families of functions differ in that map_physmem may create dynamic mappings whilst phys_to_virt may not & therefore is more limited in scope but doesn't require information such as a length & flags. This patch doesn't convert any architectures to make use of this generic header - later patches in the series will do so. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Alexey Brodkin <alexey.brodkin@synopsys.com> Cc: Angelo Dureghello <angelo@sysam.it> Cc: Bin Meng <bmeng.cn@gmail.com> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: Macpaul Lin <macpaul@andestech.com> Cc: Michal Simek <monstr@monstr.eu> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Cc: Thomas Chou <thomas@wytron.com.tw> Cc: Wolfgang Denk <wd@denx.de> Acked-by: Angelo Dureghello <angelo@sysam.it> Tested-by: Angelo Dureghello <angelo@sysam.it> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2017-10-02mvebu: turris_omnia: Add CONFIG_CMD_BTRFS to defconfigMarek Behún
Signed-off-by: Marek Behun <marek.behun@nic.cz>
2017-10-02cmd: Add the 'btrsubvol' command to list BTRFS subvolumesMarek Behún
Signed-off-by: Marek Behun <marek.behun@nic.cz> create mode 100644 cmd/btrfs.c
2017-10-02fs: btrfs: Add U-Boot fs handlers.Marek Behún
Signed-off-by: Marek Behun <marek.behun@nic.cz> create mode 100644 fs/btrfs/Kconfig create mode 100644 fs/btrfs/Makefile create mode 100644 fs/btrfs/btrfs.c create mode 100644 include/btrfs.h
2017-10-02fs: btrfs: Add single-device read-only BTRFS implementationMarek Behún
This adds the proper implementation for the BTRFS filesystem. The implementation currently supports only read-only mode and the filesystem can be only on a single device. Checksums of data chunks is unimplemented. Compression is implemented (ZLIB + LZO). Signed-off-by: Marek Behun <marek.behun@nic.cz> create mode 100644 fs/btrfs/btrfs.h create mode 100644 fs/btrfs/chunk-map.c create mode 100644 fs/btrfs/compression.c create mode 100644 fs/btrfs/ctree.c create mode 100644 fs/btrfs/dev.c create mode 100644 fs/btrfs/dir-item.c create mode 100644 fs/btrfs/extent-io.c create mode 100644 fs/btrfs/hash.c create mode 100644 fs/btrfs/inode.c create mode 100644 fs/btrfs/root.c create mode 100644 fs/btrfs/subvolume.c create mode 100644 fs/btrfs/super.c
2017-10-02fs: btrfs: Add disk-to-cpu and cpu-to-disk conversion functionsMarek Behún
BTRFS on disk structures are stored in Little Endian. Add functions to convert this structures to cpu and to disk format. On Little Endian hosts, these functions do nothing. On Big Endian the CALL_MACRO_FROM_EACH from variadic-macro.h is used to define all the members for each structure on which cpu_to_le* or le*_to_cpu is to be called. Signed-off-by: Marek Behun <marek.behun@nic.cz> create mode 100644 fs/btrfs/conv-funcs.h
2017-10-02fs: btrfs: Add btrfs_tree.h and ctree.h from Linux (and modified)Marek Behún
Add btrfs_tree.h and ctree.h from Linux which contains constants and structures for the BTRFS filesystem. Signed-off-by: Marek Behun <marek.behun@nic.cz> create mode 100644 fs/btrfs/btrfs_tree.h create mode 100644 fs/btrfs/ctree.h
2017-10-02include: Add a variadic macro to call a callback for all argumentsMarek Behún
Add a header variadic-macro.h which defines the CALL_MACRO_FOR_EACH marco. This macro can be used as follows: #define TEST(x) CALL_MACRO_FOR_EACH(TEST, a, b, c, d) This will expand to TEST(a) TEST(b) TEST(c) TEST(d) The nice thing is that CALL_MACRO_FOR_EACH is a variadic macro, thus the number of arguments can vary (although it has an upper limit - in this implementation 32 arguments). Signed-off-by: Marek Behun <marek.behun@nic.cz> create mode 100644 include/u-boot/variadic-macro.h
2017-10-02fs: Create a common fs_devread for ext4/reiserfs/zfsMarek Behún
The ext4, reiserfs and zfs filesystems all have their own implementation of the same function, *_devread. Generalize this function into fs_devread and put the code into fs/fs_internal.c. Signed-off-by: Marek Behun <marek.behun@nic.cz> [trini: Move fs/fs_internal.o hunk to the end of fs/Makefile as all cases need it] Signed-off-by: Tom Rini <trini@konsulko.com>