ARM: dts: ux500: Add device tree for Samsung Galaxy S III mini (GT-I8190)
authorStephan Gerhold <stephan@gerhold.net>
Thu, 19 Dec 2019 20:20:47 +0000 (21:20 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 25 Dec 2019 23:10:43 +0000 (00:10 +0100)
commitb952efeb7ad4cc81f2da55bde6fdd27716fceb13
treef0826254226263cdb1c5cd9a4311871abb5bdf17
parent92ac62e1c3efc87d40ffec3e3626d28a408c508d
ARM: dts: ux500: Add device tree for Samsung Galaxy S III mini (GT-I8190)

The Samsung Galaxy S III mini (GT-I8190) is a smartphone with Ux500 SoC
released in 2012. Thanks to the great mainline support for Ux500,
it can actually run mainline Linux quite well.

Add a new device tree for it with support for:
  - Internal Storage (eMMC)
  - External Storage (Micro SD card)
  - UART
  - GPIO Buttons
  - Vibrator

Note that the device tree cannot be booted directly with
the original (Samsung) bootloader. It keeps the L2 cache turned on,
which causes the kernel to hang shortly after decompression.

As a workaround I have created a port of (mainline) U-Boot,
which locks the L2 cache before booting Linux. At the moment it does not
replace the Samsung bootloader, instead we let the original bootloader
load U-Boot as an another (intermediate) bootloader.

Another advantage of this is that U-Boot has proper device tree support,
so we do not need to hardcode the kernel command line in the device tree.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20191219202052.19039-5-stephan@gerhold.net
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/ste-ux500-samsung-golden.dts [new file with mode: 0644]