[U-Boot] [linux-sunxi] [PATCH 3/4] sunxi: add stub EMAC device node in A83T device tree

Andre Przywara andre.przywara at arm.com
Thu Jul 6 10:09:18 UTC 2017


Hi,

On 02/07/17 08:02, Icenowy Zheng wrote:
> The Allwinner A83T SoC has an EMAC which is already supported by
> sun8i_emac driver in U-Boot now.
> 
> Add a stub device node for it.
> 
> The device node cannot work for Linux, because it now lacks the proper
> clock definition; however, it can satisfy sun8i_emac driver in U-Boot.

if you rebase your series on top of mine [1], you should be able to
directly use mainline Linux DT nodes, namely ...

> 
> Signed-off-by: Icenowy Zheng <icenowy at aosc.io>
> ---
>  arch/arm/dts/sun8i-a83t.dtsi | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/arch/arm/dts/sun8i-a83t.dtsi b/arch/arm/dts/sun8i-a83t.dtsi
> index 0fe73e173f..9aac3a7929 100644
> --- a/arch/arm/dts/sun8i-a83t.dtsi
> +++ b/arch/arm/dts/sun8i-a83t.dtsi
> @@ -52,6 +52,10 @@
>  / {
>  	interrupt-parent = <&gic>;
>  
> +	aliases {
> +		ethernet0 = &emac;
> +	};
> +
>  	cpus {
>  		#address-cells = <1>;
>  		#size-cells = <0>;
> @@ -166,6 +170,17 @@
>  			#interrupt-cells = <3>;
>  			#gpio-cells = <3>;
>  
> +			emac_rgmii_pins: emac-rgmii {
> +				allwinner,pins = "PD2", "PD3", "PD4", "PD5",
> +						"PD6", "PD7", "PD11",
> +						"PD12", "PD13", "PD14",
> +						"PD18", "PD19", "PD21",
> +						"PD22", "PD23";
> +				allwinner,function = "emac";
> +				allwinner,drive = <SUN4I_PINCTRL_40_MA>;
> +				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;

... using the new generic pinctrl bindings here ...

> +			};
> +
>  			mmc0_pins_a: mmc0 at 0 {
>  				allwinner,pins = "PF0", "PF1", "PF2",
>  						 "PF3", "PF4", "PF5";
> @@ -214,6 +229,16 @@
>  			status = "disabled";
>  		};
>  
> +		emac: ethernet at 1c30000 {
> +			compatible = "allwinner,sun8i-a83t-emac";
> +			reg = <0x01c30000 0x104>, <0x01c00030 0x4>;
> +			reg-names = "emac", "syscon";
> +			interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			status = "disabled";

... and using the new binding scheme here, with a "syscon" property, for
instance.

Also the Linux binding requires an mdio child node, which should be
introduced here.

Cheers,
Andre.


> +		};
> +
>  		gic: interrupt-controller at 01c81000 {
>  			compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic";
>  			reg = <0x01c81000 0x1000>,
> 


More information about the U-Boot mailing list