summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2018-05-31MLK-18455 mxc_spi: Fix issue for DM driverYe Li
Since the fdt API is changed, update to use devfdt_get_addr. Otherwise, build the DM SPI will fail. Signed-off-by: Ye Li <ye.li@nxp.com>
2018-05-23MLK-18341-1 thermal: nxp_tmu: Add support for thermal sensor on iMX8MMYe Li
The analog sensors on iMX8MM are new, used for 14LPP process. So the Temperature Sensor Monitoring Unit (TMU) has some change accordingly. We use version 2 in TMU driver to represent the new TMU, so the one driver can service for both MQ and MM. Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit 86fab918e607221249acc5c9a8f8eca01c17ec37)
2018-05-23MLK-17997: video: imx: hdp: Add HDMI RX firmware loadingSandor Yu
Add iMX8QM HDMI RX firmware loading. Signed-off-by: Sandor Yu <Sandor.yu@nxp.com> (cherry picked from commit 969d93660e1b34765627ff9f6f8dcab08dcd1250)
2018-05-23MLK-18290-4 usb: ci_udc: Add function to remove usb deviceYe Li
When unregister gadget driver in ci_udc, the usb device is not removed or stop. This causes next "usb start" fails to work. Add a new interface "usb_remove_ehci_gadget" in usb-uclass to remove the usb device for DM driver. Using "usb_lowlevel_stop" for non-DM driver. Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit c73d137e0a4a613a49f6f63ec63332508afb88c0)
2018-05-23MLK-18290-2 ehci-mx6: Update driver to support i.MX8MMYe Li
Since the i.MX8MM reuses the otg controllers on i.MX7D. We can use CONFIG_USB_EHCI_MX7 for them. Due the TCPC and load switch are used on Typec circuit. Add the board_usb_init and board_usb_cleanup to ehci-mx6 DM driver. So we can implement the TCPC settings in these board functions. Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit 67699e88aed8bd36e919f54f9555ae15595faaf7)
2018-05-23MLK-18262 usb: cnds3: gadget: correct maxpacketsize to be 512 for HSLi Jun
In case CONFIG_USB_CDNS3_GADGET_FORCE_HIGHSPEED, we should set the maxpacketsize to be 512 instead of 1024. Reviewed-by: Ye Li <ye.li@nxp.com> Acked-by: Peter Chen <peter.chen@nxp.com> Signed-off-by: Li Jun <jun.li@nxp.com> (cherry picked from commit 5e05784a89ec2fbbda9298f2c74ade134213b8c4)
2018-05-23MLK-18243-15 spi: fspi: Fix 3bytes accessYe Li
The address size is 3 bytes when using BAR mode, but the driver supposes the 4bytes mode is enabled and uses 4 bytes address. This cause address issue. Also the mask needs set to 23bits for 3 bytes address. Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit 2e9a9e0fe379306f7c1065f9afa9e67386be2503)
2018-05-23MLK-18243-14 spi: fspi: init unused LUT to 0Peng Fan
If not initialize unused LUT to 0, the value is random which might cause qspi command failure. On i.MX8QM/QXP, it works ok because ROM inittialize them to 0, but on i.MX8MM, ROM not initialize them, so let's do it here. Signed-off-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit c4bd49c7b249073415f052fb28cd5a4ad374a318)
2018-05-23MLK-18243-13 drivers: pinctrl: support i.MX8MMPeng Fan
Add compatible entry in imx8m pinctrl driver for i.MX8MM Signed-off-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit 34b5eaaafe81db4d0cbe07c39aad2ec4c8d2c9a2)
2018-05-23MLK-18387 pmic: Add pmic driver for BD71837Ye Li
The iMX8MM EVK board uses BD71837MWV pmic. Add its driver to u-boot. Signed-off-by: Ye Li <ye.li@nxp.com>
2018-05-23MLK-18044-4: crypto: caam: Fix pointer size to 32bit for i.MX8MAymen Sghaier
The CAAM block used in i.MX8M is 32 bits address size but when the flag PHYS_64BIT is enabled for armv8, the CAAM driver will try to use a wrong pointer size. This patch fixes this issue. Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com> (cherry picked from commit 9e1ef25c121240cf3f6a142058e617dd7df0030b)
2018-05-23MLK-18044-2: crypto: caam: Fix build warnings pointer castingAymen Sghaier
Enabling CAAM driver for i.MX8M platforms, a 64 bits architecture, lead to casting warnings: from/to pointer to/from integer with different size. This patch fix these warnings Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com> (cherry picked from commit d02fbc7d2957f4788ced017ccf17fd35ab968121)
2018-05-23MLK-18044-1: crypto: caam: Add CAAM support to i.MX8M platformsAymen Sghaier
This patch enable CAAM support for i.MX8M platforms. Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com> (cherry picked from commit 1fc92e6e34b06bdee81240ce06326aca1d9c02d8)
2018-05-23MLK-18043 2/4: caam: enable support for iMX7ULPFranck LENORMAND
Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com> (cherry picked from commit 5f429339ab5a5f0d1f00a2880ce05cf479f11ba5)
2018-05-23MLK-18043 1/4: caam: change JR running loopFranck LENORMAND
Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com> (cherry picked from commit 6503c1ed0264fc61945c2b3b5948b793f104fc32)
2018-04-27MA-11789 Flash system.img failed due to erasing timeoutguoyin.chen
Flash system partition with fastboot will earse the partition firstly The 1.2s timeout will fail on some SD Card. Enlarge it to 5s to make it works for most of sdcard Change-Id: I285df411c7a07025251fd19f4c8e8b549bee2421 Signed-off-by: guoyin.chen <guoyin.chen@nxp.com> (cherry picked from commit 642d77fb6d6412095faa6584eeef7bb0132cae57)
2018-04-27MLK-18169 imx: imx7 Support for Manufacturing ProtectionBreno Lima
This code was originally developed by Raul Cardenas <raul.casas@nxp.com> and modified to be applied in U-Boot imx_v2017.03. More information about the initial submission can be seen in the link below: https://lists.denx.de/pipermail/u-boot/2016-February/245273.html i.MX7D has an a protection feature for Manufacturing process. This feature uses asymmetric encryption to sign and verify authenticated software handled between parties. This command enables the use of such feature. The private key is unique and generated once per device. And it is stored in secure memory and only accessible by CAAM. Therefore, the public key generation and signature functions are the only functions available for the user. The manufacturing-protection authentication process can be used to authenticate the chip to the OEM's server. Command usage: Print the public key for the device. - mfgprot pubk Generates Signature over given data. - mfgprot sign <data_address> <data_size> Signed-off-by: Raul Ulises Cardenas <raul.casas@nxp.com> Signed-off-by: Breno Lima <breno.lima@nxp.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> Reviewed-by: Ye Li <ye.li@nxp.com> (cherry picked from commit db2dbf622d3c711b2fbd85e6814992e023479dad)
2018-04-27MLK-18161-20 usb: xhci-mem: Fix scratchpad array issueYe Li
After updating the value of dev_context_ptrs[0], we should flush this from cache to memory. Otherwise the controller won't use it. Signed-off-by: Ye Li <ye.li@nxp.com>
2018-04-27MLK-17821-1 USB: gadget: Add the cadence USB3 gadget driverYe Li
Porting the cadence USB3 (CDNS3) driver from kernel to u-boot. We only support the gadget (device mode), while the host mode is not supported. Users remains to use xhci-imx8 driver for host mode. Some changes in the CDNS3 driver porting: 1. Add match_ep call back to usb_gadget_ops. The CDNS3 gadget driver replies on this operation to bind the usb_ep/usb_ss_ep with the endpoint descriptor when function layer uses usb_ep_autoconfig to add endpoint descriptors to gadget. So that CDNS3 driver can know the EP information and configure the EP once the set configuration request is received. 2. U-boot does not have CMA, so it won't allocate uncached memory. Need to flush TRB and its DMA buffer before prime to usb controller and after complete transfer. 3. In core.c, we add functions to hook with u-boot. It needs uplayer like to pass the register base address of each part of the USB controller. 4. Force the CDNS3 gadget max speed to HS. The SuperSpeed is not supported by u-boot, so disable it in gadget driver. A configuration USB_CDNS3_GADGET_FORCE_HIGHSPEED is selected. 5. Added gadget_is_cdns3 checking to provide bcdUSB value in device descriptor. 6. Moved some new fields in usb_ep structure to usb_ss_ep, since u-boot does not have them. 7. Remove host part codes as it is not supported by this driver. Signed-off-by: Ye Li <ye.li@nxp.com> Acked-by: Peter Chen <peter.chen@nxp.com> (cherry picked from commit 70514bd095ff9a94e9a523845641381486284257)
2018-04-27MLK-17404-6 video: Adding i.MX8 HDMI support to configurationOliver Brown
Adding i.MX8 HDMI support to build configuration. Signed-off-by: Oliver Brown <oliver.brown@nxp.com> (cherry picked from commit 2edbbe51df0817876b943760a272640e3c9bff70)
2018-04-27MLK-17404-1 video: imx: hdp: Adding support for HDMI splash screenOliver Brown
Adding HDMI support for splash screen. Signed-off-by: Oliver Brown <oliver.brown@nxp.com> (cherry picked from commit a95018c0d3b0ac8f0893b9408ae598324de4a530)
2018-04-27MLK-17205-2 video: imx: hdp: Adding HDP firmware loading to the buildOliver Brown
Adding the HDP firmware loading to the build. Signed-off-by: Oliver Brown <oliver.brown@nxp.com>
2018-04-27MLK-17205-1 video: imx: hdp: Adding support for HDP firmware loadingOliver Brown
This adds a command to load the HDP firmware and supporting libraries. Signed-off-by: Oliver Brown <oliver.brown@nxp.com> (cherry picked from commit 94c9c7022c5b6cffb74bb2e34336cffc2790d0d8)
2018-04-27MLK-18161-16 fsl_esdhc: Update esdhc driver to support HS400 ES modeYe Li
Update for HS400 ES and enable iMX8QM/QXP for HS400 and HS400 ES. Signed-off-by: Ye Li <ye.li@nxp.com>
2018-04-27MLK-18161-15 mmc: Add HS400 Enhanced Strobe mode supportYe Li
The eMMC 5.1 supports the HS400 Enhanced Strobe mode, add this support to mmc. Signed-off-by: Ye Li <ye.li@nxp.com>
2018-04-27MLK-18161-13 i2c-mux: pca954x: Update driver to support pca9646 i2c switchYe Li
Add the PCA9646 support, which is 2-wire bus switch and buffered 4-channel. Signed-off-by: Ye Li <ye.li@nxp.com>
2018-04-27MA-10633 [Android] enlarge the timeout for waiting DATA0zhang sanshan
600ms is not enough to erase erase_grp_size for some sdcard. enlarge to to 1200ms. Change-Id: Ic980794fa3064f92b479b87380e694f853f83c6a Signed-off-by: zhang sanshan <sanshan.zhang@nxp.com> (cherry picked from commit 4a1db2cd700ea434e25c0692c545e571f5841a00)
2018-04-27MLK-17239 mmc: fsl_esdhc: fix sd/mmc ddr mode clock setting issueYe Li
When sd/mmc work at DDR mode, like HS400/HS400ES/DDR52/DDR50 mode, the actual clock rate is just half of the expected clock. This patch set the DDR_EN bit first for DDR mode, hardware divide the usdhc clock automatically, then follow the original sdr clock setting method. Signed-off-by: Haibo Chen <haibo.chen@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com>
2018-04-27MLK-16188-4: drivers: regulator: fixed: add off-on-delay-usPeng Fan
Add off-on-delay-us for fixed regulator. Signed-off-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit 53856166e9df6d2e204c5d0f3469b9333ecf734e)
2018-04-27MLK-16034-02: enable GPMI NAND driver for i.MX8Han Xu
enable the GPMI NAND driver for i.MX8, the major changes - register defination for i.mx8 - Makefile change for misc.c - DMA structure must be 32bit address Signed-off-by: Han Xu <han.xu@nxp.com> (cherry picked from commit 474c4270108551647c7064a23abdc2e11d7f37ab)
2018-04-27MLK-16208-1 thermal: Add driver to support i.MX8QM/QXP CPU thermal sensorYe Li
Add the DM thermal driver for i.MX8QM and QXP. The driver depends on DTB thermal sensor nodes. Will create device for each thermal in thermal-zones. User can use the thermal name to get the device from UCLASS_THERMAL. The driver flag is set to DM_FLAG_PRE_RELOC, to support run it at early stage, need add "u-boot,dm-pre-reloc" property to the thermal node. Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit 98005e0b5a46bd17160fac18be2374c15dba54f9)
2018-04-27MLK-15324-2 video: imxdpuv1: Add DPU driver for i.MX8Ye Li
Adding new IMXDPUV1 (aka Seeris, Iris-lite) display control driver. Signed-off-by: Oliver Brown <oliver.brown@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit 43541cba14f851c6eebaa84becd42967f94a9cfd)
2018-04-27MLK-15324-1 video: cfb_console: Fix 64 bits support problemYe Li
There are some integer to pointer convert. To support 64 bits system, change the unsigned int to unsigned long. Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit c3b5c2df452eac82a970ba304e94550be8e27335)
2018-04-27MLK-15026 usb: host: xhci-imx8: add imx8 USB3 driverPeter Chen
It is for imx8qm and imx8qxp, and the cadence IP is in it. Both DM and Non-DM are supported in this driver. The DM support only probes the USB3 node, but won't parse any properties from node in DTS. The registers address are still hard coded, that share with non-DM codes. The DM driver will enable the power of USB3 controller and USB3 PHY. But for Non-DM driver, users need to power up them in board level codes. Signed-off-by: Peter Chen <peter.chen@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com>
2018-04-27MLK-16175-1 usb: ehci-mx6: Turn on the power domain of USB PHYYe Li
Since there is no uclass for USB PHY. The device won't be setup for the USB PHY node in DTB. And its associated power domain device won't be turned on neither by DM framework. This patch modifies the ehci-mx6 driver to enable the power domain device before access the USB PHY. This is only for DM driver. For non-DM part, users still need to power on the USB PHY in boards/SoC codes. Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit 3c59c8ea95d401d06736c68c186aec80e214bee8)
2018-04-27MLK-16118-7 spi: flexspi: Add init_clk_fspi function to setup clockYe Li
When the power domain driver is enabled, we need to enable clocks after power domain on. The clock settings in board level codes must be removed, needs to set them when the device is probed. Add this weak function in flexspi driver, that SoC codes can implement the clock settings. Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit a4d334e70839021a50dca2ad4ad98ecee16081f9)
2018-04-27MLK-16118-6 net: fec_mxc: Add the init_clk_fec functionYe Li
When the power domain driver is enabled, we need to enable clocks after power domain on. So the clock settings can't set in board_init, needs to set them when the device is probed. Add this weak function in driver, that SoC codes can implement the clock settings. Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit c0e4ac66196b20f363f711fb18e40b70e3be9240)
2018-04-27MLK-16118-3 core: Add power domain operation to device probeYe Li
When power domain driver is enabled, power on the power domain for the device be probed. Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit bf3e8ecc36ed9f84b9ad1348be48088fbe4eef55)
2018-04-27MLK-16118-2 power: Add PD device lookup interface to power domain uclassYe Li
Add power_domain_lookup_name interface to power domain uclass to find a power domain device by its DTB node name, not using its associated client device. Through this interface, we can operate the power domain devices directly. This is needed for non-DM drivers. Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit f5fcb1903d935c2e1037b6a1fc61f1c290818727)
2018-04-27MLK-16118-1 power: Add power domain driver for i.MX8QM/QXPYe Li
Add the power domain DM driver for i.MX8, that it depends on the DTB power domain trees to generate the power domain provider devices. Users needs add power domain trees with property "compatible = "nxp,imx8-pd";" - When power on one PD device, the driver will power on its ancestor PD devices in power domain tree. - When power off on PD device, the driver will check its child PD devices first, only all child PD devices are off, then power off the current PD device. Then the driver checks sibling PD devices. If sibling PD devices are off, then it will power off parent PD device. - There is no counter maintained in this driver, but a state to hold current on/off state. So the request and free functions are empty. - The power domain implemetation in i.MX8 DTB set the "#power-domain-cells" to 0, so there is no ID binding with each PD device. We don't use "id" variable in struct power_domain. At same time, we have to set of_xlate to empty to bypass standard of_xlate in uclass driver. Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit 19c5632dc481d0fe983a4699d263bc9fc14edfcf)
2018-04-27MLK-16094-1 pinctrl: Add pinctrl driver for i.MX8 platformYe Li
Add pinctrl driver for i.MX8 platform (QM/QXP). The driver can parse the iomuxc settings from DTB and set them through IPC to SCU. Enable CONFIG_PINCTRL_IMX8 to use this pinctrl driver. Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit e881106f14f879a0861caa39ce0cdc278e0806a6)
2018-04-27MLK-15013-1 ehci-mx6: Add i.MX8 OTG controller supportYe Li
The i.MX8 has two USB controllers: USBOH and USB3. The USBOH reuses previous i.MX6/7. It has same PHY IP as i.MX7ULP but NC registers are same as i.MX7D. So add its support in ehci-mx6 driver. Also the driver is updated to remove build warning for 64 bits CPU. Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit cf0dd3af4c1d6d96e7394da46258e19cf281c6f0)
2018-04-27MLK-14938-24 mailbox: add imx mu DM mailbox driverTeo Hall
implement i.MX Messaging Unit driver within the DM Mailbox uclass Signed-off-by: Teo Hall <teo.hall@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit 9caafe21ddf12c9ab994fe9e65dc7afe5e7bab3d)
2018-04-27MLK-14938-23 mailbox: enable mbox_send non-blocking useTeo Hall
Add a timeout to allow non-blocking use in the same way as mbox_recv Signed-off-by: Teo Hall <teo.hall@nxp.com> (cherry picked from commit c2296701fa91dc8d4144c84c19ffe40dba3df88c)
2018-04-27MLK-14938-21 mxc_gpio: add support for i.MX8Adrian Alonso
Add support for iMX8 SoC platforms, and extend to support LSIO GPIO0..GPIO7 ports. Since the i.MX8 GPIO banks are indexed from 0 not 1 on other i.MX platforms, so we have to adjust the index accordingly. Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit cb3eabdb56173a75495717bf88fbc1d04623f6d7)
2018-04-27MLK-16186: spi: flexspi: reset the flexspi DLL register to default valueHan Xu
i.MX8QM ROM didn't calculate the DLL correctly in some cases, to avoid the wrong DLL setting impact the following functions, reset them to the default value when probe. Signed-off-by: Han Xu <han.xu@nxp.com> (cherry picked from commit da3c2a9f09afa45a428809b7bf3f981a1ccb7f2e)
2018-04-27MLK-15958-2 spi: fsl_fspi: Add support for 4bytes address modeYe Li
Update the LUT settings, spi_xfer to use the 4bytes address read/write/erase commands. Also add a function to enter the 4bytes mode for flash device. Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit 704c1c357d5566e6b3a72c57427d90ba08f9ef0f)
2018-04-27MLK-15958-1 mtd: spi: Add 4bytes extend address supportYe Li
Current SPI flash framework only supports to set bank register (CONFIG_SPI_FLASH_BAR) for flash with size > 16MiB. But some new flash device (for example, mt35xu512g) does not support this way, it only supports 4bytes extend address. To access the whole memory size for such flash device, we add the support for this 4bytes extend address mode to SPI flash framework. The configuration CONFIG_SPI_FLASH_4BYTES_ADDR is used to enable the feature. Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit c6815bcc44622861e3606c9aa7efa14c7db5ea5a)
2018-04-27MLK-14938-20 spi_flash: Remove SECT_4K flag for mt35xu512abaYe Li
Found the 4K subsector erase can't work on this mt35xu512aba flash. Remove this flag to use 128K sector erase. Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit 243aa3ddea8ee7f2e512d2a524b3553b0b144f92)
2018-04-27MLK-14938-19 spi: Add FlexSPI Driver for i.MX8QMYe Li
Add fsl_fspi driver for flexspi controller. This driver supports: 1. DDR Quad output 2. Prefetch function for improve read performance. 3. Fast read and Quad read for one line read mode. 4. Read flash FSR register. 5. DM. Signed-off-by: Han Xu <han.xu@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit ae4e80b7b0debd2ad868781aaeb28ca4f2d9a8aa)