9 Commits

Author SHA1 Message Date
Linus Walleij
b6e5aac243 ARM: dts: ux500-golden: Add S6E63M0 DSI display
Add the Samsung S6E63M0 video mode DSI display to the
Samsung GT-S8190/Golden mobile phone.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Cc: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20200815102627.3532646-1-linus.walleij@linaro.org
2020-08-28 11:08:52 +02:00
Nick Reitemeyer
6fc1ed271f ARM: dts: ux500: samsung-golden: Add touchkey
Adds support for the back and menu keys on golden.

Signed-off-by: Nick Reitemeyer <nick.reitemeyer@web.de>
Tested-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20200621193822.133683-2-nick.reitemeyer@web.de
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2020-07-07 14:09:06 +02:00
Nick Reitemeyer
521d6678b9 ARM: dts: ux500: samsung-golden: Add magnetometer
Add the ALPS magnetometer to the Golden phone.

Cc: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Nick Reitemeyer <nick.reitemeyer@web.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20200430150245.7935-1-linus.walleij@linaro.org
2020-05-05 10:10:32 +02:00
Stephan Gerhold
2ae6193a1b ARM: dts: ux500: samsung-golden: Add proximity sensor
samsung-golden has the same sharp,gp2ap002s00f proximity sensor
that is also used in samsung-skomer.

A driver was added for it in
commit 97d642e23037 ("iio: light: Add a driver for Sharp GP2AP002x00F").

Now that it was merged we can add an entry for it in the device tree
for samsung-golden.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20200405173252.67614-1-stephan@gerhold.net
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2020-04-14 11:09:34 +02:00
Stephan Gerhold
224bf0fe72 ARM: dts: ux500: samsung-golden: Add Bluetooth
samsung-golden uses a BCM4334 WiFi+BT combo chip.
The BT part is connected via UART and supported by the hci_bcm
driver in mainline.
Add the necessary device tree changes to make it load correctly.

It requires (seemingly) device-specific firmware that can be
extracted from the stock Android system used on samsung-golden:
  - /system/bin/bcm4334.hcd -> /lib/firmware/brcm/BCM4334B0.hcd

On my device, scanning for other Bluetooth devices works just fine,
but for some reason it keeps disconnecting immediately
when attempting to connect to an other device.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20191219202052.19039-9-stephan@gerhold.net
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2019-12-26 00:12:25 +01:00
Stephan Gerhold
fbb7c4a13c ARM: dts: ux500: samsung-golden: Add WiFi
samsung-golden uses a BCM4334 WiFi+BT combo chip, connected to SDIO.
It is supported by the brcmfmac driver in mainline,
so we only need to set up the device tree to make it work correctly.

Note: brcmfmac requires (proprietary) firmware + a device-specific
NVRAM file. Both can be extracted from the stock Android system
used on samsung-golden:
  - /system/etc/wifi/bcmdhd_sta.bin_b2   -> /lib/firmware/brcm/brcmfmac4334-sdio.bin
  - /system/etc/wifi/nvram_net.txt_GPIO4 -> /lib/firmware/brcm/brcmfmac4334-sdio.samsung,golden.txt

brcmfmac4334-sdio.bin from linux-firmware also seems to work,
but results in occasional errors for some reason.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20191219202052.19039-8-stephan@gerhold.net
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2019-12-26 00:11:59 +01:00
Stephan Gerhold
234a0387f7 ARM: dts: ux500: samsung-golden: Add touch screen
samsung-golden has an Atmel mXT224S touch controller connected to I2C.
It is supported by the existing driver for atmel,maxtouch, so all we
need to do to make it work is to define the necessary device tree nodes.

The atmel_mxt_ts driver does not support controlling regulators yet,
so add regulator-always-on for now to turn on the necessary regulators.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20191219202052.19039-7-stephan@gerhold.net
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2019-12-26 00:11:35 +01:00
Stephan Gerhold
032c18c566 ARM: dts: ux500: samsung-golden: Add IMU (accelerometer + gyroscope)
samsung-golden has a InvenSense MPU-6051M IMU that provides an
accelerometer and gyroscope. It seems to be functionally compatible
with MPU-6050 so we can easily enable it by adding the necessary
device tree nodes.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20191219202052.19039-6-stephan@gerhold.net
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2019-12-26 00:11:09 +01:00
Stephan Gerhold
b952efeb7a 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>
2019-12-26 00:10:43 +01:00