于 2021年5月20日 GMT+08:00 上午5:44:30, Andre Przywara <andre.przyw...@arm.com> 写到:
>On Wed, 19 May 2021 21:42:07 +0200
>Andreas Rehn <rehn.andrea...@gmail.com> wrote:
>
>Hi,
>
>> h3 and v3s have internal phys and can share the same driver.
>> Furthermore sun8i-v3s-emac is not available, use sun8i-h3-emac
>instead
>> - add emac pins
>> - enable emac for licheepi-zero-dock as it provides a ethernet port
>
>So first, this is not how we handle DT changes in U-Boot. They would
>need to go through the Linux tree first, then can be synced back to
>U-Boot. Sorry.
>
>Looking more into the details:
>
>> 
>> Signed-off-by: Andreas Rehn <rehn.andrea...@gmail.com>
>> ---
>>  arch/arm/dts/sun8i-v3s-licheepi-zero-dock.dts | 11 +++++++++++
>>  arch/arm/dts/sun8i-v3s.dtsi                   | 10 +++++++++-
>>  2 files changed, 20 insertions(+), 1 deletion(-)
>> 
>> diff --git a/arch/arm/dts/sun8i-v3s-licheepi-zero-dock.dts
>b/arch/arm/dts/sun8i-v3s-licheepi-zero-dock.dts
>> index db5cd0b857..083ac11b94 100644
>> --- a/arch/arm/dts/sun8i-v3s-licheepi-zero-dock.dts
>> +++ b/arch/arm/dts/sun8i-v3s-licheepi-zero-dock.dts
>> @@ -49,6 +49,10 @@
>>      compatible = "licheepi,licheepi-zero-dock",
>"licheepi,licheepi-zero",
>>                   "allwinner,sun8i-v3s";
>>  
>> +    aliases {
>> +            ethernet0 = &emac;
>> +    };
>> +
>>      leds {
>>              /* The LEDs use PG0~2 pins, which conflict with MMC1 */
>>              status = "disabled";
>> @@ -94,3 +98,10 @@
>>              voltage = <800000>;
>>      };
>>  };
>> +
>> +&emac {
>> +    allwinner,leds-active-low;
>> +    status = "okay";
>> +    pinctrl-names = "default";
>> +    pinctrl-0 = <&emac_rgmii_pins>;
>
>I don't think this is correct. If I understand correctly, the V3s does
>not expose any MAC pins, instead relies entirely on the internal PHY.
>Those pins are not muxed, so don't need any pinctrl properties.
>
>> +};
>> diff --git a/arch/arm/dts/sun8i-v3s.dtsi
>b/arch/arm/dts/sun8i-v3s.dtsi
>> index 0c73416769..35cc4d63f7 100644
>> --- a/arch/arm/dts/sun8i-v3s.dtsi
>> +++ b/arch/arm/dts/sun8i-v3s.dtsi
>> @@ -342,6 +342,14 @@
>>                              function = "csi";
>>                      };
>>  
>> +                    emac_rgmii_pins: emac-rgmii-pins {
>> +                            pins = "PD0", "PD1", "PD2", "PD3", "PD4",
>> +                                       "PD5", "PD7", "PD8", "PD9", "PD10",
>> +                                       "PD12", "PD13", "PD15", "PD16", 
>> "PD17";
>> +                            function = "emac";
>> +                            drive-strength = <40>;
>> +                    };
>
>This is wrong (and not needed): The V3s does not expose MAC pins. If I
>understand correctly, the V3 and V3s share the same die, so the pin
>controller has those registers, but the whole port is connected
>nowhere.
>
>>                      i2c0_pins: i2c0-pins {
>>                              pins = "PB6", "PB7";
>>                              function = "i2c0";
>> @@ -468,7 +476,7 @@
>>              };
>>  
>>              emac: ethernet@1c30000 {
>> -                    compatible = "allwinner,sun8i-v3s-emac";
>> +                    compatible = "allwinner,sun8i-h3-emac";
>
>You can't just change the compatible string this way, the original one
>is there for a reason. In this case the difference is that the V3s does
>not support Gigabit Ethernet - because the only MAC pins connected are
>the internal MII ones. I believe the MAC itself could probably still
>handle GBit, but it can't talk to the outside in this mode.

You got it right. However, we choose to just use v3s compatible
on V3/S3 too.

>
>Instead just add the v3s compatible string to the sun8i-emac driver.
>Assign a new type and add this new type wherever you see H3_EMAC, but
>not in the RGMII part.

Maybe we can just make v3s situation a copy of h3 one.

>
>Cheers,
>Andre
>
>>                      syscon = <&syscon>;
>>                      reg = <0x01c30000 0x10000>;
>>                      interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;

Reply via email to