Commit 6d4cd041f0 ("net: phy: at803x: disable delay only for RGMII mode")
exposed an issue on imx DTS files using AR8031/AR8035 PHYs.
The end result is that the boards can no longer obtain an IP address
via UDHCP, for example.
Quoting Andrew Lunn:
"The problem here is, all the DTs were broken since day 0. However,
because the PHY driver was also broken, nobody noticed and it
worked. Now that the PHY driver has been fixed, all the bugs in the
DTs now become an issue"
To fix this problem, the phy-mode property needs to be "rgmii-id", which
has the following meaning as per
Documentation/devicetree/bindings/net/ethernet.txt:
"RGMII with internal RX and TX delays provided by the PHY, the MAC should
not add the RX or TX delays in this case)"
Tested on imx6-sabresd, imx6sx-sdb and imx7d-pico boards with
successfully restored networking.
Based on the initial submission from Steve Twiss for the
imx6qdl-sabresd.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Baruch Siach <baruch@tkos.co.il>
Tested-by: Soeren Moch <smoch@web.de>
Tested-by: Steve Twiss <stwiss.opensource@diasemi.com>
Tested-by: Adam Thomson <Adam.Thomson@diasemi.com>
Signed-off-by: Steve Twiss <stwiss.opensource@diasemi.com>
Tested-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
- New boards support: emtrion emCON-MX6, imx6ul-pico-pi, imx7d-sdb-reva
and vf610 based Liebherr's BK4 device, ZII SCU4 AIB board.
- Add flexcan support for i.MX6UL SoC, turn on stop mode wakeup feature
for flexcan, and enable devices on a few i.MX6 NXP boards.
- Enable AUO G101EVN010 lcd panel and Goodix touch support for
imx6ul-ccimx6ulsbcpro board.
- Enable sensors support for imx6qdl-sabresd board: egalax touch, light,
magnetometer and accelerometer sensor.
- Switch more boards to use SPDX identifier.
- Fix memory node duplication in i.MX device tree sources.
- Correct GIC PPI interrupts mask for i.MX6UL and i.MX7 SoCs.
- Drop 'snps,dw-pcie' compatible from LS1021A PCIe device to avoid
incorrect device matching.
- Add the gpu nodes for the adreno 200 GPU on iMX51 and iMX53, which
are now supported by the freedreno driver.
- Add DCP device support for i.MX6ULL, which requires explicit clock
enabling.
- Add '#thermal-sensor-cells' for thermal device and '#cooling-cells'
for cooling devices.
- Add missing clock information for EPIT on i.MX25 SoC.
- Add PWM and qdma devices for LS1021A SoC.
- Update cooling maps of LS1021A SoC to include all devices affected by
individual trip points.
- Random device addition and cleanup on various boards.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAABAgAGBQJcDcmeAAoJEFBXWFqHsHzO9uIH/2e87ayMkmIugUt57aJUOWRG
pbNZZQXHsupVVu0VtYnKp3XBuhMXzvbhhihn9x9pyV+EJ2V4dgtU6gS2EDH2G9pl
TCJItVDOZgllamIg2/McVkuQLsH8tEybud4wlWve96eP22mn6CyCPiDtmdvKYigA
QQEFeSI8YgG1VLbXmhmox0HcowOm2C8asw8sSuo15Y2tWjAcCzKK0p3izRJQhSWn
G/uAUwQQB7e2zrTXfTiJpMWEt664C0tqlhZLlfaPpvmufIbDcpbLHp7mK3iW0rZA
Pjr1uT00rpnRkPkLvtT6tKTi2KviCwua1R58aUXW3ju1Fw6DJC1vSuPyNClCuyk=
=dGG8
-----END PGP SIGNATURE-----
Merge tag 'imx-dt-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt
i.MX device tree update for 4.21:
- New boards support: emtrion emCON-MX6, imx6ul-pico-pi, imx7d-sdb-reva
and vf610 based Liebherr's BK4 device, ZII SCU4 AIB board.
- Add flexcan support for i.MX6UL SoC, turn on stop mode wakeup feature
for flexcan, and enable devices on a few i.MX6 NXP boards.
- Enable AUO G101EVN010 lcd panel and Goodix touch support for
imx6ul-ccimx6ulsbcpro board.
- Enable sensors support for imx6qdl-sabresd board: egalax touch, light,
magnetometer and accelerometer sensor.
- Switch more boards to use SPDX identifier.
- Fix memory node duplication in i.MX device tree sources.
- Correct GIC PPI interrupts mask for i.MX6UL and i.MX7 SoCs.
- Drop 'snps,dw-pcie' compatible from LS1021A PCIe device to avoid
incorrect device matching.
- Add the gpu nodes for the adreno 200 GPU on iMX51 and iMX53, which
are now supported by the freedreno driver.
- Add DCP device support for i.MX6ULL, which requires explicit clock
enabling.
- Add '#thermal-sensor-cells' for thermal device and '#cooling-cells'
for cooling devices.
- Add missing clock information for EPIT on i.MX25 SoC.
- Add PWM and qdma devices for LS1021A SoC.
- Update cooling maps of LS1021A SoC to include all devices affected by
individual trip points.
- Random device addition and cleanup on various boards.
* tag 'imx-dt-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (82 commits)
ARM: dts: imx51-zii-rdu1: Do not specify "power-gpio" for hpa1
ARM: dts: imx6ul: Remove extra space between node name and brace
ARM: dts: imx6qdl-sabresd: Use GPIO_ACTIVE_HIGH for regulators
ARM: dts: imx6ul: add flexcan support
ARM: dts: imx5: add gpu nodes
ARM: dts: imx6qdl-sabresd: add accelerometer sensor support
ARM: dts: imx6qdl-sabresd: add magnetometer sensor support
ARM: dts: imx6qdl-sabresd: add light sensor support
ARM: dts: imx6qdl-sabresd: Move regulators outside of "simple-bus"
ARM: dts: imx6qdl: Fix memory node duplication
ARM: dts: imx6dl-mamoj: Add a memory node
ARM: dts: imx53-voipac-dmm-668: Fix memory node duplication
ARM: dts: vf610-zii-scu4-aib: Add HI8435 support
ARM: dts: imx6qdl-sabresd: add egalax touch screen support on i2c2 bus
ARM: dts: imx7s: Add flexcan stop mode wakeup support
ARM: dts: imx6ul: Add flexcan stop mode wakeup support
ARM: dts: imx6qdl: Add flexcan stop mode wakeup support
ARM: dts: imx6sx: Add flexcan stop mode wakeup support
ARM: dts: imx6ul-pico: Add the imx6ul-pico-pi variant
ARM: dts: imx6ul-pico-hobbit: Extend peripherals support
...
Signed-off-by: Olof Johansson <olof@lixom.net>
CAN transceiver is different on RevA and RevB board.
It's active high on RevA while active low on Rev B.
Signed-off-by: Aisheng Dong <aisheng.dong@nxp.com>
Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Adopt the SPDX license identifier headers to ease license compliance
management.
Most of the i.MX NXP reference board dts files have already been
converted, so switch the remaining ones.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Boards based on imx6sx have duplicate memory nodes:
- One coming from the board dts file: memory@
- One coming from the imx6sx.dtsi file.
Fix the duplication by removing the memory node from the dtsi file
and by adding 'device_type = "memory";' in the board dts.
Reported-by: Rob Herring <robh@kernel.org>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Bindings for "fixed-regulator" only explicitly support "gpio" property,
not "gpios". Fix by correcting the property name.
The enet PHYs on imx6sx-sdb needs to be explicitly reset after a power
cycle, this can be handled by the phy-reset-gpios property. Sadly this
is not handled on suspend: the fec driver turns phy-supply off but
doesn't assert phy-reset-gpios again on resume.
Since additional phy-level work is required to support powering off the
phy in suspend fix the problem by just marking the regulator as
"boot-on" "always-on" so that it's never turned off. This behavior is
equivalent to older releases.
Keep the phy-reset-gpios property on fec anyway because it is a correct
description of board design.
This issue was exposed by commit efdfeb079c ("regulator: fixed:
Convert to use GPIO descriptor only") which causes the "gpios" property
to also be parsed. Before that commit the "gpios" property had no
effect, PHY reset was only handled in the the bootloader.
This fixes linux-next boot failures previously reported here:
https://lore.kernel.org/patchwork/patch/982437/#1177900https://lore.kernel.org/patchwork/patch/994091/#1178304
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Fix the following warnings from dtc by adding the unit name to memory
nodes:
Warning (unit_address_vs_reg): Node /memory has a reg or ranges property, but no unit name
Converted using the following command:
perl -p0777i -e 's/memory \{\n\t\treg = \<0x+([0-9a-f])/memory\@$1$\0000000 \{\n\t\treg = <0x$1/m' `find ./arch/arm/boot/dts -name "imx*"`
The files below were manually fixed:
-imx1-ads.dts
-imx1-apf9328.dts
-imx6q-pistachio.dts
Signed-off-by: Marco Franchi <marco.franchi@nxp.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
It is preferred to use the panel compatible string rather than passing
the LCD timing in the device tree.
So pass the "sii,43wvf1g" compatible string, which describes the parallel
LCD.
Also pass the 'backlight' property as described in
Documentation/devicetree/bindings/display/panel/simple-panel.txt
Signed-off-by: Marco Franchi <marcofrk@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
It is not recommended to place regulators inside "simple-bus", so
move them out. The motivation for doing this is to make it easier to
adding new regulators.
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
We need to change trimming value (as a percentage) of the 17.78mA TX
reference current for better signal quality. With this change, we
can pass the eye-diagram test on this board.
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
imx6sx-sdb has WDOG1_B pin connected to the PMIC.
Pass the 'fsl,ext-reset-output' property so that the watchdog
can trigger a system POR reset via the PMIC.
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
As of commit 1006ed7e1b ("serial: imx: Use generic uart-has-rtscts
DT property"), the Freescale IMX UART driver recognizes the generic
"uart-has-rtscts" DT property, deprecating the vendor-specific
"fsl,uart-has-rtscts" DT property. Hence replace the latter by the
former in all DTS files.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Introduce imx6sx-sdb-sai.dts so that it is possible to use the
SAI interface.
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
This patch adds node i2c bus 3 to get the appropriate userland device
file. So for prototyping it's possible to experiment within userland.
Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Though the keyboard and other driver will continue to support the legacy
"gpio-key,wakeup", "linux,wakeup" and "enable-sdio-wakeup" boolean
property to enable the wakeup source, "wakeup-source" is the new
standard binding.
This patch replaces all the legacy wakeup properties with the unified
"wakeup-source" property in order to avoid any futher copy-paste
duplication.
Cc: Sascha Hauer <kernel@pengutronix.de>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
The property name should be "gpio", not "gpios". Fix it.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
cd-gpios polarity should be changed to GPIO_ACTIVE_LOW and wp-gpios
should be changed to GPIO_ACTIVE_HIGH.
Otherwise, the SD may not work properly due to wrong polarity inversion
specified in DT after switch to common parsing function mmc_of_parse().
Signed-off-by: Dong Aisheng <aisheng.dong@freescale.com>
Acked-by: Shawn Guo <shawnguo@kernel.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
The imx6sx sdb board has two revisions, the current mainline one
is reva which is experimental and mainly for internal use. In
this commit, we rename imx6sx-sdb.dts to imx6sx-sdb.dtsi, and
move the reva dedicated contents to imx6sx-sdb-reva.dts.
Signed-off-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>