summaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorMichal Vokáč <michal.vokac@ysoft.com>2020-07-31 14:00:08 +0200
committerShawn Guo <shawnguo@kernel.org>2020-08-22 20:21:01 +0800
commit37d7b7a5baca43722d332e190a3c86ac0c4341e8 (patch)
tree29654f4a049dcf01c860e9120eb1721686d865c6 /arch/arm
parente642c831ebdd560b5f3ffa731f1e8280eecca2f6 (diff)
downloadlinux-37d7b7a5baca43722d332e190a3c86ac0c4341e8.tar.bz2
ARM: dts: imx6dl-yapp4: Add support for OLED based on different controller
OLED display consist of an OLED panel and a display controller. The displays that were used on yapp4 platform were based on a SSD1305 controller. These displays are now discontinued and we need to add support for a replacement. The new display is based on SSD1309 controller and requires slightly different configuration (mirror + segment offset). We want to support both display types so it does no matter which one was used on the assembly line. Hence the displays are placed at different I2C addresses. Signed-off-by: Michal Vokáč <michal.vokac@ysoft.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/boot/dts/imx6dl-yapp4-common.dtsi15
-rw-r--r--arch/arm/boot/dts/imx6dl-yapp4-hydra.dts6
-rw-r--r--arch/arm/boot/dts/imx6dl-yapp4-orion.dts6
3 files changed, 24 insertions, 3 deletions
diff --git a/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi b/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi
index 207f510cb518..46927a020943 100644
--- a/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi
+++ b/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi
@@ -316,7 +316,20 @@
pinctrl-0 = <&pinctrl_i2c3>;
status = "okay";
- oled: oled@3d {
+ oled_1309: oled@3c {
+ compatible = "solomon,ssd1309fb-i2c";
+ reg = <0x3c>;
+ solomon,height = <64>;
+ solomon,width = <128>;
+ solomon,page-offset = <0>;
+ solomon,segment-no-remap;
+ solomon,prechargep2 = <15>;
+ reset-gpios = <&gpio_oled 1 GPIO_ACTIVE_LOW>;
+ vbat-supply = <&sw2_reg>;
+ status = "disabled";
+ };
+
+ oled_1305: oled@3d {
compatible = "solomon,ssd1305fb-i2c";
reg = <0x3d>;
solomon,height = <64>;
diff --git a/arch/arm/boot/dts/imx6dl-yapp4-hydra.dts b/arch/arm/boot/dts/imx6dl-yapp4-hydra.dts
index 6010d3d872ab..a19609c7c7c0 100644
--- a/arch/arm/boot/dts/imx6dl-yapp4-hydra.dts
+++ b/arch/arm/boot/dts/imx6dl-yapp4-hydra.dts
@@ -29,7 +29,11 @@
status = "okay";
};
-&oled {
+&oled_1305 {
+ status = "okay";
+};
+
+&oled_1309 {
status = "okay";
};
diff --git a/arch/arm/boot/dts/imx6dl-yapp4-orion.dts b/arch/arm/boot/dts/imx6dl-yapp4-orion.dts
index 0428720417ef..884b236746bb 100644
--- a/arch/arm/boot/dts/imx6dl-yapp4-orion.dts
+++ b/arch/arm/boot/dts/imx6dl-yapp4-orion.dts
@@ -25,7 +25,11 @@
status = "okay";
};
-&oled {
+&oled_1305 {
+ status = "okay";
+};
+
+&oled_1309 {
status = "okay";
};