summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* test: dm: pci: Add tests for mixed static and dynamic devices on the same busBin Meng2018-08-082-0/+81
| | | | | | | | | In the Sandbox test configuration, PCI bus#0 only has static devices while bus#1 only has dynamic devices. Create a bus#2 that has both types of devices and test such. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* pci: sandbox: emul: Rename priv structureBin Meng2018-08-081-4/+4
| | | | | | | | We have "struct sandbox_pci_priv" in pci_sandbox driver. To avoid confusion, rename the emul's priv to "struct sandbox_pci_emul_priv". Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* test: dm: pci: Test driver binding with driver data providedBin Meng2018-08-081-0/+17
| | | | | | | | With struct pci_device_id, it's possible to pass a driver data for bound driver to use. This adds a test case for this functionality. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* sandbox: Update test.dts for dynamic PCI device driver matchingBin Meng2018-08-081-14/+2
| | | | | | | | | At present we have two PCI buses in the test configuration. Both buses have static device-tree config devices. Now we switch the 2nd bus to use dynamic PCI devices for testing. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* pci: sandbox: swap_case: Declare dynamic driver matchingBin Meng2018-08-082-0/+11
| | | | | | | This adds a U_BOOT_PCI_DEVICE() declaration to the swap_case driver. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* pci: sandbox: Support dynamically binding device driverBin Meng2018-08-084-11/+112
| | | | | | | | | | At present all emulated sandbox pci devices must be present in the device tree in order to be used. The real world pci uclass driver supports pci device driver matching, and we should add such support on sandbox too. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* dm: pci: Assign correct driver data when binding a driverBin Meng2018-08-081-1/+1
| | | | | | | | The correct driver data comes from the matching 'id' instead of 'find_id' in pci_find_and_bind_driver(). Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* pci: sandbox: emul: Fix the call to pci_bus_find_devfn()Bin Meng2018-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | With the newly added test cases for PCI configuration access, we get: => ut dm pci_busdev Test: dm_test_pci_busdev: pci.c test/dm/pci.c:49, dm_test_pci_busdev(): SANDBOX_PCI_VENDOR_ID == vendor: Expected 4660, got 65535 Test: dm_test_pci_busdev: pci.c (flat tree) test/dm/pci.c:49, dm_test_pci_busdev(): SANDBOX_PCI_VENDOR_ID == vendor: Expected 4660, got 65535 Failures: 2 The bug only shows up when bus number is not equal to zero. This is caused by the plain find_devfn parameter is passed to function call pci_bus_find_devfn(), inside which find_devfn is compared to devfn in the device's pplat structure. However pplat->devfn does not carry the bus number. Fix this by passing find_devfn with bus number masked. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* test: dm: pci: Add tests for configuration space accessBin Meng2018-08-081-9/+15
| | | | | | | | So far we missed the testing for PCI configuration space access. This adds tests for it, as well as removing some redundant asserts. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* test: dm: pci: Test more than one PCI host controllerBin Meng2018-08-082-2/+37
| | | | | | | | | | | | So far there is only one PCI host controller in the sandbox test configuration. This is normally the case for x86, but it can be common on other architectures like ARM/PPC to have more than one PCI host controller in the system. This updates the case to cover such scenario. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* pci: sandbox: swap_case: Preserve space indicator bit in BAR registersBin Meng2018-08-081-3/+5
| | | | | | | | | | | | | | | | | | | | | | With the newly added testing of more than one device, we get: => ut dm pci_swapcase Test: dm_test_pci_swapcase: pci.c test/dm/pci.c:88, dm_test_pci_swapcase(): "tHIS IS A tESt" = ptr: Expected "tHIS IS A tESt", got "this is a test" Test: dm_test_pci_swapcase: pci.c (flat tree) test/dm/pci.c:88, dm_test_pci_swapcase(): "tHIS IS A tESt" = ptr: Expected "tHIS IS A tESt", got "this is a test" Failures: 2 The failure only happens on the 2nd swap_case device on the PCI bus. The case passes on the 1st device. It turns out the swap_case driver does not emulate bit#0 in BAR registers as a read-only bit. This corrects the implementation. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* test: dm: pci: Test more than one device on the same busBin Meng2018-08-082-4/+40
| | | | | | | | It's quite common to have more than one device on the same PCI bus. This updates the test case to test such scenario. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* test: dm: pci: Remove unnecessary steps in dm_test_pci_swapcase()Bin Meng2018-08-081-3/+1
| | | | | | | | The check on uclass_get_device() and device_active() is unnecessary as the follow-up test operations will implicitly probe the driver. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* dm: pci: Fix scanning multi-function deviceBin Meng2018-08-081-0/+2
| | | | | | | | | The flag to control whether to scan multi-function device during enumeration should be cleared at the beginning of each iteration if the device's function number equals to zero. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* dm: pci: Extract vendor/device id in child_post_bind()Bin Meng2018-08-081-6/+5
| | | | | | | | | Currently only devfn is extracted in child_post_bind(). Now that we have the live-tree version API to look up PCI vendor and device id from the compatible string, let's extract and save them too. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* dm: core: Add ofnode function to read PCI vendor and device idBin Meng2018-08-082-0/+49
| | | | | | | | We don't have the live-tree version of fdtdec_get_pci_vendev(). This adds the API. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* dm: Correct typos in uclass_first/next_device_check()Bin Meng2018-08-081-2/+2
| | | | | | | Correct typos in the comment block of uclass_first/next_device_check(). Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* pci: Remove 440ep-specific macrosBin Meng2018-08-081-15/+0
| | | | | | | | These macros should not be put in the generic pci.h header file. Since they are not referenced anywhere, remove them completely. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* zynqmp: Add avnet_ultra96_rev1_defconfig to the lits of boardsTom Rini2018-08-071-0/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Merge tag 'xilinx-for-v2018.09-rc2' of git://git.denx.de/u-boot-microblazeTom Rini2018-08-0740-408/+703
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xilinx fixes for v2018.09-rc2 xilinx: - Add support for zybo z7 and ultra96 - Tune zynq and zynqmp mini configurations - Move SYS_MALLOC_LEN to Kconfig fdt - make static funcs gpio: - Fix soft gpio driver - Fix Zynq gpio driver by using platdata microblaze: - Fix Kconfig entry spi - Move ISSI to Kconfig
| * arm: zynq: dts: add spi flash node to zedboardLuis Araneda2018-08-071-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a flash node to fix the detection of the memory IC. With the changes introduced with commit 8fee8845e754 ("enf_sf: reuse setup_flash_device instead of open coding it") the SPI speed is now read from device-tree or a default value is applied. This replaced the old behavior of setting the SPI speed to CONFIG_ENV_SPI_MAX_HZ. As this board didn't have a flash node, the default value was applied to the SPI speed, producing an error when probing the flash memory (speed too slow). Signed-off-by: Luis Araneda <luaraneda@gmail.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * gpio: xilinx: Add support for using label propertyMichal Simek2018-08-072-2/+18
| | | | | | | | | | | | | | | | | | Add support for reading label property from DT and set up bank name based on that. If label property is not present full device node name is used. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
| * gpio: xilinx: Return 0 from xilinx_gpio_set_valueMichal Simek2018-08-071-1/+1
| | | | | | | | | | | | | | | | | | | | .set_value functions have no specified return value and gpio_uclass is not working with it too. But this patch is returning 0 to be in sync with others DM gpio drivers. Reported-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
| * gpio: xilinx: Not read output values via regsMichal Simek2018-08-071-4/+32
| | | | | | | | | | | | | | | | | | Reading registers for finding out output value is not working because input value is read instead in case of tristate. Reported-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
| * common: fdt: Make fdt_del_subnodes/fdt_del_partition staticMichal Simek2018-08-071-2/+2
| | | | | | | | | | | | | | | | These functions are only called in this file that's why make them static to keep static analysers happy. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * gpio: xilinx: Simplify logic in xilinx_gpio_set_valueMichal Simek2018-08-071-7/+6
| | | | | | | | | | | | | | | | There is no reason to do read/write for if/else separately. Reported-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
| * gpio: xilinx: Set value before changing directionMichal Simek2018-08-071-2/+2
| | | | | | | | | | | | | | | | | | | | Set a value before changing gpio direction. This will ensure that the old value is not propagated when direction has changed but new value is not written yet. Reported-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
| * gpio: xilinx: Remove !DM driverMichal Simek2018-08-071-336/+2
| | | | | | | | | | | | There is no user for !DM driver that's why remove it. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * gpio: xilinx: Find out bank before use in xilinx_gpio_get_function()Michal Simek2018-08-071-4/+4
| | | | | | | | | | | | | | | | Call xilinx_gpio_get_bank_pin() before use. Reported-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
| * arm64: zynqmp: Add support for Avnet Ultra96Michal Simek2018-08-065-0/+114
| | | | | | | | | | | | | | Avnet Ultra96 is rebranded Xilinx zcu100 revC/D. Add new defconfig files and point to origin internal board name. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * arm: zynq: add support for the zybo z7 boardLuis Araneda2018-08-064-1/+448
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The board is manufactured by Digilent Main features: - Soc: XC7Z010 (Z7-10) or XC7Z020 (Z7-20) - RAM: 1 GB DDR3L - FLASH: 16 MB QSPI - 1 Gbps Ethernet - USB 2.0 - microSD slot - Pcam camera connector - HDMI Tx and Rx - Audio codec: stereo out, stereo in, mic - 5 (Z7-10) or 6 (Z7-20) Pmod ports - 6 push-buttons, 4 switches, 5 LEDs - 1 (Z7-10) or 2 (Z7-20) RGB LEDs Signed-off-by: Luis Araneda <luaraneda@gmail.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * Kconfig: Move config SYS_MALLOC_LEN to Kconfig for zynqSiva Durga Prasad Paladugu2018-08-067-5/+13
| | | | | | | | | | | | | | | | | | | | This patch moves the the config SYS_MALLOC_LEN to Kconfig. It will be just for Zynq arch and to do will be for all other archs. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Vipul Kumar <vipul.kumar@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * arm64: zynqmp: Enable soft gpio driver for zcu102 and zcu100Michal Simek2018-08-064-0/+4
| | | | | | | | | | | | Enable soft gpio driver for zcu102 and zcu100. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * gpio: zynq: Used platdata structure for storing static data instead of privVipul Kumar2018-08-061-33/+34
| | | | | | | | | | | | | | | | | | This patch used platdata structure instead of priv for storing static information read from DT. Signed-off-by: Vipul Kumar <vipul.kumar@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * microblaze: Add missing quotes around XILINX_MICROBLAZE0_HW_VERMichal Simek2018-08-061-1/+1
| | | | | | | | | | | | | | | | | | This issue is reported by kconfiglib: warning: style: quotes recommended around default value for string symbol XILINX_MICROBLAZE0_HW_VER (defined at board/xilinx/microblaze-generic/Kconfig:37) Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * arm: zynq: Fix indentation for zynq-cse targetsMichal Simek2018-08-062-3/+1
| | | | | | | | | | | | Trivial DT style fixes. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * arm: zynq: Remove fclk-enable property for cse-nor targetMichal Simek2018-08-061-1/+0
| | | | | | | | | | | | | | Mini cse NOR configuration is running without PL that's why there is no reason to enable clock to PL. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * arm: zynqmp: Fix sdhci clock in emmc1 mini configurationMichal Simek2018-08-061-1/+2
| | | | | | | | | | | | | | Add missing clocks property with fix clock-names property to be aligned with emmc0 configuration and binding doc. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * arm: zynqmp: Move NR_DRAM_BANKS for mini confirationMichal Simek2018-08-064-3/+1
| | | | | | | | | | | | | | There is no reason to have the same setting in subsequent config if we can have it only once in shared. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * spi: Kconfig: Create ISSI Kconfig entryMichal Simek2018-08-0611-3/+12
| | | | | | | | | | | | | | Add ISSI to Kconfig to make it selectable via menuconfig. Also convert all current platforms. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* | Merge git://git.denx.de/u-boot-marvellTom Rini2018-08-0750-558/+772
|\ \
| * | arm64: a37xx: add CONFIG_MTD_DEVICE and CONFIG_MTD_PARTITIONSVladimir Vid2018-08-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | CONFIG_MTD_DEVICE is required for the mtdparts command and but it is missing from the mvebu_armada-37xx.h CONFIG_MTD_PARTITIONS is needed for the ubi support. Some of the Marvell based devices may require this as well. Signed-off-by: Vladimir Vid <vladimir.vid@sartura.hr> Signed-off-by: Luka Perkov <luka.perkov@sartura.hr> Signed-off-by: Stefan Roese <sr@denx.de>
| * | tools: kwboot: properly quit when read() returns 0Willy Tarreau2018-08-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When kwboot is attached to a terminal which disappears such as one connected via an unplugged USB cable, read() returns 0, making kwboot loop until a key is pressed in the terminal. The only case where read() may return 0 here is when the terminal is closed anyway, so let's properly handle this one and report is similar to other errors. Signed-off-by: Willy Tarreau <w@1wt.eu> Signed-off-by: Stefan Roese <sr@denx.de>
| * | tools: kwboot: unbreak terminal-only modeWilly Tarreau2018-08-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 84899e2 ("tools/kwboot: Sync with latest barebox version to support Armada XP") accidently broke the terminal-only mode (-t) by removing the test on the bootmsg. Thus even when trying to use kwboot as a plain terminal, it asks to reboot the target. This commit simply reintroduces the lost test so that it is possible again to use kwboot to attach to the target system's console. Signed-off-by: Willy Tarreau <w@1wt.eu> Signed-off-by: Stefan Roese <sr@denx.de>
| * | ARM: kirkwood: add SBx81LIFXCAT boardChris Packham2018-08-079-0/+516
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is a series of line cards for Allied Telesis's SBx8100 chassis switch. The CPU block is common to the SBx81GP24 and SBx81GT24 cards cards collectively referred to as SBx81LIFXCAT in u-boot. Signed-off-by: Chris Packham <judge.packham@gmail.com> Signed-off-by: Stefan Roese <sr@denx.de>
| * | arm: mvebu: clearfog: add u-boot, dm-spl tag for spiJon Nettleton2018-08-071-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is required so SPL and u-boot can boot from spi flash devices that use the dm drivers. Signed-off-by: Jon Nettleton <jon@solid-run.com> [baruch: use -u-boot.dtsi] Signed-off-by: Baruch Siach <baruch@tkos.co.il> Reviewed-by: Stefan Roese <sr@denx.de> Signed-off-by: Stefan Roese <sr@denx.de>
| * | arm: mvebu: helios4: remove duplicate sdhci pins nodeBaruch Siach2018-08-071-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The same pinctrl node appears in the solidrun-microsom dtsi. Use that instead. Cc: Dennis Gilmore <dennis@ausil.us> Signed-off-by: Baruch Siach <baruch@tkos.co.il> Reviewed-by: Dennis Gilmore <dennis@ausil.us> Tested-by: Dennis Gilmore <dennis@ausil.us> Signed-off-by: Stefan Roese <sr@denx.de>
| * | arm: mvebu: Better align Clearfog dts file with Linux kernelJon Nettleton2018-08-071-235/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes changes so the u-boot dts file is structured more similar to the mainline linux dtsi file. It provides a minimal common dts that can work for most boards based on the ClearFog platform. Ethernet support is only supported for eth0 however all devices are left enabled so u-boot can generate and provide mac addresses for all of the network interfaces. Signed-off-by: Jon Nettleton <jon@solid-run.com> [baruch: rebase on recent changes] Signed-off-by: Baruch Siach <baruch@tkos.co.il> Reviewed-by: Dennis Gilmore <dennis@ausil.us> Tested-by: Dennis Gilmore <dennis@ausil.us> Signed-off-by: Stefan Roese <sr@denx.de>
| * | arm: mvebu: clearfog: use the microsom .dtsiBaruch Siach2018-08-071-57/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use hardware description from the recently introduced microsom .dtsi file to reduce duplication. Signed-off-by: Baruch Siach <baruch@tkos.co.il> Reviewed-by: Dennis Gilmore <dennis@ausil.us> Tested-by: Dennis Gilmore <dennis@ausil.us> Signed-off-by: Stefan Roese <sr@denx.de>
| * | arm: mvebu: solidrun-microsom: update SPI flash compatibleBaruch Siach2018-08-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Add the "spi-flash" compatible string so that the generic sf_probe driver can probe the SPI flash on the SolidRun SOM. Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Stefan Roese <sr@denx.de>