[PATCH V2 0/2] ARM: dts: Introduce support for rev BeagleBoard-X15 B1

Hi,

Please find the series to cleanup and support Production version of
Beagleboard-X15 rev B1 support.

More details can be found at https://github.com/beagleboard/beagleboard-x15

Bootlog on B1: http://pastebin.ubuntu.com/23124704/ (sd and hdmi hpd tested)

Based on:
https://git.kernel.org/cgit/linux/kernel/git/tmlind/linux-omap.git/log/?h=omap-for-v4.9/dt
omap-for-v4.9/dt 5c4d9f0d49b0 ARM: dts: dra7: Add missing unit name to memory nodes

Changes listed in context of each of the patches.

Nishanth Menon (2):
  ARM: dts: am57xx-beagle-x15: Remove pinmux configurations for erratum
    i869
  ARM: dts: am57xx-beagle-x15: Add support for rev B1

arch/arm/boot/dts/Makefile | 1 +
...eagle-x15.dts => am57xx-beagle-x15-common.dtsi} | 230 +-----
arch/arm/boot/dts/am57xx-beagle-x15-revb1.dts | 24 +
arch/arm/boot/dts/am57xx-beagle-x15.dts | 812 +--------------------
4 files changed, 34 insertions(+), 1033 deletions(-)
copy arch/arm/boot/dts/{am57xx-beagle-x15.dts => am57xx-beagle-x15-common.dtsi} (60%)
create mode 100644 arch/arm/boot/dts/am57xx-beagle-x15-revb1.dts

Pinmuxing for DRA7x/AM57x family of processors need to be done in IO
isolation as part of initial bootloader executed from SRAM. This is
done as part of iodelay configuration sequence and is required due
to the limitations introduced by erratum ID: i869[1] (IO Glitches
can occur when changing IO settings) and elaborated in the Technical
Reference Manual[2] 18.4.6.1.7 Isolation Requirements.

Only peripheral that is permitted for dynamic pin mux configuration
is MMC and DCAN. MMC is permitted to change to accommodate the
requirements for varied speeds (which require IO-delay support in
kernel as well). DCAN is a result of i893[1] (DCAN initialization
sequence). However, since we don't use DCAN on X15, with the exception
of MMC, all other pin mux configurations are removed from the dts.

[1] http://www.ti.com/lit/pdf/sprz429
[2] http://www.ti.com/lit/pdf/sprui30

Signed-off-by: Nishanth Menon <nm@ti.com>

Latest update to the BeagleBoard-X15 platform (revision B1)[1] updates
for allowing UHS SD cards to function with the split of supply to SD
card from a dedicated LDO.

As a result of this, AM57xx BeagleBoard-X15 now uses gpio2_30 instead
of gpio6_28 for HDMI because HDMI_LS_OE should now be switched from
GPIO6_28(Y9) to GPIO2_30 (AG8) to avoid a 1.8V GPIO toggling a 3.3V
SoC input when the SD card is in UHS 1.8V mode.

NOTE: For UHS mode to function, we need full fledged IODelay support
in kernel to be functional. IODelay support is yet to be added.

Further, It does not make much sense to spin off a new board
compatible flag since there is no real functional benefit for the
same.

Note: Even though production version is supposed to be B1, there is
over ~200 boards of previous version (A2)[2] out there which continue
to get supported with the existing dts file (to maintain compatibility
with existing bootloaders for A2) and the production board is now
supported as revb1.

[1] https://github.com/beagleboard/beagleboard-x15/blob/master/BEAGLEBOARD_X15_REV_B1.pdf
[2] http://marc.info/?l=linux-arm-kernel&m=147273929820708&w=2

Tested-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>

* Nishanth Menon <nm@ti.com> [160902 10:14]:

Hi,

Please find the series to cleanup and support Production version of
Beagleboard-X15 rev B1 support.

Applying into omap-for-v4.9/dt thanks.

Tony