summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-10-24arm64: versal: Enable GPIO command for VersalMichal Simek
Enable GPIO command for Xilinx Versal platform. Driver is updated that's why it can be used directly. Driver is enabled by default through Kconfig. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-24gpio: zynq: Add gpio driver support for PMC gpioShubhrajyoti Datta
This patch adds support for gpio driver for pmc gpio. Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-24gpio: zynq: Add gpio driver support for VersalAshok Reddy Soma
This patch adds support for gpio driver for versal platform Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-24firmware: zynqmp: Clean up zynqmp_power_probeMichal Simek
Fix error debug messages to be more accurate and aligned with debug message style in the whole file. And do not initialize ret variable because it is initialized later on and it is just additional step. Fixes: 1327d1678bd2 ("firmware: zynqmp: Add zynqmp-power support") Reported-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
2019-10-24firmware: zynqmp: Report error when xilinx_pm_request called from EL3Michal Simek
Function should report error when called in EL3 context. Also report it as error instead 0 (success). Reported-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
2019-10-24arm64: zynqmp: Convert invoke_smc() to xilinx_pm_request()Michal Simek
Remove macros which use PM_SIP_SVC offset and convert invoke_smc() to xilinx_pm_request() which do calculation with PM_SIP_SVC already. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-24arm64: versal: Rename versal_pm_request to xilinx_pm_requestMichal Simek
Use generic name instead of Versal specific because this should be also used on ZynqMP. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-24arm64: xilinx: Move firmware functions from platform to driverMichal Simek
versal_pm_request() and invoke_smc() are almost the same. Only one difference is that versal_pm_request is adding PM_SIP_SVC offset to api_id. The patch is moving platform implementation to firmware driver code for synchronization. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
2019-10-24arm64: versal: Clean pm_api_id usageMichal Simek
Copy enum values from platform code to firmware code. IDs are shared between ZynqMP and Versal. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-10-24Merge https://gitlab.denx.de/u-boot/custodians/u-boot-marvellTom Rini
- Add support for HyperBus Memory Controller of TI's J721e and AM654 SoCs (Vignesh)
2019-10-24MAINTAINERS: add MICROCHIP_FLEXCOM to at91Eugen Hristev
Add microchip flexcom driver to at91. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
2019-10-24configs: sam9x60ek: enable microchip_flexcom, i2c and eepromEugen Hristev
enable driver model for i2c, eeprom for mac retrieval from eeprom i2c memory, and microchip_flexcom driver. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
2019-10-24board: sam9x60ek: add support for MAC address retrievalEugen Hristev
Retrieve mac address from i2c eeprom at boot time. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
2019-10-24ARM: dts: sam9x60ek: add i2c0 as flexcom0 subnode and eeprom memoryEugen Hristev
Add i2c0 bus as subnode to flx0. Add eeprom memory as slave device to i2c0. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
2019-10-24ARM: dts: sam9x60: add flx0 nodeEugen Hristev
Add node for Flexcom0. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
2019-10-24misc: microchip_flexcom: introduce microchip_flexcom driverEugen Hristev
The Microchip Flexcom is just a wrapper which embeds a SPI controller, an I2C controller and an USART. Only one function can be used at a time and is chosen at boot time according to the device tree. The bindings are kept as in Linux. The driver registers to MISC_UCLASS. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
2019-10-24configs: sei610: khadas-vim3 : disable Gadget support for the DWC3Jean-Jacques Hiblot
Those platform use the DWC2 controller for the gadget support and the DWC3 for host-only operations. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-24ARM: DTS: keystone: complete the description of the USB PHY devicesJean-Jacques Hiblot
As the PHY driver now handles the transitions of USB power domain, we must add this information in the node of each PHY. Also, the phy are expected in the "phys" property, not "usb-phys". Also add the aliases for the USB ports on boards with more than a single port. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-24configs: k2g_evm_defconfig: disable XHCI_DWC3 and enable KEYSTONE_USB_PHYJean-Jacques Hiblot
KEYSTONE_USB_PHY is now required for proper USB operations. XHCI_DWC3 can be disabled as the xhci-dwc3 is not used anymore USB_DWC3_GADGET can also be removed, it is now selected automatically. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-24phy: keystone-usb: handle the transition of the USB power domainJean-Jacques Hiblot
There is no proper power domain support for the keystone platforms. However we need to turn off the USB domains before jumping to linux or it fail to boot (observed with k2e and k2l platforms). This can be done in the PHY driver as it is dedicated only to the keystone platforms and matches the required on/off sequence. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-24ARM: keystone: Do not enable the USB power domains at the board levelJean-Jacques Hiblot
This breaks linux boot sequence. Observed on k2e and k2l platforms. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-24ARM: keystone: increase PSC timeoutJean-Jacques Hiblot
Turning off the USB clocks may take longer than 100us. Increase the timeout to 100ms. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-24usb: dwc3: Kconfig: get rid of obsolete mode selectionJean-Jacques Hiblot
The mode selection for the DWC3 is kind of obsolete. The driver does not have to be host only or gadget only. This choice is confusing. All the remaining callers of dwc3_uboot_init() explicitly set dr_mode before calling the function, so none rely on a default behavior. Remove the choice menu and keep only the USB_DWC3_GADGET option. Enable it by default if USB_GADGET and USB_DWC3 are enabled. It must be disabled for the evb-rk3328 as it uses DWC2 for the gadget and DWC3 for the host. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-24usb: dwc3: Add dwc3_of_parse() to get quirks information from DTJean-Jacques Hiblot
Add a new function that read quirk and configuration information from the DT. The goal is to allow platforms using their own version of DWC3 driver to migrate to the generic DWC3 driver. The function is adapted from the function dwc3_get_properties() in the linux dwc3 driver introduced in commit c5ac6116db35d. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-24usb: dwc3-generic: if no max speed is specified in DT, assume super speedJean-Jacques Hiblot
There is no need to fail if the maximum speed is not specified. If the speed is not specified, do the same as linux and assume super speed. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-24usb: dwc3-generic: add a new host driver that uses the dwc3 coreJean-Jacques Hiblot
Currently the host driver used by dwc3-generic is "xhci-dwc3". This is a functional driver but it doesn't use the dwc3 core and, in particular, it lacks some bits that may be important. For example on the k2 platforms, it is important that the phy are properly suspended when the USB is not used anymore. The dwc3 core also has a partial support for quirks. The new driver can be used as a drop-in replacement for "xhci-dwc3". In terms of implementation, it may seem strange that 2 private structures dwc3_generic_host_priv and dwc3_generic_priv) are used. The reason for this is simply that the xhci layer expects a struct xhci_ctrl at the beginning of the private data and it seemed wasteful to include it also for the peripheral case. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-24usb: dwc3-generic: factorize codeJean-Jacques Hiblot
Factor code for re-usability. This is another step toward adding host support. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-24usb: dwc3-generic: use platdataJean-Jacques Hiblot
Separate platform data from the private data. This is one step toward adding host support. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-24usb: dwc3: always use the inlined version of dwc3_host_init/dwc3_host_exitJean-Jacques Hiblot
No one is actually implementing those functions. We could remove calls to these altogether, but it does not really hurt to keep the empty inlined version at the moment and it satisfies a symmetry with the gadget mode. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-24usb: xhci: move xhci.h to include usbJean-Jacques Hiblot
The xhci.h header file is currently located under drivers/usb/xhci Move it to the include/usb folder to make it available to drivers that are not under drivers/usb/xhci Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-24usb: dwc3: switch to peripheral mode when exitingJean-Jacques Hiblot
This allow the phy to enter idle and then suspend. the K2 platforms require the PHY to be suspended before the USB domain clock can be turned off. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-24usb: host: remove the xhci-zynqmp driverJean-Jacques Hiblot
This driver is not used anymore. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-24configs: j721e_evm_a72_defconfig: Add HBMC related configsVignesh Raghavendra
Enable HBMC and HyperFlash in A72 SPL and A72 U-Boot Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Reviewed-by: Stefan Roese <sr@denx.de>
2019-10-24configs: j721e_evm.h: Define CONFIG_SYS_MAX_FLASH_BANKS_DETECTVignesh Raghavendra
Define CONFIG_SYS_MAX_FLASH_BANKS_DETECT so that number of flash banks are automatically detected by CFI flash driver Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Reviewed-by: Stefan Roese <sr@denx.de>
2019-10-24arm: dts: k3-j721e-som-p0: Add HyperFlash nodeVignesh Raghavendra
J721e SoM as a 64MB HyperFlash on board. Add pinmux and DT node for the same. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Reviewed-by: Stefan Roese <sr@denx.de>
2019-10-24arm: dts: k3-j721e-mcu-wakeup: Add HyperBus Controller nodeVignesh Raghavendra
Add DT node for HyperBus Memory Controller in the FSS. On J721e, its not possible to use OSPI0 and HBMC simultaneously as they are muxed within the Flash Subsystem hence disable HBMC by default as keep OSPI enabled. Bootloader will fixup DT when it detects HyperFlash instead of OSPI. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Reviewed-by: Stefan Roese <sr@denx.de>
2019-10-24mtd: Add TI HyperBus Memory Controller driverVignesh Raghavendra
AM654/J721e has HyperBus Memory Controller that supports HyperFlash and HyperRAM devices. It provides a memory mapped interface to interact with these devices. Add a driver to support the same. Driver calibrates the controller, setups up for MMIO access and probes HyperFlash child node. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Reviewed-by: Stefan Roese <sr@denx.de>
2019-10-24mtd: cfi_flash: Use CONFIG_SYS_MONITOR_BASE only when definedVignesh Raghavendra
Make use of CONFIG_SYS_MONITOR_BASE only when available to avoid build error when CONFIG_SYS_MONITOR_BASE is not defined. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Reviewed-by: Stefan Roese <sr@denx.de>
2019-10-23configs: j721e_evm_a72: Enable configs for UFSFaiz Abbas
Enable SCSI and UFS related configs. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
2019-10-23env: ti: Add environment variables to boot from UFSFaiz Abbas
Add environment variables to boot kernel from a filesystem contained in the 2nd UFS LUN. The user can boot from a ufs filesystem just by entering the following commands. => setenv boot ufs => boot Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
2019-10-23cmd: Add Support for UFS commandsFaiz Abbas
Add Support for commands to initialize and configure UFS devices. TODO: Add Support for commands to resize and reconfigure LUNs Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
2019-10-23arm: dts: k3-j721e-main: Add UFS nodesFaiz Abbas
Add TI UFS glue layer and Cadence UFS Host controller DT nodes. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
2019-10-23ufs: Add glue layer driver for TI J721E devicesFaiz Abbas
Add glue layer driver for the controller present on TI's J721E devices. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
2019-10-23ufs: Add Support for Cadence platform UFS driverFaiz Abbas
Add Support for the platform driver for the Cadence device present on TI's J721e device. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
2019-10-23ufs: Add Initial Support for UFS subsystemFaiz Abbas
Add Support for UFS Host Controller Interface (UFSHCI) for communicating with Universal Flash Storage (UFS) devices. The steps to initialize the host controller interface are the following: - Initiate the Host Controller Initialization process by writing to the Host controller enable register. - Configure the Host Controller base address registers by allocating a host memory space and related data structures. - Unipro link startup procedure - Check for connected device - Configure UFS host controller to process requests Also register this host controller as a SCSI host controller. Taken from Linux Kernel v5.2 (drivers/scsi/ufs/ufshcd.c) and ported to U-boot. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
2019-10-23scsi: Add dma direction member to command structureFaiz Abbas
Some SCSI devices like UFS use DMA for executing scsi commands and hence need to know the direction of transfer of the dma. Add a dma_dir element to the command structure to facilitate this. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
2019-10-23scsi: Retry inquiry 3 times to overcome Unit Attention conditionFaiz Abbas
The UFS SCSI device LUNs are observed to return failure the first time a unit ready inquiry is sent and pass on the second try. Send this inquiry 3 times to make sure device is ready. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
2019-10-23scsi: Add max_bytes_per_req to scsi_platdataFaiz Abbas
Add max_bytes_per_req to scsi_platdata to enable the host driver to limit the number of bytes that can be read/written per request. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
2019-10-23scsi: Simplify scsi_read()/_write()Faiz Abbas
With no non-DM driver using scsi_read()/_write() APIs, remove the legacy implementations. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> [trini: Reorder slightly and mark scsi_read/write behind BLK test to avoid warnings] Signed-off-by: Tom Rini <trini@konsulko.com>
2019-10-23Merge tag 'u-boot-stm32-2019-10-23' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-stm - Disable CONFIG_NET flag for MCU STM32 - Fix ramdisk_addr_r for stm32f746-disco - Fix USB product id for stm32mp1