summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | configs: ls1088aqds: add COMMON_ENV to fix distrobootBiwen Li2021-02-081-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add COMMON_ENV(kernelheader_addr_r, fdtheader_addr_r, kernel_addr_r, fdt_addr_r, load_addr) to fix a bug that failed to boot to ubuntu Failed log as follows, ## Executing script at 80000000 load - load binary file from a filesystemUsage: load <interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]] - Load binary file filename from partition part on device type interface instance dev to address addr in memory. bytes gives the size to load in bytes. If bytes is 0 or omitted, the file is read until the end. pos gives the file byte position to start reading from. If pos is 0 or omitted, the file is read from the start. ... Bad Linux ARM64 Image magic! SCRIPT FAILED: continuing... Signed-off-by: Biwen Li <biwen.li@nxp.com> [Updated description] Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | | net: memac_phy: add a timeout to MDIO operationsIoana Ciornei2021-02-081-18/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have encountered circumstances when a board design does not include pull-up resistors on the external MDIO buses which are not used. This leads to the MDIO data line not being pulled-up, thus the MDIO controller will always see the line as busy. Without a timeout in the MDIO bus driver, the execution is stuck in an infinite loop when any access is initiated on that external bus. Add a timeout in the driver so that we are protected in this circumstance. This is similar to what is being done in the Linux xgmac_mdio driver. Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Reviewed-by: Madalin Bucur <madalin.bucur@oss.nxp.com> [Rebased] Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | | board: kontron: disable flash unlock allMichael Walle2021-02-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Although the status register is protected by the hardware write protection, there is a hardware jumper to disable that hardware write protection. Thus if a user would set this jumper any u-boot start would disable the write protection altogether. Circumvent that by not disabling the write protection in the first place. Signed-off-by: Michael Walle <michael@walle.cc> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
| * | | mtd: spi-nor: add unlock all config optionMichael Walle2021-02-082-4/+15
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide an explicit configuration option to disable default "unlock all" of any flash chip which supports locking. It doesn't make sense to automatically unprotect the entire flash on each u-boot startup if the block protection bits are actually used. Traditionally, the unlock was there to be able to write to flash devices which powered-up with the block protection bits set. Over time this feature creeped into all flash devices which support locking. For a more detailed description and discussion see: https://lore.kernel.org/linux-mtd/20201203162959.29589-8-michael@walle.cc/ Keep things simple in u-boot and just provide a configration option to disable this behavior which can be set per board. Signed-off-by: Michael Walle <michael@walle.cc> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
* | | Merge git://git.denx.de/u-boot-shTom Rini2021-02-0817-134/+2247
|\ \ \ | | | | | | | | | | | | - Beacon EmbeddedWorks RZG2H/N Dev Kit support
| * | | ARM: rmobile: Add Beacon EmbeddedWorks RZG2H Dev KitAdam Ford2021-02-077-1/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Beacon EmbeddedWorks kit is based on the R8A774E1 SoC also known as the RZ/G2H. The kit consists of a SOM + Baseboard and supports microSD, eMMC, Ethernet, a couple celular radios, two CAN interfaces, Bluetooth and WiFi. It shares much of the same design as the RZ/G2M and RZ/G2N dev kits. Signed-off-by: Adam Ford <aford173@gmail.com>
| * | | ARM: rmobile: Add Beacon EmbeddedWorks RZG2N Dev KitAdam Ford2021-02-077-1/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Beacon EmbeddedWorks kit is based on the R8A774B1 SoC also known as the RZ/G2N. The kit consists of a SOM + Baseboard and supports microSD, eMMC, Ethernet, a couple celular radios, two CAN interfaces, Bluetooth and WiFi. It shares much of the same design as the RZ/G2M dev kit. Signed-off-by: Adam Ford <aford173@gmail.com>
| * | | arm: dts: r8a774b1: Import DTS queued for Linux 5.12-rc1Adam Ford2021-02-071-2/+74
| | | | | | | | | | | | | | | | | | | | | | | | Update the RZ/G2N dtsi from Renesas repo destined to become 5.12-rc1. Signed-off-by: Adam Ford <aford173@gmail.com>
| * | | arm: dts: r8a774e1: Import DTS queued for Linux 5.12-rc1Adam Ford2021-02-071-27/+1347
| | | | | | | | | | | | | | | | | | | | | | | | Update the RZ/G2H dtsi from Renesas repo destined to become 5.12-rc1. Signed-off-by: Adam Ford <aford173@gmail.com>
| * | | arm: dts: r8a774a1: Import DTS queued for Linux 5.12-rc1Adam Ford2021-02-074-104/+445
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the RZ/G2M dtsi and r8a774a1-beacon-rzg2m-kit kit from Renesas repo destined to become 5.12-rc1. Signed-off-by: Adam Ford <aford173@gmail.com>
| * | | dt-bindings: Sync versaclock.h with upcoming 5.12-rc1Adam Ford2021-02-071-0/+13
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | The versaclock doesn't have a driver yet, but there are a bunch of device tree updates for the Beacon RZ/G2 boards that won't compile without these. A driver is coming, so sync the bindings for now Signed-off-by: Adam Ford <aford173@gmail.com>
* | | Merge branch 'master' of git://git.denx.de/u-boot-usbTom Rini2021-02-0812-99/+188
|\ \ \ | |/ / |/| |
| * | fastboot: reinit partition after storing GPT or MBRRoman Stratiienko2021-02-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | In case MMC has MBR system and fastboot writes GPT, MMC is still recognized as MBR. Invoke part_init() to purge cached data and update information about partition table type. Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
| * | fastboot: add command to select the eMMC boot configurationPatrick Delaunay2021-02-074-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add command oem bootbus which executes the command ``mmc bootbus <id> <arg>`` on the current fastboot mmc device (<i> = CONFIG_FASTBOOT_FLASH_MMC_DEV) to set the eMMC boot configuration on first update, with <arg> = boot_bus_width reset_boot_bus_width boot_mode $> fastboot oem bootbus:<boot_bus_width> <reset_boot_bus_width> <boot_mode> Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
| * | fastboot: add command to select the default emmc hwpart for bootPatrick Delaunay2021-02-074-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add fastboot command oem partconf which executes the command ``mmc partconf <id> <arg> 0`` on the current <id> mmc device to configure the eMMC boot partition with <arg>: boot_ack boot_partition, so the command is: $> fastboot oem partconf:<boot_ack> <boot_partition> The partition_access argument is forced to 0 (userdata) Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> [lukma - Kconfig adjustments after merging this patch]
| * | fastboot: mmc: extend flash/erase for both emmc hwpart 1 and 2Patrick Delaunay2021-02-075-27/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the code and the configs for eMMC boot and userdata partitions acces - FASTBOOT_MMC_BOOT_SUPPORT: boot partition 1 and 2 (erase/write) - FASTBOOT_MMC_BOOT1_NAME: boot partition 1, default name="mmc0boot0" - FASTBOOT_MMC_BOOT2_NAME: boot partition 2, default name="mmc0boot1" This patch also removes the unnecessary dependency with ARCH_MEDIATEK and EFI_PARTITION. Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
| * | fastboot: mmc: Add CONFIG_FASTBOOT_MMC_USER_SUPPORTPatrick Delaunay2021-02-075-8/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split userdata and boot partition support for eMMC update and correct the description (update is supported). The new configuration CONFIG_FASTBOOT_MMC_USER_SUPPORT allows to activate support of userdata partition update, based on target name=CONFIG_FASTBOOT_MMC_USER_NAME This patch also removes the unnecessary dependency with ARCH_MEDIATEK and EFI_PARTITION. Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
| * | fastboot: Implement generic fastboot_set_reboot_flagRoman Kovalivskyi2021-02-071-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is possible to implement fastboot_set_reboot_flag in a generic way if BCB commands are turned on for a target. Using bcb_set_reboot_reason allows to do this by simply passing string with correct reboot reason that should be handled during next boot process. If BCB are turned off, then bcb_set_reboot_reason would simply return error, so it won't introduce any new behaviour for such targets. Signed-off-by: Roman Kovalivskyi <roman.kovalivskyi@globallogic.com>
| * | Revert "fastboot: Add default fastboot_set_reboot_flag implementation"Roman Kovalivskyi2021-02-074-65/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0ebf9842e56c5b8cb7cb1f990bb452cc14af6225. Current generic implementation of fastboot_set_reboot_flag is somewhat messy and requires some additional configuration option to be enabled besides CMD_BCB, so it reverts that implementtion in order to bring a new cleaner one. Next commit introduces new generic implementation of fastboot_set_reboot_flag. Signed-off-by: Roman Kovalivskyi <roman.kovalivskyi@globallogic.com>
| * | dfu: dfu_sf: use correct print codeHeinrich Schuchardt2021-02-071-1/+1
| | | | | | | | | | | | | | | | | | For printing unsigned int %u has to be used. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
* | | Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86Tom Rini2021-02-068-76/+328
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | - introduces some standard sysinfo options as a source, e.g. to read strapping pins to determine the board revision - allows the U-Boot version number to be included - allows the version number to be provided programmatically, e.g. to support the build system adding information after U-Boot is built
| * | smbios: Allow a few values to come from sysinfoSimon Glass2021-02-062-3/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While static configuration is useful it cannot cover every case. Sometimes board revisions are encoded in resistor straps and must be read at runtime. The easiest way to provide this information is via sysinfo, since the board can then provide a driver to read whatever is needed. Add some standard sysinfo options for this, and use them to obtain the required information. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
| * | x86: coral: Add sysinfo opsSimon Glass2021-02-061-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These ops are missing at present which is not permitted. Add an empty operation struct. Note: If the uclass requires operations then the drivers should provide them. Otherwise, checking for missing operations must be done in every uclass operation, so it adds to code size. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
| * | sysinfo: Move #ifdef so that operations are always definedSimon Glass2021-02-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At present the struct is not available unless SYSINFO is enabled. This is annoying since code it is not possible to use compile-time checks like CONFIG_IS_ENABLED(SYSINFO) with this header. Fix it by moving the #ifdef. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
| * | smbios: Add more options for the BIOS version stringSimon Glass2021-02-063-3/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At present the version string is obtained from PLAIN_VERSION. Some boards may want to configure this using the device tree, since the build system can more easily insert things there after U-Boot itself is built. Add this option to the code. Also in some cases the version needs to be generated programmatically, such as when it is stored elsewhere in the ROM and must be read first. To handle this, keep a pointer around so that it can be updated later. This works by storing the last string in the context, since it is easier than passing out a little-used extra parameter. Provide a function to update the version string. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
| * | smbios: Track the end of the string tableSimon Glass2021-02-061-17/+15
| | | | | | | | | | | | | | | | | | | | | | | | Add a new member to the context struct which tracks the end of the string table. This allows us to avoid recalculating this at the end. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
| * | smbios: Drop the eos parameterSimon Glass2021-02-061-24/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can store this in the context and avoid passing it to each function. This makes it easier to follow and will also allow keeping track of the end of the string table (in future patches). Add an 'eos' field to the context and create a function to set it up. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
| * | smbios: Use a struct to keep track of contextSimon Glass2021-02-061-32/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At present we pass the ofnode to each function. We also pass the 'eos' pointer for adding new strings. We don't track the current end of the string table, so have smbios_string_table_len() to find that. The code can be made more efficient if it keeps information in a context struct. This also makes it easier to add more features. As a first step, switch the ofnode parameter to be a context pointer. Update smbios_add_prop() at the same time to avoid changing the same lines of code in consecutive patches. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
| * | smbios: Set BIOS release versionSimon Glass2021-02-061-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We may as well include the U-Boot release information in the type-0 table since it is designed for that purpose. U-Boot uses release versions based on the year and month. The year cannot fit in a byte, so drop the century. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
| * | smbios: Use char consistently for the eos memberSimon Glass2021-02-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | At present a few of the structs use u8 instead of char. This is a string, so char is better. Update them. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
| * | smbios: Move smbios_write_type to the C fileSimon Glass2021-02-062-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | This type is not used outside the smbios.c file so there is no need for it to be in the header file. Move it. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
| * | Makefile: Provide numeric versionsSimon Glass2021-02-062-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | For SMBIOS we want to store the numeric version numbers in the tables. It does not make sense to parse the strings. Instead, add new #defines with the version and patchlevel. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
| * | README: Add doumentation for version informationSimon Glass2021-02-062-0/+94
|/ / | | | | | | | | | | | | | | There are quite a few available version options in U-Boot. Add a list of the available Makefile variables and #defines, along with examples. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* | Merge tag 'ti-v2021.04-rc2' of ↵Tom Rini2021-02-0543-1190/+5023
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | https://gitlab.denx.de/u-boot/custodians/u-boot-ti - Sync DTS from Linux kernel for all K3 platforms - Add MMC higher speed nodes for AM65x, J721e, J7200 - Convert Nokia RX-51 to use CONFIG_DM_MMC - Minor fixes for LEGO MINDSTORMS
| * | arm: dts: k3-j7200: Sync Linux v5.11-rc6 dts into U-BootLokesh Vutla2021-02-046-215/+583
| | | | | | | | | | | | | | | | | | | | | | | | | | | Sync all J7200 related v5.11-rc6 Linux kernel dts into U-Boot. MCU R5F nodes are not yet added in Linux kernel yet but were added in U-Boot. In order to avoid regressions, r5f nodes are kept intact. These will be added in kernel in future. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
| * | arm: dts: k3-j721e: Sync Linux v5.11-rc6 dts into U-BootLokesh Vutla2021-02-049-406/+2440
| | | | | | | | | | | | | | | | | | | | | | | | | | | Sync all J721e related v5.11-rc6 Linux kernel dts into U-Boot. HBMC nodes are not yet added in Linux kernel yet but were added in U-Boot. In order to avoid any regressions, hbmc nodes are kept intact. These will be added in kernel in future. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
| * | arm: dts: k3-am65: Sync Linux v5.11-rc6 dts into U-BootLokesh Vutla2021-02-049-376/+1360
| | | | | | | | | | | | | | | | | | Sync all AM65 related v5.11-rc6 Linux kernel dts into U-Boot. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
| * | configs: am65x_evm: Add configs for UHS modesFaiz Abbas2021-02-042-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | Add configs for voltage switching and UHS modes for the SD card and HS200 for the eMMC. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
| * | arm: dts: k3-am654-base-board: Limit Sd card to High speed modesFaiz Abbas2021-02-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's an issue with the base board in which the power cycle circuit takes way longer to power down than expected by mmc core. code. This prevents the card from enumerating in UHS modes. Disable UHS modes for this board until a new board revision fixes the issue. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
| * | arm: dts: k3-am65-main: Add itapdly and clkbuf-sel valuesFaiz Abbas2021-02-041-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | Add the appropriate itapdly and clkbuf-sel values required for some lower speed modes. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
| * | configs: j7200_evm: Add support for UHS modesFaiz Abbas2021-02-042-0/+9
| | | | | | | | | | | | | | | | | | | | | Add configs to support UHS modes for the SD card and HS200 for the eMMC. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
| * | configs: j721e_evm: Add support for UHS modesFaiz Abbas2021-02-042-0/+9
| | | | | | | | | | | | | | | | | | | | | Add configs to support UHS modes for the SD card and HS200 for the eMMC. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
| * | arm: dts: k3-j7200-common-proc-board: Enable support for UHS modesFaiz Abbas2021-02-043-2/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for UHS modes by adding the regulators to power cycle and voltage switch the card. Also add pinmuxes required for each node Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
| * | arm: dts: k3-j7200-main: Add support for gpio0Faiz Abbas2021-02-041-0/+22
| | | | | | | | | | | | | | | | | | | | | Add support for the main_gpio0 node Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
| * | arm: dts: k3-j721e-common-proc-board: Add support for UHS modes for SD cardFaiz Abbas2021-02-041-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | Add support for regulators to power cycle and switch IO voltage to the SD card. This enables support for UHS modes. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
| * | arm: dts: k3-j721e-main: Update otap-delay valuesFaiz Abbas2021-02-041-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Update otap delay values to match with the latest Data Manual[1]. [1] https://www.ti.com/lit/gpn/dra829v Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
| * | arm: dts: k3-am65: Fix mmc nodesFaiz Abbas2021-02-044-60/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because of fundamental interface issues in am65x pg1, only the initial sdhci1 node at 25 MHz was added in the u-boot.dtsi from which both the base-board.dts and r5-base-board.dts inherit the node. Move the node out to k3-am65-main.dtsi where it belongs and add the board specific properties in base-board.dts and r5-base-board.dts This ensures dts compatibility with the kernel dts in the base-board.dts and enables the SD card interface at 50 MHz and High Speed mode While we are here, also fix the main_mmc0_pins_default property to be included and inherit from the base-board.dts instead of the u-boot.dtsi Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
| * | mmc: am654_sdhci: Use sdhci_set_control_reg()Faiz Abbas2021-02-041-16/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use the generic sdhci_set_control_reg() instead of duplicating in platform driver. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
| * | mmc: am654_sdhci: Fix HISPD bit configuration in some lower speed modesFaiz Abbas2021-02-042-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the AM654x Data Manual[1], the setup timing in lower speed modes can only be met if the controller uses a falling edge data launch. To ensure this, the HIGH_SPEED_ENA (HOST_CONTROL[2]) bit should be cleared in default speed, SD high speed, MMC high speed, SDR12 and SDR25 speed modes. Use the sdhci writeb callback to implement this condition. [1] http://www.ti.com/lit/gpn/am6546 Section 5.10.5.16.1 Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
| * | mmc: am654_sdhci: Add support for software tuningFaiz Abbas2021-02-041-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the new SW tuning App note[1], a custom tuning algorithm is required for eMMC HS200, HS400 and SD card UHS modes. The algorithm involves running through the 32 possible input tap delay values and sending the appropriate tuning command (CMD19/21) for each of them to get a fail or pass result for each of the values. Typically, the range will have a small contiguous failing window. Considering the tuning range as a circular buffer, the algorithm then sets a final tuned value directly opposite to the failing window. [1] https://www.ti.com/lit/pdf/spract9 Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>