summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2019-10-23Merge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriqTom Rini
- Add LS1027A, LS1018A, LS1017A support - Few updates related to usb, ls1012a, lx2160a
2019-10-22test: clk: test clock self assignmentJean-Jacques Hiblot
Make sure that the clock self-assignment works by having a clock of clk-sbox be configured automatically when clk-sbox is probed. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-22drivers: clk: Fix using assigned-clocks in the node of the clock it sets upJean-Jacques Hiblot
This fixes the case where assigned-clocks is used to define a clock defaults inside this same clock's node. This is used sometimes to setup a default parents and/or rate for a clock. example: muxed_clock: muxed_clock { clocks = <&clk_provider 0>, <&clk_provider 1>; #clock-cells = <0>; assigned-clocks = <&muxed_clock>; assigned-clock-parents = <&clk_provider 1>; }; It doesn't work in u-boot because the assigned-clocks are setup *before* the clock is probed. (clk_set_parent() will likely crash or fail if called before the device probe function) Making it work by handling "assigned-clocks" in 2 steps: first before the clk device is probed, and then after the clk device is probed. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-22test: clk: Update tests to also check the managed APIJean-Jacques Hiblot
Add a few more clocks the clk_sandbox clock provider and get them using the managed API. Make sure they are released when the device is removed. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-22drivers: clk: Add a managed API to get clocks from the device-treeJean-Jacques Hiblot
Add devm_clk_get(), devm_clk_get_optional() to get clocks from the device-tree. The clocks is automatically released and the data structure freed when the device is unbound. Also add devm_clk_put() to release the clock and free the data structure manually. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-22drivers: clk: Handle gracefully NULL pointersJean-Jacques Hiblot
Prepare the way for a managed CLK API by handling NULL pointers without crashing nor failing. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-22clk: Add support for I2C clocks on NXP's imx6q SoC which use CCFLukasz Majewski
This change adds support for I2C clock modeled in CCF. This code intention is to only enable those clocks in the I2C driver with default settings. For that reason the "busy" versions of clocks reuse the generic approach and would need to be updated when one wants to adjust the I2C clock frequency in U-Boot. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-22clk: Fix error check in clk_set_default_parents()Jean-Jacques Hiblot
According to the documentation in clk.h, clk_set_parent() return the new rate of the clock or a negative error code. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
2019-10-22board: stm32mp1: fixup the usb product id for USB download gadgetPatrick Delaunay
Select the correct USB product id used by the download gadget for ST stm32mp1 boards. The board stm32mp1 select the correct product id, as defined in http://www.linux-usb.org/usb.ids for the STMicroelectronics vendor id = 0x0483 (CONFIG_USB_GADGET_VENDOR_NUM): - dfu = 0xdf11 : STM Device in DFU mode it is the value used by ROM code and reused for stm32prog command - fasboot = 0x0afb : Android Fastboot device - others = 0x5720 (CONFIG_USB_GADGET_PRODUCT_NUM) Mass Storage Device it is used for UMS command / usb_dnl_ums This patch avoid conflict when the same USB VID/PID is used for ums, fastboot or dfu command (two different protocols associated to the same PID). Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Acked-by: Patrice Chotard <patrice.chotard@st.com>
2019-10-22configs: stm32f746-disco: Fix ramdisk_addr_rPatrice Chotard
Set ramdisk_addr_r to 0xC0600000. Reported-by: Christophe Priouzeau <christophe.priouzeau@st.com> Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Acked-by: Patrick Delaunay <patrick.delaunay@st.com>
2019-10-22configs: stm32h743-eval: Disable CONFIG_NET flagPatrice Chotard
Network support was never added on this board, disable CONFIG_NET flag to avoid following warning: ===================== WARNING ====================== This board does not use CONFIG_DM_ETH (Driver Model for Ethernet drivers). Please update the board to use CONFIG_DM_ETH before the v2020.07 release. Failure to update by the deadline may result in board removal. See doc/driver-model/migration.rst for more info. ==================================================== Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Acked-by: Patrick Delaunay <patrick.delaunay@st.com>
2019-10-22configs: stm32h743-disco: Disable CONFIG_NET flagPatrice Chotard
Network support was never added on this board, disable CONFIG_NET flag to avoid following warning: ===================== WARNING ====================== This board does not use CONFIG_DM_ETH (Driver Model for Ethernet drivers). Please update the board to use CONFIG_DM_ETH before the v2020.07 release. Failure to update by the deadline may result in board removal. See doc/driver-model/migration.rst for more info. ==================================================== Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Acked-by: Patrick Delaunay <patrick.delaunay@st.com>
2019-10-22configs: stm32f469-discovery: Disable CONFIG_NET flagPatrice Chotard
Network support was never added on this board, disable CONFIG_NET flag to avoid following warning: ===================== WARNING ====================== This board does not use CONFIG_DM_ETH (Driver Model for Ethernet drivers). Please update the board to use CONFIG_DM_ETH before the v2020.07 release. Failure to update by the deadline may result in board removal. See doc/driver-model/migration.rst for more info. ==================================================== Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Acked-by: Patrick Delaunay <patrick.delaunay@st.com>
2019-10-22configs: stm32f429-evaluation: Disable CONFIG_NET flagPatrice Chotard
Network support was never added on this board, disable CONFIG_NET flag to avoid following warning: ===================== WARNING ====================== This board does not use CONFIG_DM_ETH (Driver Model for Ethernet drivers). Please update the board to use CONFIG_DM_ETH before the v2020.07 release. Failure to update by the deadline may result in board removal. See doc/driver-model/migration.rst for more info. ==================================================== Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Acked-by: Patrick Delaunay <patrick.delaunay@st.com>
2019-10-22configs: stm32f429-discovery: Disable CONFIG_NET flagPatrice Chotard
Network support was never added on this board, disable CONFIG_NET flag to avoid following warning: ===================== WARNING ====================== This board does not use CONFIG_DM_ETH (Driver Model for Ethernet drivers). Please update the board to use CONFIG_DM_ETH before the v2020.07 release. Failure to update by the deadline may result in board removal. See doc/driver-model/migration.rst for more info. ==================================================== Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Acked-by: Patrick Delaunay <patrick.delaunay@st.com>
2019-10-21dm: pinctrl: fix for introduce PINCONF_RECURSIVE optionPatrick Delaunay
Correct the name of the define used CONFIG_IS_ENABLED which is not aligned with Kconfig name: CONFIG_$(SPL_)PINCONF_RECURSIVE. The recursive calls is conditional only for UCLASS_PINCONFIG "pinconfig" driver. It is always needed to call pinctrl_post_bind for UCLASS_PINCTRL "pinctrl", the test CONFIG_IS_ENABLED(PINCONF_RECURSIVE) need to be removed for this driver. This correct a regression introduced because the same patch is applied twice times in u-boot-dm branch: - commit e878b53a79d1 ("dm: pinctrl: introduce PINCONF_RECURSIVE option") - commit c20851b3d850 ("dm: pinctrl: introduce PINCONF_RECURSIVE option") Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2019-10-21pinctrl: Kconfig: remove duplicated nodesPatrick Delaunay
Remove the duplicated configs introduced when the same patch is applied twice times: - commit e878b53a79d1 ("dm: pinctrl: introduce PINCONF_RECURSIVE option") - commit c20851b3d850 ("dm: pinctrl: introduce PINCONF_RECURSIVE option") Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2019-10-21armv7: ls102xa: Don't power down OCRAM1 during deep sleepBiwen Li
To allow OCRAM to be used as wakeup source in deep sleep, do not power it down. Signed-off-by: Biwen Li <biwen.li@nxp.com> Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>