Hi Jernej, On Thu, Jun 20, 2019 at 05:53:58PM +0200, Jernej Škrabec wrote: > Hi! > > Dne četrtek, 20. junij 2019 ob 15:47:42 CEST je megous via linux-sunxi > napisal(a): > > From: Ondrej Jirman <megous@xxxxxxxxxx> > > > > This series implements support for Xunlong Orange Pi 3 board. > > > > - ethernet support (patches 1-3) > > Correct me if I'm wrong, but patches 1-2 aren't strictly necessary for > OrangePi 3, right? H6 DTSI already has emac node with dual compatible (H6 and > A64) and since OrangePi 3 uses gigabit ethernet, quirk introduced by patches > 1-2 are not needed. I've checked with u-boot and md.l 0x03000030 (syscon_field) and the actual default value there on cold boot is 0x58000, just like on H3. H3_EPHY_SELECT is BIT(15) That means that those patches (1 and 2) are both doing the same thing, basicaly. H3_EPHY_SELECT bit needs to be cleared, and it is cleared either explicitly, or via default_syscon_value = 0x50000. It's also cleared incidentally by using emac_variant_a64, because it has default_syscon_value set to 0. Meaning of those remaining set bits on H6[1] are the same as on H3. Bit 16 is SHUTDOWN (on 1) and bit 18 is CLK_SEL. At least SHUTDOWN bit should be kept high, as it keeps the EPHY shut down. Normally that would be ensured by the code, but only if soc_has_internal_phy is true, which it is not for emac_variant_a64. Thus the patch adds the emac_variant_h6 with a different default_syscon_value from A64. Dose the SHUTDOWN bit matter on H6? I don't know. I'm just trying to keep the default values of these bits unchanged. Maybe it would be nicer to have default_syscon_value be 0x58000 on H6, to avoid the boot warning. dwmac-sun8i 5020000.ethernet: Current syscon value is not the default 58000 (expect 50000) The same warning is there with A64 compatible (with "expect 0"). [1] See page 238 in H6 manual. regards, o. > However, it is nice to have this 100 Mbit fix, because most STB DTS will need > it. > > Best regards, > Jernej > > > - HDMI support (patches 4-6) > > > > For some people, ethernet doesn't work after reboot (but works on cold > > boot), when the stmmac driver is built into the kernel. It works when > > the driver is built as a module. It's either some timing issue, or power > > supply issue or a combination of both. Module build induces a power > > cycling of the phy. > > > > I encourage people with this issue, to build the driver into the kernel, > > and try to alter the reset timings for the phy in DTS or > > startup-delay-us and report the findings. > > > > > > Please take a look. > > > > thank you and regards, > > Ondrej Jirman > > > > > > Changes in v7: > > - dropped stored reference to connector_pdev as suggested by Jernej > > - added forgotten dt-bindings reviewed-by tag > > > > Changes in v6: > > - added dt-bindings reviewed-by tag > > - fix wording in stmmac commit (as suggested by Sergei) > > > > Changes in v5: > > - dropped already applied patches (pinctrl patches, mmc1 pinconf patch) > > - rename GMAC-3V3 -> GMAC-3V to match the schematic (Jagan) > > - changed hdmi-connector's ddc-supply property to ddc-en-gpios > > (Rob Herring) > > > > Changes in v4: > > - fix checkpatch warnings/style issues > > - use enum in struct sunxi_desc_function for io_bias_cfg_variant > > - collected acked-by's > > - fix compile error in drivers/pinctrl/sunxi/pinctrl-sun9i-a80-r.c:156 > > caused by missing conversion from has_io_bias_cfg struct member > > (I've kept the acked-by, because it's a trivial change, but feel free > > to object.) (reported by Martin A. on github) > > I did not have A80 pinctrl enabled for some reason, so I did not catch > > this sooner. > > - dropped brcm firmware patch (was already applied) > > - dropped the wifi dts patch (will re-send after H6 RTC gets merged, > > along with bluetooth support, in a separate series) > > > > Changes in v3: > > - dropped already applied patches > > - changed pinctrl I/O bias selection constants to enum and renamed > > - added /omit-if-no-ref/ to mmc1_pins > > - made mmc1_pins default pinconf for mmc1 in H6 dtsi > > - move ddc-supply to HDMI connector node, updated patch descriptions, > > changed dt-bindings docs > > > > Changes in v2: > > - added dt-bindings documentation for the board's compatible string > > (suggested by Clement) > > - addressed checkpatch warnings and code formatting issues (on Maxime's > > suggestions) > > - stmmac: dropped useless parenthesis, reworded description of the patch > > (suggested by Sergei) > > - drop useles dev_info() about the selected io bias voltage > > - docummented io voltage bias selection variant macros > > - wifi: marked WiFi DTS patch and realted mmc1_pins as "DO NOT MERGE", > > because wifi depends on H6 RTC support that's not merged yet (suggested > > by Clement) > > - added missing signed-of-bys > > - changed &usb2otg dr_mode to otg, and added a note about VBUS > > - improved wording of HDMI driver's DDC power supply patch > > > > Icenowy Zheng (2): > > net: stmmac: sun8i: add support for Allwinner H6 EMAC > > net: stmmac: sun8i: force select external PHY when no internal one > > > > Ondrej Jirman (4): > > arm64: dts: allwinner: orange-pi-3: Enable ethernet > > dt-bindings: display: hdmi-connector: Support DDC bus enable > > drm: sun4i: Add support for enabling DDC I2C bus to sun8i_dw_hdmi glue > > arm64: dts: allwinner: orange-pi-3: Enable HDMI output > > > > .../display/connector/hdmi-connector.txt | 1 + > > .../dts/allwinner/sun50i-h6-orangepi-3.dts | 70 +++++++++++++++++++ > > drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c | 54 ++++++++++++-- > > drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h | 2 + > > .../net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 21 ++++++ > > 5 files changed, 144 insertions(+), 4 deletions(-) > > > >