27 Apr, 2020

40 commits

  • Align the build config files with v2019.04.
    Add config files for reworked eMMC, NAND boot, QSPI boot
    and plugin support. Move original defconfig to _spl_defconfig to keep
    SPL support.

    Signed-off-by: Ye Li
    (cherry picked from commit bf3882af8ddc804bc35a16dd73034b88eab5e4e2)

    Ye Li
     
  • Add functions below to align with v2019.04
    1. Switch from SPL to Non-SPL
    2. Add plugin and DCD for DDR initialization
    3. Update two ethernet controllers support at runtime
    4. Add GPMI NAND support
    5. Add LDO bypass settings

    Signed-off-by: Ye Li

    Ye Li
     
  • Update iMX6UL EVK DTS file to align with v5.4 kernel. And add DTS
    for eMMC and NAND.

    Signed-off-by: Ye Li

    Ye Li
     
  • Align the build configs with v2018.03, add new config for EPDC enabled.

    Signed-off-by: Ye Li
    (cherry picked from commit bbc43351ab3da32bcdb33ad1d9aa0bd6c7d7f193)
    (cherry picked from commit 059e1ee2e35f6d68660c5f30ddd98ebce7dee083)

    Ye Li
     
  • Add EPDC and LCD splash screen display support
    Update environment settings to align with v2018.03

    Signed-off-by: Ye Li
    (cherry picked from commit 5c2afb47a6ce15e6a0830771b09452d346c87688)
    (cherry picked from commit 4067abb96aa629c6ef7766cf0e2007d64e23e1c5)

    Ye Li
     
  • Update DTS, DTSi and clock binding file for mx6sllevk:
    1. Fix USDHC pad settings
    2. Add pin settings for i2c bus force idle
    3. Fix non-removable bug for usdhc2
    4. Update clock
    5. Update model name
    6. Update pmic node name

    Signed-off-by: Ye Li
    (cherry picked from commit 26bd5feefec059a0176768e89016cdc289839103)
    (cherry picked from commit f57952362eda7f56005e306ce6ef42e5a8e1b9e3)

    Ye Li
     
  • Add two build configs for EPDC and plugin.
    Update default mx6slevk defconfig and spinor defconfig to align
    with v2017.03

    Signed-off-by: Ye Li
    (cherry picked from commit c635b7f4f0eeb29510896f0df2715b8c1fb59553)
    (cherry picked from commit cb676995bb2cad3b4a696e7a7ed96faef0f7bfb3)

    Ye Li
     
  • Porting functions from v2019.04 in board level codes:
    1. Add EPDC support
    2. Update environment settings
    3. Add LDO bypass and update PMIC settings
    4. Add keypad support
    5. Add plugin support
    6. Add DM ethernet driver support

    Signed-off-by: Ye Li
    (cherry picked from commit 88232c1cbf9389e82f8e00c1cc3fcd6456292ed4)

    Ye Li
     
  • Copy the DTS and DTSi from 4.14 kernel.

    Changes in DTS specified for u-boot:
    1. Add alias for mmc and usb
    2. Add pin settings for i2c bus force idle
    3. Change PMIC node name
    4. Update model name to remove freescale

    Signed-off-by: Ye Li
    (cherry picked from commit e669373fc5f861750b2b7b59cde6c31c43cf61fb)
    (cherry picked from commit 877d09b0d104db8e377aa6e213b7cee46217fbbd)

    Ye Li
     
  • Update mx6sxsabreauto defconfig to align with v2018.03.

    Add other configs to support QSPI1 boot, NAND boot and plugin.

    Signed-off-by: Ye Li
    (cherry picked from commit 779b3bd0ede4050689b12982bfa2abe1d07b566e)
    (cherry picked from commit 7a83cf87562f1214b87ff99bb13bf01ed04e9581)

    Ye Li
     
  • Update DM PMIC settings and LDO bypass support.
    Add BMODE support.
    Add LVDS and LCD splash screen support
    Add two ethernet controller support
    Update environment settings
    Add plugin support

    Signed-off-by: Ye Li
    (cherry picked from commit beaea14e18f138249521f0de8a8ef902d555cb89)
    (cherry picked from commit c766595b0be6676b57886114f383b2d1c529ce29)

    Ye Li
     
  • Copy the DTS from 4.14 kernel

    Compared with kernel DTS, the changes in DTS for u-boot:
    1. Add pin settings for supporting i2c bus force idle.
    2. Change pfuze name
    3. Change board model name, remove freescale

    Signed-off-by: Ye Li
    (cherry picked from commit 67d0c3427562a81713ac8d00f5a976ac2942cb1a)

    Ye Li
     
  • Update mx6sxsabresd defconfig to align with v2018.03 with DM
    ethernet enabled.

    Add other configs to support QSPI2 boot, reworked eMMC, M4 fastboot and
    plugin.

    Signed-off-by: Ye Li
    (cherry picked from commit 8b5dd6ebeedf3325aacc3f61c1ae77b584d8756a)

    Ye Li
     
  • Add emmc support which needs board rework.
    Add I2C2.
    Update DM PMIC settings and LDO bypass support.
    Add BMODE support.
    Add LVDS and LCD splash screen support
    Add PCI power and reset GPIO and disable PCI at default.
    Update QSPI settings for QSPI boot and M4 fastup.
    Update environment settings

    Signed-off-by: Ye Li
    (cherry picked from commit e74716b6e78f016226dc9f800b04574f545d9367)
    (cherry picked from commit f3dd07286dc39d3028deaedf5dc1668929cbfd29)

    Ye Li
     
  • Update i.MX6SX dtsi file and relevant DTS header files.
    Add the imx6sx-sdb-emmc DTS file for reworked eMMC board.

    Changes in DTS and DTSi:
    1. Add spi0 and spi1 alias for qspi1 and qspi2.
    2. Add USB alias for usb0 and usb1

    Signed-off-by: Ye Li
    (cherry picked from commit 9d8838cb1409c265db3dd0b64219e1286202c10d)
    (cherry picked from commit deed82bb1d09d6163b3e69e04d723dc91563225b)

    Ye Li
     
  • Add epdc support from v2019.04.
    Add a epdc specified DTS file for using epdc

    Signed-off-by: Peng Fan
    Signed-off-by: Ye Li
    (cherry picked from commit ab2f9e136f5da034a8335dc8ca276a54367132e8)
    (cherry picked from commit ccfa28aec4093ac30a9b76d973f0288ab9c8f92c)
    (cherry picked from commit 86f7a2c50aeb4d5c12f7159356ea782f48905b19)

    Peng Fan
     
  • Update mx7dsabresd and qspi defconfigs, remove distro, and correct ENV device.
    Add config files to support NAND boot.
    Add config file for plugin.
    Add config files for RevA board and RevB boards.
    Remove the SYS_TEXT_BASE
    Rename mx7dsabresd_qspi_defconfig to mx7dsabresd_qspi1_defconfig

    Signed-off-by: Ye Li

    Ye Li
     
  • 1. Add plugin support
    2. Update to latest ddr3 script v2.0 version
    refer commit (b4db09bc0fc96e7c7461afade6346e0700ad582f)
    3. Add ddr3 script for TO1.1
    5. Update header file for NAND boot settings.
    6. Remove the wdog WCR bit 4 clear. Since we have implemented reset_cpu for mx7d.

    Signed-off-by: Ye Li
    (cherry picked from commit 16e51b5b59700a49c48cdfd8b308aa8793eeb44a)
    (cherry picked from commit 5a13c049e92536ba56924c934b1815e09a5fef59)

    Ye Li
     
  • Porting the the imx7d dtsi, dts files and binding files from 5.4.y kernel
    (359d8f37b464afea3718796fdd6eb27b0d2df8b1)

    New dts files are added to support GPMI-WEIM, RevA boards.

    Changes in DTS and DTSi:
    1. Add USB alias
    2. Modify the SPI alias for qspi
    3. Disable USDHC2 since it is for SDIO
    4. Add i2c force idle support pins
    5. Add back mmc alias by comparing with 2019.04.
    6. Update clock, pin and reset binding files
    7. Update QSPI only support 1 bit mode, remove RX/TX 4 bit mode

    Signed-off-by: Ye Li
    (cherry picked from commit 5feb51de9b4ddde2bf6c44f18320ba262f424b7c)

    Ye Li
     
  • Update LCD setup codes to use the parameters structure used for all
    i.mx platforms, discard to use videmode environment variable.

    Signed-off-by: Ye Li
    (cherry picked from commit 3b0609ca267baaf6a78bebaccc6896e6508d1844)
    (cherry picked from commit e97965bbd8f9346d909cda433cafd04a750d9867)
    (cherry picked from commit d8bcdcb95df9ed6661be589726bba66da26a1cdf)

    Ye Li
     
  • Enable the fec2 port by enabling its DTS node and clocks.

    Signed-off-by: Ye Li

    Ye Li
     
  • Update eQoS and fec ethernet drivers to support shared MDIO framework

    Signed-off-by: Ye Li
    (cherry picked from commit 5ce41af29fad17b2d26a96e589716ae5b617355e)

    Ye Li
     
  • For dual ethernet controllers, the HW design may connect ETH phys to
    one MDIO ports. So two different ethernet drivers have to share MDIO bus.
    Since two ethernet drivers are independent, we can't ensure their probe order.

    To resolve this problem, introduce an eth phy generic driver and uclass.

    After eth-uclass binds, we search the mdio node and binds the phy node with
    the eth-phy-generic driver.

    When one eth driver get its phy device, the parent of phy device will probe prior than
    phy device. So this ensure the eth driver ownes the MDIO bus will be probed
    before using its MDIO.

    Signed-off-by: Ye Li

    Ye Li
     
  • add the dedicate compatible string for i.MX6QP

    Signed-off-by: Han Xu
    (cherry picked from commit 69a71623f1017705127afc94307d76afa1241519)

    Han Xu
     
  • The iMX6SX uses compatible string "fsl,imx6sx-gpmi-nand" for gpmi
    node in DTS, so update the driver for the string

    Signed-off-by: Ye Li
    (cherry picked from commit e39d35e953390de6604f474866205b430f51fa2e)

    Ye Li
     
  • The issue on the i.MX7D is that, there is one cache-able memory access
    between the L1 and L2 cache flush by calling the flush_dache_all->
    v7_maint_dcache_all() [Flush L1 and L2 cache) which written in the C code.

    L1-cache-flush -> This will flush L1 cache to L2 cache in the end.
    Cache-able memory access -> This will have the chance cause the L1 line-fill
    with dirty data from L2 cache(L1 cache-line dirty,
    L2 clean)
    L2-cache-flush -> This will only flush L2 cache to L3, but still
    some dirty data on the L1 cacheline.

    After C & M bit clean, -> The dirty data on the L1 cache line lost, which will
    cause memory coherent issue if that dirty cache line
    has some useful data

    This patch should works fine on the i.MX6 and i.MX7.

    The second cache flush have zero impact on the i.MX6, but this is really need for
    the i.MX7D platform due to the L1 line-fill during the first dcache_flush.

    And the second flush will not bring in the L1 dirty cache line due to the C bit is
    clear now, which means the dcache is disabled.

    Acked-by: Jason Liu
    Reviewed-by: Jason Liu
    Signed-off-by: Ye.Li
    (cherry picked from commit f5d5f07fba936c4bb05c887de9d72fb75b3dc0f2)
    (cherry picked from commit 86c784cf4c4b633d37a76de7d47155c08f75dc82)
    (cherry picked from commit d85cd484e6825631aa1ab572e5e0539f2191d795)
    (cherry picked from commit 2b29c1873c2293abe1c4b361392521223b9c9ecf)
    (cherry picked from commit 3eaf56494f3000f841531e8c219cf3dd9ca024f7)
    (cherry picked from commit fd1ecbfba9ba0fb52a757a70a2fcbeb325508be2)
    (cherry picked from commit 742cd01a7bbe3e355569be2d1d454f4f268390a9)

    Ye.Li
     
  • This EPDC/EPXP QoS setting is needed for EPDC stress test to pass.

    Signed-off-by: Robby Cai
    Signed-off-by: Peng Fan
    (cherry picked from commit 1b32518d1c27f05eb84a4cb93594710354b2e343)
    (cherry picked from commit 8fd2dbe9097b09715f84e1c0c17dcd6a6351fb35)
    (cherry picked from commit a92a02f984aa7871aa5bb1a83e0e3f444796fedd)
    (cherry picked from commit 682b705b402827f6041839d92a717887a2a9649d)

    Peng Fan
     
  • -Change HDMI video mode to VGA.
    -Add pixel clock fraction part setting in IPU driver,
    fix video mode timing issue.
    -Add overflow state clear workaround,
    fix kernel hang in HDMI driver issue.
    -Correct IPU clock to 264MHz.

    Signed-off-by: Sandor Yu
    Signed-off-by: Nitin Garg
    Signed-off-by: Peng Fan
    Signed-off-by: Ye Li
    (cherry picked from commit 5028519b434d5dfbe53c48ac4b115ff8b69bbac7)
    (cherry picked from commit 8dcbd43b971616fb67dc3b2af32e2d33f68ed0ce)
    (cherry picked from commit 46b20bec72b53f10c1edf0bd8add5b356fbd7c42)
    (cherry picked from commit 116691b2fbc7a1f579c1a384739c15aa59e3fa69)

    Peng Fan
     
  • support to read the flag status in driver to avoid the spi-nor framework
    wait_for_ready hang issue.

    Signed-off-by: Han Xu
    (cherry picked from commit 767faa948d2d140b6d56ee505f81f8f57c045a3d)
    (cherry picked from commit 55e83ccb588c3e953f55148161bc524b5dab7a25)
    (cherry picked from commit 92b281f91792ffc76e9541fa341d6f46c6ec2b7a)

    Han Xu
     
  • The i.MX6SL EVK needs this driver in android fastboot support. Add
    this driver to u-boot.

    To use the driver, user must define:

    CONFIG_MXC_KPD Enable the driver
    CONFIG_MXC_KEYMAPPING Key mapping matrix
    CONFIG_MXC_KPD_COLMAX The column size of key mapping matrix
    CONFIG_MXC_KPD_ROWMAX The row size of the key mapping matrix

    Signed-off-by: Ye Li
    (cherry picked from commit 5096e572667ff41217deb4ba9b1bd15e93fa6b59)
    (cherry picked from commit e84160eaf5c057da45a227039c6f8a7911f43a82)
    (cherry picked from commit 7f8757016e97adeacba256bd0cb6ad8882f6a51e)
    (cherry picked from commit 79f5e8a3cc9bb1460dd06fa4909ff200d147377c)

    Ye Li
     
  • The reset_sata should reset the sata device info and free the probe_ent
    memory. Otherwise, it will cause memory leak if we init the sata again.

    Signed-off-by: Ye Li
    (cherry picked from commit 148488728486137a790a89e9b869cc938c3e0c57)
    (cherry picked from commit ceab4ca7f201545b030b0bf5a087dc7c30e18005)

    Ye Li
     
  • When sata stop is executed, the sata_curr_device is not reset to -1, so
    any following sata commands will not initialize the sata again and cause
    problem.

    Additional, in sata init implementation, the sata_curr_device should be updated,
    otherwise sata will be initialized again when doing other sata commands like
    read/write/info/part/device.

    Signed-off-by: Ye Li
    (cherry picked from commit 9bccfd01c618a5d059f332c000c42e5bf39880d9)
    (cherry picked from commit f162bbb14b5c9b0c4073eee5ceeea6a9d1780394)

    Ye Li
     
  • For GPIO group which shared by multiple masters, it may set in RDC
    to shared and semaphore required. Before access the GPIO register,
    the GPIO driver must get the RDC semaphore, and release the semaphore
    after the GPIO register access.

    When CONFIG_MXC_RDC is set, the features related to RDC semaphores
    is enabled in mxc_gpio driver.

    Signed-off-by: Ye.Li
    (cherry picked from commit 84d63e2e2ce12f714e88baad8b2325684614a7c1)
    Signed-off-by: Peng Fan

    Conflicts:
    drivers/gpio/mxc_gpio.c

    (cherry picked from commit c9943b9c8a78bb2c9886bfe582e82978387d8dee)
    Signed-off-by: Peng Fan
    (cherry picked from commit faf94726cac8316c4342e19936f1e03ef283ace3)
    (cherry picked from commit 6c0474fe0e4fc543c62b22c05c2702a881f56418)
    (cherry picked from commit 7cd5fec7ce6a9ecfdaa1a9c1aaaa0d0ac18a4f86)
    (cherry picked from commit 74d68c1b9f098c44992d591616372f0ec5ff13dd)
    (cherry picked from commit 208c009aa15453349ee9272d62e2c1cebe14ecab)

    Ye.Li
     
  • Align to imx_v2015.04, dynamic setting mmcdev and mmcroot.
    Then when boot linux, we can have correct "root=/dev/mmcblk[x]p2"

    Signed-off-by: Peng Fan
    (cherry picked from commit b46b99a901eb194e81fc4836ee2259ad8857f4d3)
    (cherry picked from commit 6f6a828fbe7478efd5932c302e6368877107bbca)
    (cherry picked from commit bb628be4e993e98fb2fe8fc6af7b16e706d0f32d)
    (cherry picked from commit 8e56914b4f536094bdf2301e347be02e0ccfee42)

    Peng Fan
     
  • Debug monitor will print out last failed AXI access info when
    system reboot is caused by AXI access failure, only works when
    debug monitor is enabled.

    Enable this module on i.MX6SX.

    Signed-off-by: Anson Huang
    Signed-off-by: Ye.Li
    (cherry picked from commit df6ac8531d498021ed379c74fc1847bd2cec7179)
    Signed-off-by: Peng Fan
    (cherry picked from commit 4f4ecdbf6fe2673b8ad117df1a4974bdb7e6aa4a)
    (cherry picked from commit e1c98a672e50fd0405686b74dad50680a75a8a9f)
    (cherry picked from commit 5265a3052505fae2a212af292412a62b20a16f97)
    (cherry picked from commit 9939631045b77617572a74283dd637d5c476cd53)

    Ye.Li
     
  • Add gis module, current gis is support vadc input.
    Add power down function to lcdif driver.

    Signed-off-by: Sandor Yu
    Signed-off-by: Ye.Li
    (cherry picked from commit a007b00dd8ef9f773dfdebef0b1deb0990281793)
    (cherry picked from commit a31dcdafb0963381e7213c59f79a340ef27ec2e2)
    (cherry picked from commit 02dfe2e4af5f51d39a51542fb0e81f93faf505bc)
    (cherry picked from commit a8e94954d8ccc44c41d77a5e356d6a99b3d45649)
    (cherry picked from commit 0864a17afbc93fed72273c7d7d3be0fc8681e794)
    (cherry picked from commit 20918f8e062111ca11bc9e3b82732145792c87c2)

    Ye.Li
     
  • Add pxp module.
    Support csc between YUV444 and RGB888 and scaling.

    Signed-off-by: Sandor Yu
    Signed-off-by: Ye.Li
    (cherry picked from commit 4c6e1f9ed1b2f5c98a34502b44b6414593fdd290)
    Signed-off-by: Peng Fan
    (cherry picked from commit 92295fafcdbaa3a3fe0a63ede15f896dfc9ce0b0)
    (cherry picked from commit 096a63e81a8c78b3f8bbc65a9d418aa032d62231)
    (cherry picked from commit b24cce0ad3ec9f386ca7aa231d8a2db33462f092)
    (cherry picked from commit 40c2e2c2160ac23f89a682c965ebea6488b8bffc)
    (cherry picked from commit 89bf4fac9052bf5d140a53670535285a8ca0a422)

    Ye.Li
     
  • Add csi module.

    Signed-off-by: Sandor Yu
    Signed-off-by: Ye.Li
    (cherry picked from commit 854ae26758ec8132ef749b98645dd2f43b84e5e2)
    Signed-off-by: Peng Fan
    (cherry picked from commit 5f133bd9420109951fd03bd5168801327e929c3b)
    (cherry picked from commit 16960e59fa3334162d2e2212ee4bc1e7f0c420a3)
    (cherry picked from commit bc0639ed8f5069f198067916caf088908492329d)
    (cherry picked from commit c7232ae1c27ef561d2235bb4db837ef9805f86d2)
    (cherry picked from commit 039bb76082a16b0e43e818a4d9df68ab4320ede5)
    (cherry picked from commit 4048b2cc1932a51f7f8c32ddf21bcf5ebd885a4f)

    Ye.Li
     
  • Add vadc module.
    Both PAL and NTSC mode can work.

    Signed-off-by: Sandor Yu
    Signed-off-by: Ye.Li
    (cherry picked from commit 03c31ae30c1e81c99f6824221e4801433445e04a)
    Signed-off-by: Peng Fan
    (cherry picked from commit b5d776ffc1519c16091736445b3217ffb7fcd7db)
    (cherry picked from commit 2377eb9fd299b76888f11faf76383b68e77bcc8a)
    (cherry picked from commit 808d447235bd0f9134c7d00fa480cd55b4e0426e)
    (cherry picked from commit 99977a1152981247a84252dba1d1cf55c0406b08)
    (cherry picked from commit ed0e7a8081c1a0447c0df72d36937a0a0c5c8a49)

    Ye.Li
     
  • Add vadc power up/down function.
    When gis enable in uboot, the CSI0 input mux select setting
    to vadc module, clean the bit when gis disabled

    Signed-off-by: Ye Li
    Signed-off-by: Sandor Yu
    Signed-off-by: Peng Fan
    (cherry picked from commit e0cfa889531d0a2587fb1fc607fffcc9599a2f4e)
    (cherry picked from commit 4b8609acf781dab90c6916dea4e74d5ffcd017b3)

    Ye Li