On 10/11/2020 06:48, Frank Lee wrote:

Hi,

> From: Yangtao Li <[email protected]>
> 
> The A100 has 3 MMC controllers, one of them being especially targeted to
> eMMC. Let's add nodes on dts.
> 
> Signed-off-by: Yangtao Li <[email protected]>

I don't have a datasheet nor a device for testing, but at least I could
check the pins against the pinctrl driver, and compare the MMC nodes
against the H6. Apart from the interrupts they are the same, so:

Reviewed-by: Andre Przywara <[email protected]>

Cheers,
Andre

> ---
>  .../arm64/boot/dts/allwinner/sun50i-a100.dtsi | 71 +++++++++++++++++++
>  1 file changed, 71 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a100.dtsi 
> b/arch/arm64/boot/dts/allwinner/sun50i-a100.dtsi
> index c731bb9727c2..4adfc7d4854a 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a100.dtsi
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a100.dtsi
> @@ -169,12 +169,83 @@ pio: pinctrl@300b000 {
>                       interrupt-controller;
>                       #interrupt-cells = <3>;
>  
> +                     mmc0_pins: mmc0-pins {
> +                             pins = "PF0", "PF1", "PF2", "PF3",
> +                                    "PF4", "PF5";
> +                             function = "mmc0";
> +                             drive-strength = <30>;
> +                             bias-pull-up;
> +                     };
> +
> +                     /omit-if-no-ref/
> +                     mmc1_pins: mmc1-pins {
> +                             pins = "PG0", "PG1", "PG2", "PG3",
> +                                    "PG4", "PG5";
> +                             function = "mmc1";
> +                             drive-strength = <30>;
> +                             bias-pull-up;
> +                     };
> +
> +                     mmc2_pins: mmc2-pins {
> +                             pins = "PC0", "PC1", "PC5", "PC6",
> +                                    "PC8", "PC9", "PC10", "PC11",
> +                                    "PC13", "PC14", "PC15", "PC16";
> +                             function = "mmc2";
> +                             drive-strength = <30>;
> +                             bias-pull-up;
> +                     };
> +
>                       uart0_pb_pins: uart0-pb-pins {
>                               pins = "PB9", "PB10";
>                               function = "uart0";
>                       };
>               };
>  
> +             mmc0: mmc@4020000 {
> +                     compatible = "allwinner,sun50i-a100-mmc";
> +                     reg = <0x04020000 0x1000>;
> +                     clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>;
> +                     clock-names = "ahb", "mmc";
> +                     resets = <&ccu RST_BUS_MMC0>;
> +                     reset-names = "ahb";
> +                     interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
> +                     pinctrl-names = "default";
> +                     pinctrl-0 = <&mmc0_pins>;
> +                     status = "disabled";
> +                     #address-cells = <1>;
> +                     #size-cells = <0>;
> +             };
> +
> +             mmc1: mmc@4021000 {
> +                     compatible = "allwinner,sun50i-a100-mmc";
> +                     reg = <0x04021000 0x1000>;
> +                     clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>;
> +                     clock-names = "ahb", "mmc";
> +                     resets = <&ccu RST_BUS_MMC1>;
> +                     reset-names = "ahb";
> +                     interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
> +                     pinctrl-names = "default";
> +                     pinctrl-0 = <&mmc1_pins>;
> +                     status = "disabled";
> +                     #address-cells = <1>;
> +                     #size-cells = <0>;
> +             };
> +
> +             mmc2: mmc@4022000 {
> +                     compatible = "allwinner,sun50i-a100-emmc";
> +                     reg = <0x04022000 0x1000>;
> +                     clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>;
> +                     clock-names = "ahb", "mmc";
> +                     resets = <&ccu RST_BUS_MMC2>;
> +                     reset-names = "ahb";
> +                     interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
> +                     pinctrl-names = "default";
> +                     pinctrl-0 = <&mmc2_pins>;
> +                     status = "disabled";
> +                     #address-cells = <1>;
> +                     #size-cells = <0>;
> +             };
> +
>               uart0: serial@5000000 {
>                       compatible = "snps,dw-apb-uart";
>                       reg = <0x05000000 0x400>;
> 

Reply via email to