[U-Boot] [linux-sunxi] [PATCH 0/9] sunxi: enable DM_MMC
André Przywara
andre.przywara at arm.com
Mon Jan 21 00:54:52 UTC 2019
On 20/01/2019 19:51, Priit Laes wrote:
Hi,
> On Sat, Jan 19, 2019 at 01:30:46AM +0000, Andre Przywara wrote:
>> This series enables the Allwinner MMC driver to drive all SoCs with its
>> DM_MMC variant. We use the gates clock and reset support from the new
>> clock driver, but keep the actual mod clock in its somewhat hackish
>> state. Properly supporting this via the clock driver is a bit more work.
>> The per-compatible variant struct for now only holds the mod clock
>> address (which will go away), but we will need the struct later again
>> for the various timing modes.
>>
>> This allows us to eventually enable DM_MMC for all SoCs, and get rid of
>> the nasty deprecation warning.
>>
>> The first patch adds the MMC clock gates and resets to the clock driver.
>> Patch 2/9 adds support for the A80 MMC config clock, which is a bit
>> special. I can't test this, so please give this a try if you have a board.
>>
>> Patch 3 uses the new clocks in the MMC driver, the following three patches
>> add the remaining compatible strings along with their required mod clock
>> addresses.
>>
>> Patch 7 fixes the Pine64-LTS board, while patch 8 eventually enables
>> everything. Patch 9 is some comment fix to make it easier to reason
>> about what part of the driver is for DM_MMC and which is not.
>>
>> I successfully compiled the HEAD for all 142 Allwinner boards, also
>> compiled all patches for selected boards.
>>
>> This was briefly tested on Pine-H64 (H6), Pine64-LTS (A64), OrangePi PC 2
>> (H5), OrangePi Zero (H2+) and BananaPi-M1 (A20).
>>
>> Please run it on every board that you can get hold of to give this series
>> a good shake.
>
> Testing with A10 Gemei G9 Tablet, FEL mode is broken:
>
> a) With usb-boot via fel:
>
> I get following error/warning:
> Loading Environment from FAT... Card did not respond to voltage select!
>
> => mmc list
> mmc at 1c0f000: 0
> ### All commands below stalls for a bit (~2 seconds), but return nothing
> => mmc info
> => mmc dev 0
> => mmc part
Ah, thanks for mentioning that. Can reproduce this on the Pine64-LTS.
And I was already wondering why we wouldn't need the pinctrl parts I was
working on ...
So if we boot from SD card, the SPL sets up the pinmux for the SD pins,
and stuff works. For U-Boot proper we rely on board_mmc_init() to do
this for us, but this gets only called for !DM_MMC configurations.
If we boot with a SPL which doesn't initialise the MMC (booting via FEL
or SPI or NAND), the pinmux setup is missing and it fails.
If anyone has a clever idea how to fix this without too much hacking and
without bringing in a DM_PINCTRL driver, I am all ears.
Thanks for testing and the report!
Cheers,
Andre.
>
> b) When booting from SD-card [1], card is properly found, identified and
> even partitions are there.
>
> dd if=u-boot-sunxi-with-spl.bin of=/dev/mmcblk0 seek=8 bs=1024
>
>
>> This goes on top of current sunxi/master (543049ab5906) and is available
>> on https://github.com/apritzel/u-boot/commits/sunxi-dm.
>>
>> This replaces Jagan's v2 series "mmc: sunxi: Enable DM_MMC" in a more
>> driver model compliant way, borrowing two patches from him.
>>
>> Cheers,
>> Andre.
>>
>> Andre Przywara (7):
>> sunxi: clk: add MMC gates/resets
>> sunxi: clk: A80: add MMC clock support
>> mmc: sunxi: Add DM clk and reset support
>> mmc: sunxi: Add H6 support
>> mmc: sunxi: Add A80 support
>> mmc: sunxi: Honour non-removable property in DT
>> mmc: sunxi: Mark end of DM_MMC #ifdefs
>>
>> Jagan Teki (2):
>> mmc: sunxi: Add missing compatible strings
>> arm: sunxi: Enable DM_MMC
>>
>> arch/arm/Kconfig | 1 +
>> arch/arm/mach-sunxi/Kconfig | 1 -
>> configs/Linksprite_pcDuino3_defconfig | 1 -
>> drivers/clk/sunxi/clk_a10.c | 4 +++
>> drivers/clk/sunxi/clk_a10s.c | 3 ++
>> drivers/clk/sunxi/clk_a23.c | 6 ++++
>> drivers/clk/sunxi/clk_a31.c | 8 +++++
>> drivers/clk/sunxi/clk_a64.c | 6 ++++
>> drivers/clk/sunxi/clk_a80.c | 28 ++++++++++++++++-
>> drivers/clk/sunxi/clk_a83t.c | 6 ++++
>> drivers/clk/sunxi/clk_h3.c | 6 ++++
>> drivers/clk/sunxi/clk_h6.c | 6 ++++
>> drivers/clk/sunxi/clk_r40.c | 8 +++++
>> drivers/mmc/sunxi_mmc.c | 59 +++++++++++++++++++++++++++++------
>> 14 files changed, 131 insertions(+), 12 deletions(-)
>>
>> --
>> 2.14.5
>>
>> --
>> You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
>> To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe at googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
More information about the U-Boot
mailing list