summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-07-19arm/arm64: bitops: fix find_next_zero_bit to be compat with arm64Grygorii Strashko
Current implementation of find_next_zero_bit() is incompatible with arm64. Hence fix it by using BITS_PER_LONG define instead of constants and use generic ffz() implementation. Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
2018-07-19boards: amlogic: Fix boards READMENeil Armstrong
Fix typos and update the supported devices for all Amlogic boards. Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2018-07-19power: regulator: stpmu1: add power off delayChristophe Kerello
This patch adds a delay when regulators are disabled. This delay is set to 5 ms to cover all use cases. The worst use case actually seen is during a SD card power cycle. Signed-off-by: Christophe Kerello <christophe.kerello@st.com> Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
2018-07-19phy: Be able to get phy from PHY providerPatrice Chotard
In case of phy are provided from a PHY provider nodes as following: usbphyc: usb-phy@5a006000 { compatible = "st,stm32mp1-usbphyc"; reg = <0x5a006000 0x1000>; clocks = <&rcc_clk USBPHY_K>; resets = <&rcc_rst USBPHY_R>; #address-cells = <1>; #size-cells = <0>; usbphyc_port0: usb-phy@0 { reg = <0>; phy-supply = <&vdd_usb>; vdda1v1-supply = <&reg11>; vdda1v8-supply = <&reg18> #phy-cells = <0>; }; usbphyc_port1: usb-phy@1 { reg = <1>; phy-supply = <&vdd_usb>; vdda1v1-supply = <&reg11>; vdda1v8-supply = <&reg18> #phy-cells = <1>; }; }; and PHY are called as following: usbh_ehci: usbh-ehci@5800d000 { compatible = "generic-ehci"; reg = <0x5800d000 0x1000>; clocks = <&rcc_clk USBH>; resets = <&rcc_rst USBH_R>; interrupts = <GIC_SPI 75 IRQ_TYPE_NONE>; companion = <&usbh_ohci>; phys = <&usbphyc_port0>; phy-names = "usb"; status = "okay"; }; generic_phy_get_by_index() must be updated to first look for PHY phandle as previously and in case of error looks for PHY provider by finding the parent's current node which is the PHY provider. args (ofnode_phandle_args struct) must also be updated by inserting the phy index into the PHY provider as args[0]. Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
2018-07-19mmc: stm32_sdmmc2: update pwron managementPatrick Delaunay
Correctly manage the SDMMC reset and card cycle power to fully handle the power cycle added in the MMC uclass and avoid issue with level-shifter with some uSDCARD. 3 states managed in driver: 1/ reset: SDMMC disable, signal HiZ 2/ power-cycle: SDMMC disable, signals drive to 0 3/ power-on: SDMMC enabled Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
2018-07-19spl: nor: Skip CONFIG_SYS_FDT_BASE if not definedYork Sun
If FIT image is used, CONFIG_SYS_FDT_BASE is not needed. Signed-off-by: York Sun <york.sun@nxp.com>
2018-07-19spl: nor: Add FIT supportYork Sun
Add support of loading FIT image from NOR flash. Signed-off-by: York Sun <york.sun@nxp.com>
2018-07-19boards: amlogic: Add FriendlyElec NanoPi K2 board supportThomas McKahan
This adds platform code for the FriendlyElec NanoPi K2 board based on a Meson GXBB (S905) SoC with the Meson GXBB configuration. This initial submission only supports: - UART - MMC/SDCard - Ethernet - Reset Controller - Clock controller Cc: Yuefei Tan <yftan@friendlyarm.com> Signed-off-by: Thomas McKahan <tonymckahan@gmail.com> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2018-07-19ARM: dts: sync meson-gxbb-nanopi-k2 from Linux 4.17Neil Armstrong
Get the meson-gxbb-nanopi-k2.dts file from Linux 4.17. Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2018-07-19env: common: accept flags on reset to default envYaniv Levinsky
The function set_default_env() sets the hashtable flags for import_r(). Formally set_default_env() doesn't accept flags from its callers. In practice the caller can (un)set the H_INTERACTIVE flag, but it has to be done using the first character of the function's string argument. Other flags like H_FORCE can't be set by the caller. Change the function to accept flags argument. The benefits are: 1. The caller will have to explicitly set the H_INTERACTIVE flag, instead of un-setting it using a special char in a string. 2. Add the ability to propagate flags from the caller to himport(), especially the H_FORCE flag from do_env_default() in nvedit.c that currently gets ignored for "env default -a -f" commands. 3. Flags and messages will not be coupled together. A caller will be able to set flags without passing a string and vice versa. Please note: The propagation of H_FORCE from do_env_default() does not introduce any functional changes, because currently himport_r() is set to destroy the old environment regardless if H_FORCE flag is set or not. More changes are needed to utilize the propagation of H_FORCE. Signed-off-by: Yaniv Levinsky <yaniv.levinsky@compulab.co.il> Acked-by: Igor Grinberg <grinberg@compulab.co.il>
2018-07-19cmd: nvedit: set H_INTERACTIVE in do_env_defaultYaniv Levinsky
The function set_default_vars() in common.c adds H_INTERACTIVE to the h_import() flag, but the function has no way of telling if the command actually was user directed like this flag suggest. The flag should be set by the calling function do_env_default() in nvedit.c instead, where the command is certainty user directed. Move the H_INTERACTIVE flag from set_default_vars() to do_env_default(). Signed-off-by: Yaniv Levinsky <yaniv.levinsky@compulab.co.il> Acked-by: Igor Grinberg <grinberg@compulab.co.il>
2018-07-19cmd: nvedit: propagate envflag to set_default_varsYaniv Levinsky
The env_flag in do_env_default() doesn't get propagated and therefore gets ignored by himport_r(). This breaks to ability to "forcibly" reset variables to their default values using the environment command. Scenario example of the problem: # setenv kernel uImage # setenv .flags kernel:so # env default -f kernel ## Error: Can't overwrite "kernel" himport_r: can't insert "kernel=zImage" into hash table Change the call path so it will pass the flag correctly. Signed-off-by: Yaniv Levinsky <yaniv.levinsky@compulab.co.il> Acked-by: Igor Grinberg <grinberg@compulab.co.il>
2018-07-19cmd: nvedit: rename flags in do_env_defaultYaniv Levinsky
The naming convention for flags in nvedit.c is: * The hashtable flag (defined in search.h) is named "env_flag" * The command flag argument (defined in command.h) is named "flag" This convention is kept in functions like do_env_print(), do_env_set() and do_env_delete(), but not in do_env_default(). Rename the hashtable flag in do_env_default() from "flag" to "env_flag". Rename the command flag in do_env_default() from "__flag" to "flag". No functional change. Signed-off-by: Yaniv Levinsky <yaniv.levinsky@compulab.co.il> Reviewed-by: Igor Grinberg <grinberg@compulab.co.il>
2018-07-19cmd: fit_image: Add default property for FIT format scriptsAlex Kiernan
When sourcing a FIT format script, if we've not been told the unit name to use, look for a default property at the root of /images to work out which unit we should use. Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2018-07-19test: Add ut_assertnull macroRamon Fried
Add ut_assertnull macro to include/test/ut.h For testing of functions that returns NULL on errors. Signed-off-by: Ramon Fried <ramon.fried@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2018-07-19Merge tag 'xilinx-for-v2018.09' of git://git.denx.de/u-boot-microblazeTom Rini
Xilinx changes for v2018.09 clk: - Fix zynqmp clock driver common: - Handle CMD_RET_USAGE in cmd_process_error - Use return macros in cmd_process_error - Fix duplication of CONFIG_SYS_PROMPT_HUSH_PS2 - Support watchdog in usb_kbd.c - Fix name usage in usb_kbd.c - Support systems with non zero memory start initialized from DT only gpio: - Add support for manual relocation in uclass - zynq - use live tree - zynq - fix match data reading - zynq - setup bank name - xilinx - convert driver to DM microblaze: - Use generic iounmap/ioremap implementations - Redesign reset logic with sysreset features - Use watchdog and gpio over DM - Remove unused macros and fix some checkpatch issues - Fix timer initialization not to be called twice serial: - zynq - Use platdata intead of priv data sysreset: - Add support for manual relocation in uclass - Add gpio-restart driver - Add microblaze soft reset driver watchdog: - Add support for aliases in uclass - Add support for manual relocation in uclass - Convert xilinx driver to DM - cadence - update info in the driver and not stop wdt in probe xilinx: - Enable LED gpio for some targets with gpio-leds DT node - Setup variables via Kconfig zynq: - Add support for watchdog aliases - Add support for mini nand/nor configurations - Wire FPGA initalization in SPL zynqmp: - Enable mass storage for zcu100 - Handle external pmufw files - Add support for secure images - Some Kconfig movements and alignments - Add support for watchdog aliases - Use subcommands style for platform command - Add mmio_read/write platform commands - DT updates - Add support for mini qspi configuration
2018-07-19arm: zynq: spl: fix FPGA initializationLuis Araneda
commit 4aba5fb857c1 ("arm: zynq: Rework FPGA initialization") moved FPGA initialization from board_init() to arch_early_init_r(), which is not called as part of the SPL Fix this by calling arch_early_init_r() in the spl_board_init() function, so the FPGA is correctly initialized Signed-off-by: Luis Araneda <luaraneda@gmail.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19drivers: fpga: zynqpl: fix compilation with SPLLuis Araneda
Disable the use of function zynq_loadfs when compiling the driver for the SPL, as the following filesystem functions are not found by the linker: - fs_set_blk_dev - fs_read - fs_set_blk_dev - fs_read - fs_read Signed-off-by: Luis Araneda <luaraneda@gmail.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19spl: fit: display a message when an FPGA image is loadedLuis Araneda
A message should be displayed if an image is loaded to an FPGA, because the hardware might have changed, and the user should be informed Signed-off-by: Luis Araneda <luaraneda@gmail.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19arm64: zynqmp: Setup ENV_SIZE via Kconfig for mini targetsMichal Simek
Mini targets are using different ENV_SIZE then standard one that's why defconfigs should be updated to simplify config files. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19arm64: zynqmp: Add QSPI flash mini u-boot configurationSiva Durga Prasad Paladugu
Add configuration files/dtses for mini u-boot configuration which runs on smaller footprint of internal memory. This configuration has only required qspi flash support and it uses DCC as serial. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19arm: zynq: Setup ENV_SIZE via KconfigMichal Simek
Simplify zynq_cse config by setting up ENV_SIZE via Kconfig. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19env: Added support to save env to spi through KconfigVipul Kumar
This patch added support to enable CONFIG_ENV_SIZE, CONFIG_ENV_OFFSET and CONFIG_ENV_SECT_SIZE through Kconfig for Zynq and Zynqmp. Signed-off-by: Vipul Kumar <vipul.kumar@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19arm: zynq: Add parallel NOR flash mini u-boot configuration for zynqSiva Durga Prasad Paladugu
Add configuration files/dtses for mini u-boot configuration which runs on smaller footprint OCM memory. This configuration only has required parallel nor flash support. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19arm: zynq: Add Nand flash mini u-boot configuration for zynqSiva Durga Prasad Paladugu
Add configuration files/dtses for mini u-boot configuration which runs on smaller footprint of memory. This configuration has only required nand flash support. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19arm: zynq: Dont define SDRAM_BASE and SDRAM_SIZE in .hSiva Durga Prasad Paladugu
Remove the SDRAM_BASE and SDRAM_SIZE as it can now get these details from DT. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2018-07-19lib: fdtdec: Rename routine fdtdec_setup_memory_size()Siva Durga Prasad Paladugu
This patch renames the routine fdtdec_setup_memory_size() to fdtdec_setup_mem_size_base() as it now fills the mem base as well along with size. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2018-07-19lib: fdtdec: Update ram_base to store ram start adddressSiva Durga Prasad Paladugu
This patch updates the ram_base to store the start address of the first bank DRAM and the use this ram_base to calculate ram_top properly. This patch fixes the erroneous calculation of ram_top incase of non zero ram start address. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2018-07-19microblaze: Remove XILINX_SPI_FLASH_BASEADDR logicMichal Simek
XILINX_SPI_FLASH_BASEADDR logic has been converted to DM that's why there is no reason to depend on this address anymore. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19watchdog: cadence: Do not stop wdt in probeMichal Simek
Watchdog can be started before probe and u-boot should just take control over it. That's why do not stop watchdog in probe to cover cases where watchdog can expire before probe and start. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19arm64: zynqmp: Added support of mmio read and write commandsVipul Kumar
This patch added support of mmio read and write commands. These commands can be used to read and write registers from the u-boot command line. It can be useful in debugging. Signed-off-by: Vipul Kumar <vipul.kumar@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19xilinx: Enable led support for some boardsMichal Simek
Enable led support for boards which have "gpio-leds" node. And also for microblaze which is converted to DM_GPIO now. Tested on zcu100. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19watchdog: cdns: Add comment for expire_now functionMichal Simek
IP itself has no reg/no bit which can be used for this functionality. Add this note to the driver to make sure that none will be asking for that. Current method is to setup 1s timeout and hang() which is done via wdt_expire_now(). Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19microblaze: Do not force saving variables to flashMichal Simek
There is no reason to save variables to flash only. Select option via Kconfig instead. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19microblaze: Convert generic platform to DM gpioMichal Simek
Converting GPIO to DM requires to do changes in reset subsystem that's why support for Microblaze soft reset via sysreset and GPIO sysreset support was added. These two patches enables enabling GPIO DM. Microblaze soft reset is bind at last reset method. GPIO reset is handled via sysreset with adding this fragment to DT. gpio-restart { compatible = "gpio-restart"; gpios = <&reset_gpio 0 0 0>; /* 3rd cell ACTIVE_HIGH = 0, ACTIVE_LOW = 1 */ }; hard-reset-gpio property is not documented and also handled. Conversion is required. Unfortunately do_reset is required for SPL that's why use only soft microblaze reset for now. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19arm64: xilinx: Setup default number of chipselects for zcu100Michal Simek
There is only one chipselect on each connector. Define it directly in board dts file. There should be an option to use more chipselects via gpios. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19microblaze: Enable watchdog via defconfigMichal Simek
DM watchdog should be enabled by default. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19watchdog: Convert Xilinx Axi watchdog driver to driver modelShreenidhi Shedi
Xilinx Axi wdt driver conversion to driver model & Kconfig update for the same. Signed-off-by: Shreenidhi Shedi <yesshedi@gmail.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19microblaze: Support for watchdog_reset in initShreenidhi Shedi
We should support watchdog reset so that WATCHDOG_RESET will function properly. Signed-off-by: Shreenidhi Shedi <yesshedi@gmail.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19microblaze: Delete Xilinx watchdog related macrosShreenidhi Shedi
These macros are not required anymore. These will be taken from configuration file. Signed-off-by: Shreenidhi Shedi <yesshedi@gmail.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19microblaze: Cosmetic changes in Microblaze related filesShreenidhi Shedi
Signed-off-by: Shreenidhi Shedi <yesshedi@gmail.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19arm64: zynqmp: Changed zynqmp command to handle subcommands with ↵Vipul Kumar
U_BOOT_CMD_MKENT This patch changed zynqmp command to handle subcommands with U_BOOT_CMD_MKENT. Signed-off-by: Vipul Kumar <vipul.kumar@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19gpio: xilinx: Convert driver to DMMichal Simek
This patch is enabling GPIO_DM support to have an option to use this driver together with zynq gpio driver. !DM part is kept there till Microblaze is cleanup which will be done hopefully soon. Just a note: There is no reason to initialize uc-priv->name because it is completely unused. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19sysreset: Add support for Microblaze soft reset jumpMichal Simek
Microblaze is storing reset vector at address 0x0. It means soft reset can be done by just jumping to this address. This code was in platform code but sysreset interface is providing enough capabilities to have more options how to reset the system. It can go from gpio reset through watchdog reset till soft reset. The driver has not compatible string because this is cpu specific and DM core is not able to detect compatible string in DT root that's why this driver will be instantiated from platform code by calling device_bind_driver(gd->dm_root, "mb_soft_reset", "reset_soft", NULL); It should be bind as the last reset method to ensure that hw reset is called before this. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19sysreset: Add support for gpio-restartMichal Simek
The Linux kernel has binding for gpio-restart node. This patch is adding basic support without supporting any optional properties. This driver was tested on Microblaze system where gpio is connected to SoC reset logic. Output value is handled via gpios cells values. In gpio_reboot_request() set_value is writing 1 because dm_gpio_set_value() is capable to changing it when it is ACTIVE_LOW. ... if (desc->flags & GPIOD_ACTIVE_LOW) value = !value; ... Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2018-07-19arm: zynq: Try to enable the first watchdog via aliasesMichal Simek
The same change as was done for zynqmp with this description: Add support for enabling the first watchdog pointed via aliases. DT fragment: aliases { ... watchdog0= &watchdog0; watchdog1 = &watchdog_lpd; ... }; <zynqmp example removed> Till this patch the first watchdog found in DT was used and started which is not enabling all possible configuration based on user request. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19arm64: zynqmp: Try to enable the first watchdog via aliasesMichal Simek
Add support for enabling the first watchdog pointed via aliases. DT fragment: aliases { ... watchdog0 = &watchdog0; watchdog1 = &watchdog_lpd; ... }; dm tree fragment for above configuration with patch applied: ZynqMP> dm tree Class index Probed Driver Name ----------------------------------------- ... watchdog 0 [ ] cdns_wdt | |-- watchdog@ff150000 watchdog 1 [ + ] cdns_wdt | `-- watchdog@fd4d0000 ... dm uclass fragment: ZynqMP> dm uclass ... uclass 75: watchdog 0 watchdog@ff150000 @ 7df02f40, seq -1, (req 1) 1 * watchdog@fd4d0000 @ 7df02ff0, seq 0, (req 0) ... It is visible that index 1 is IP with seq 0 which means that FPD watchdog (@fd4d0000) is in DT below LPD watchdog (@ff150000). Till this patch the first watchdog found in DT was used and started which is not enabling all possible configuration based on user request. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2018-07-19gpio: zynq: Setup bank_name to dev->nameMichal Simek
There should be proper bank name setup to distinguish between different gpio drivers. Use dev->name for it. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2018-07-19microblaze: Do not call timer init that earlyMichal Simek
Timer needs to be converted to DM but as of now it can't be called so early because intc controller is not ready. Call it later in board_r.c. Before this patch timer_init is called twice which is wrong. The patch is blocking initialization before relocation. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2018-07-19gpio: zynq: Read of mach data in platdata with dev_get_driver_dataMichal Simek
Remove bogus zynq_gpio_getplat_data() and read driver data directly. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>