
On Tue, 2020-01-21 at 00:55 +0100, Mauro Condarelli wrote:
Hi Weijie, I attach my, apparently working, port to VoCore2 SoM.
These patchsets are on top of Your 21 patch rewrite of MT7628 board,
While the first patchset is relatively straightforward, but does not include MMC handling, to enable it I had to backport from Linux Kernel several pieces, essentially clock and interrupt handling.
You are using a superseded patch series (v1) I submitted several months ago. These patches have already been replaced by v3 and merged into the mainline.
* "mtmips-clk-gate" from v1 is replaced by "mediatek,mt7628-clk" and the function of "mediatek,mt7628-clk" is a superset of "mtmips-clk-gate". * The node "intc" has no use at all. U-Boot for mips use no interrupts. * mmc property "hclk" is the gating clock of the SD controller module. Using <&clk48m> in the v1 patches was a bad idea. I changed it to <&clkctrl CLK_SDXC> in v3 to make sure its clock will be always enabled. * Please move pinctrl properties to your board's dts file. * pinctrl name "state_uhs" is not used by mtk-sd in U-Boot. MT7628 does not support UHS. You should remove it. * vmmc-supply and vqmmc-supply are not used by mtk-sd in U-Boot because UHS support is not added to the driver. Besides you have assigned wrong values to them. You should remove it.
Those drivers appear written by You. I am unsure if this is really needed or if there is some other (perhaps cleaner) way to enable MMC.
As said this seems to work for me, but I would like to contribute this board upstream, in the best possible way.
Please let me know how I should proceed.
I don't have a board with the "sd_iot_mode" pinmux for SDXC, so I can't tell you why you can't use it with my v3 patches. But I have tested v3 patches on boards using "sd_router_mode" pinmux and they do work well.
Best Regards and Thanks in Advance