forked from Qortal/Brooklyn
612 lines
14 KiB
Plaintext
612 lines
14 KiB
Plaintext
/*
|
|
* Device Tree overlay for fbtft drivers
|
|
*/
|
|
|
|
/dts-v1/;
|
|
/plugin/;
|
|
|
|
/ {
|
|
compatible = "brcm,bcm2835";
|
|
|
|
/* adafruit18 */
|
|
fragment@0 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "sitronix,st7735r";
|
|
spi-max-frequency = <32000000>;
|
|
gamma = "02 1c 07 12 37 32 29 2d 29 25 2B 39 00 01 03 10\n03 1d 07 06 2E 2C 29 2D 2E 2E 37 3F 00 00 02 10";
|
|
};
|
|
};
|
|
|
|
/* adafruit22 */
|
|
fragment@1 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "himax,hx8340bn";
|
|
spi-max-frequency = <32000000>;
|
|
buswidth = <9>;
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* adafruit22a */
|
|
fragment@2 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "ilitek,ili9340";
|
|
spi-max-frequency = <32000000>;
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* adafruit28 */
|
|
fragment@3 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "ilitek,ili9341";
|
|
spi-max-frequency = <32000000>;
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* adafruit13m */
|
|
fragment@4 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "solomon,ssd1306";
|
|
spi-max-frequency = <16000000>;
|
|
};
|
|
};
|
|
|
|
/* admatec_c-berry28 */
|
|
fragment@5 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "sitronix,st7789v";
|
|
spi-max-frequency = <48000000>;
|
|
init = <0x01000011
|
|
0x02000078
|
|
0x0100003A 0x05
|
|
0x010000B2 0x0C 0x0C 0x00 0x33 0x33
|
|
0x010000B7 0x35
|
|
0x010000C2 0x01 0xFF
|
|
0x010000C3 0x17
|
|
0x010000C4 0x20
|
|
0x010000BB 0x17
|
|
0x010000C5 0x20
|
|
0x010000D0 0xA4 0xA1
|
|
0x01000029>;
|
|
gamma = "D0 00 14 15 13 2C 42 43 4E 09 16 14 18 21\nD0 00 14 15 13 0B 43 55 53 0C 17 14 23 20";
|
|
};
|
|
};
|
|
|
|
/* dogs102 */
|
|
fragment@6 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "UltraChip,uc1701";
|
|
spi-max-frequency = <8000000>;
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* er_tftm050_2 */
|
|
fragment@7 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "raio,ra8875";
|
|
spi-max-frequency = <5000000>;
|
|
spi-cpha;
|
|
spi-cpol;
|
|
width = <480>;
|
|
height = <272>;
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* er_tftm070_5 */
|
|
fragment@8 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "raio,ra8875";
|
|
spi-max-frequency = <5000000>;
|
|
spi-cpha;
|
|
spi-cpol;
|
|
width = <800>;
|
|
height = <480>;
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* ew24ha0 */
|
|
fragment@9 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "ultrachip,uc1611";
|
|
spi-max-frequency = <32000000>;
|
|
spi-cpha;
|
|
spi-cpol;
|
|
};
|
|
};
|
|
|
|
/* ew24ha0_9bit */
|
|
fragment@10 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "ultrachip,uc1611";
|
|
spi-max-frequency = <32000000>;
|
|
spi-cpha;
|
|
spi-cpol;
|
|
buswidth = <9>;
|
|
};
|
|
};
|
|
|
|
/* freetronicsoled128 */
|
|
fragment@11 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "solomon,ssd1351";
|
|
spi-max-frequency = <20000000>;
|
|
backlight = <2>; /* FBTFT_ONBOARD_BACKLIGHT */
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* hy28a */
|
|
fragment@12 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "ilitek,ili9320";
|
|
spi-max-frequency = <32000000>;
|
|
spi-cpha;
|
|
spi-cpol;
|
|
startbyte = <0x70>;
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* hy28b */
|
|
fragment@13 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "ilitek,ili9325";
|
|
spi-max-frequency = <48000000>;
|
|
spi-cpha;
|
|
spi-cpol;
|
|
init = <0x010000e7 0x0010
|
|
0x01000000 0x0001
|
|
0x01000001 0x0100
|
|
0x01000002 0x0700
|
|
0x01000003 0x1030
|
|
0x01000004 0x0000
|
|
0x01000008 0x0207
|
|
0x01000009 0x0000
|
|
0x0100000a 0x0000
|
|
0x0100000c 0x0001
|
|
0x0100000d 0x0000
|
|
0x0100000f 0x0000
|
|
0x01000010 0x0000
|
|
0x01000011 0x0007
|
|
0x01000012 0x0000
|
|
0x01000013 0x0000
|
|
0x02000032
|
|
0x01000010 0x1590
|
|
0x01000011 0x0227
|
|
0x02000032
|
|
0x01000012 0x009c
|
|
0x02000032
|
|
0x01000013 0x1900
|
|
0x01000029 0x0023
|
|
0x0100002b 0x000e
|
|
0x02000032
|
|
0x01000020 0x0000
|
|
0x01000021 0x0000
|
|
0x02000032
|
|
0x01000050 0x0000
|
|
0x01000051 0x00ef
|
|
0x01000052 0x0000
|
|
0x01000053 0x013f
|
|
0x01000060 0xa700
|
|
0x01000061 0x0001
|
|
0x0100006a 0x0000
|
|
0x01000080 0x0000
|
|
0x01000081 0x0000
|
|
0x01000082 0x0000
|
|
0x01000083 0x0000
|
|
0x01000084 0x0000
|
|
0x01000085 0x0000
|
|
0x01000090 0x0010
|
|
0x01000092 0x0000
|
|
0x01000093 0x0003
|
|
0x01000095 0x0110
|
|
0x01000097 0x0000
|
|
0x01000098 0x0000
|
|
0x01000007 0x0133
|
|
0x01000020 0x0000
|
|
0x01000021 0x0000
|
|
0x02000064>;
|
|
startbyte = <0x70>;
|
|
bgr;
|
|
fps = <50>;
|
|
gamma = "04 1F 4 7 7 0 7 7 6 0\n0F 00 1 7 4 0 0 0 6 7";
|
|
};
|
|
};
|
|
|
|
/* itdb28_spi */
|
|
fragment@14 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "ilitek,ili9325";
|
|
spi-max-frequency = <32000000>;
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* mi0283qt-2 */
|
|
fragment@15 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "himax,hx8347d";
|
|
spi-max-frequency = <32000000>;
|
|
startbyte = <0x70>;
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* mi0283qt-9a */
|
|
fragment@16 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "ilitek,ili9341";
|
|
spi-max-frequency = <32000000>;
|
|
buswidth = <9>;
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* nokia3310 */
|
|
fragment@17 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "philips,pcd8544";
|
|
spi-max-frequency = <400000>;
|
|
};
|
|
};
|
|
|
|
/* nokia3310a */
|
|
fragment@18 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "teralane,tls8204";
|
|
spi-max-frequency = <1000000>;
|
|
};
|
|
};
|
|
|
|
/* nokia5110 */
|
|
fragment@19 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "ilitek,ili9163";
|
|
spi-max-frequency = <12000000>;
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* piscreen */
|
|
fragment@20 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "ilitek,ili9486";
|
|
spi-max-frequency = <32000000>;
|
|
regwidth = <16>;
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* pitft */
|
|
fragment@21 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "ilitek,ili9340";
|
|
spi-max-frequency = <32000000>;
|
|
init = <0x01000001
|
|
0x02000005
|
|
0x01000028
|
|
0x010000EF 0x03 0x80 0x02
|
|
0x010000CF 0x00 0xC1 0x30
|
|
0x010000ED 0x64 0x03 0x12 0x81
|
|
0x010000E8 0x85 0x00 0x78
|
|
0x010000CB 0x39 0x2C 0x00 0x34 0x02
|
|
0x010000F7 0x20
|
|
0x010000EA 0x00 0x00
|
|
0x010000C0 0x23
|
|
0x010000C1 0x10
|
|
0x010000C5 0x3E 0x28
|
|
0x010000C7 0x86
|
|
0x0100003A 0x55
|
|
0x010000B1 0x00 0x18
|
|
0x010000B6 0x08 0x82 0x27
|
|
0x010000F2 0x00
|
|
0x01000026 0x01
|
|
0x010000E0 0x0F 0x31 0x2B 0x0C 0x0E 0x08 0x4E 0xF1 0x37 0x07 0x10 0x03 0x0E 0x09 0x00
|
|
0x010000E1 0x00 0x0E 0x14 0x03 0x11 0x07 0x31 0xC1 0x48 0x08 0x0F 0x0C 0x31 0x36 0x0F
|
|
0x01000011
|
|
0x02000064
|
|
0x01000029
|
|
0x02000014>;
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* pioled */
|
|
fragment@22 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "solomon,ssd1351";
|
|
spi-max-frequency = <20000000>;
|
|
bgr;
|
|
gamma = "0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4";
|
|
};
|
|
};
|
|
|
|
/* rpi-display */
|
|
fragment@23 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "ilitek,ili9341";
|
|
spi-max-frequency = <32000000>;
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* sainsmart18 */
|
|
fragment@24 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "sitronix,st7735r";
|
|
spi-max-frequency = <32000000>;
|
|
};
|
|
};
|
|
|
|
/* sainsmart32_spi */
|
|
fragment@25 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "solomon,ssd1289";
|
|
spi-max-frequency = <16000000>;
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* tinylcd35 */
|
|
fragment@26 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "neosec,tinylcd";
|
|
spi-max-frequency = <32000000>;
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* tm022hdh26 */
|
|
fragment@27 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "ilitek,ili9341";
|
|
spi-max-frequency = <32000000>;
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* tontec35_9481 - boards before 02 July 2014 */
|
|
fragment@28 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "ilitek,ili9481";
|
|
spi-max-frequency = <128000000>;
|
|
spi-cpha;
|
|
spi-cpol;
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* tontec35_9486 - boards after 02 July 2014 */
|
|
fragment@29 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "ilitek,ili9486";
|
|
spi-max-frequency = <128000000>;
|
|
spi-cpha;
|
|
spi-cpol;
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* waveshare32b */
|
|
fragment@30 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "ilitek,ili9340";
|
|
spi-max-frequency = <48000000>;
|
|
init = <0x010000CB 0x39 0x2C 0x00 0x34 0x02
|
|
0x010000CF 0x00 0xC1 0x30
|
|
0x010000E8 0x85 0x00 0x78
|
|
0x010000EA 0x00 0x00
|
|
0x010000ED 0x64 0x03 0x12 0x81
|
|
0x010000F7 0x20
|
|
0x010000C0 0x23
|
|
0x010000C1 0x10
|
|
0x010000C5 0x3E 0x28
|
|
0x010000C7 0x86
|
|
0x01000036 0x28
|
|
0x0100003A 0x55
|
|
0x010000B1 0x00 0x18
|
|
0x010000B6 0x08 0x82 0x27
|
|
0x010000F2 0x00
|
|
0x01000026 0x01
|
|
0x010000E0 0x0F 0x31 0x2B 0x0C 0x0E 0x08 0x4E 0xF1 0x37 0x07 0x10 0x03 0x0E 0x09 0x00
|
|
0x010000E1 0x00 0x0E 0x14 0x03 0x11 0x07 0x31 0xC1 0x48 0x08 0x0F 0x0C 0x31 0x36 0x0F
|
|
0x01000011
|
|
0x02000078
|
|
0x01000029
|
|
0x0100002C>;
|
|
bgr;
|
|
};
|
|
};
|
|
|
|
/* waveshare22 */
|
|
fragment@31 {
|
|
target = <&display>;
|
|
__dormant__ {
|
|
compatible = "hitachi,bd663474";
|
|
spi-max-frequency = <32000000>;
|
|
spi-cpha;
|
|
spi-cpol;
|
|
};
|
|
};
|
|
|
|
spidev_fragment: fragment@100 {
|
|
target-path = "spi0/spidev@0";
|
|
__overlay__ {
|
|
status = "disabled";
|
|
};
|
|
};
|
|
|
|
display_fragment: fragment@101 {
|
|
target = <&spi0>;
|
|
__overlay__ {
|
|
/* needed to avoid dtc warning */
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
status = "okay";
|
|
|
|
display: display@0{
|
|
reg = <0>;
|
|
spi-max-frequency = <32000000>;
|
|
fps = <30>;
|
|
buswidth = <8>;
|
|
};
|
|
};
|
|
};
|
|
|
|
__overrides__ {
|
|
spi0-0 = <&display_fragment>, "target:0=",<&spi0>,
|
|
<&spidev_fragment>, "target-path=spi0/spidev@0",
|
|
<&display>, "reg:0=0";
|
|
spi0-1 = <&display_fragment>, "target:0=",<&spi0>,
|
|
<&spidev_fragment>, "target-path=spi0/spidev@1",
|
|
<&display>, "reg:0=1";
|
|
spi1-0 = <&display_fragment>, "target:0=",<&spi1>,
|
|
<&spidev_fragment>, "target-path=spi1/spidev@0",
|
|
<&display>, "reg:0=0";
|
|
spi1-1 = <&display_fragment>, "target:0=",<&spi1>,
|
|
<&spidev_fragment>, "target-path=spi1/spidev@1",
|
|
<&display>, "reg:0=1";
|
|
spi1-2 = <&display_fragment>, "target:0=",<&spi1>,
|
|
<&spidev_fragment>, "target-path=spi1/spidev@2",
|
|
<&display>, "reg:0=2";
|
|
spi2-0 = <&display_fragment>, "target:0=",<&spi2>,
|
|
<&spidev_fragment>, "target-path=spi2/spidev@0",
|
|
<&display>, "reg:0=0";
|
|
spi2-1 = <&display_fragment>, "target:0=",<&spi2>,
|
|
<&spidev_fragment>, "target-path=spi2/spidev@1",
|
|
<&display>, "reg:0=1";
|
|
spi2-2 = <&display_fragment>, "target:0=",<&spi2>,
|
|
<&spidev_fragment>, "target-path=spi2/spidev@2",
|
|
<&display>, "reg:0=2";
|
|
|
|
speed = <&display>, "spi-max-frequency:0";
|
|
cpha = <&display>, "spi-cpha?";
|
|
cpol = <&display>, "spi-cpol?";
|
|
|
|
/* Displays */
|
|
adafruit18 = <0>, "+0";
|
|
adafruit22 = <0>, "+1";
|
|
adafruit22a = <0>, "+2";
|
|
adafruit28 = <0>, "+3";
|
|
adafruit13m = <0>, "+4";
|
|
admatec_c-berry28 = <0>, "+5";
|
|
dogs102 = <0>, "+6";
|
|
er_tftm050_2 = <0>, "+7";
|
|
er_tftm070_5 = <0>, "+8";
|
|
ew24ha0 = <0>, "+9";
|
|
ew24ha0_9bit = <0>, "+10";
|
|
freetronicsoled128 = <0>, "+11";
|
|
hy28a = <0>, "+12";
|
|
hy28b = <0>, "+13";
|
|
itdb28_spi = <0>, "+14";
|
|
mi0283qt-2 = <0>, "+15";
|
|
mi0283qt-9a = <0>, "+16";
|
|
nokia3310 = <0>, "+17";
|
|
nokia3310a = <0>, "+18";
|
|
nokia5110 = <0>, "+19";
|
|
piscreen = <0>, "+20";
|
|
pitft = <0>, "+21";
|
|
pioled = <0>, "+22";
|
|
rpi-display = <0>, "+23";
|
|
sainsmart18 = <0>, "+24";
|
|
sainsmart32_spi = <0>, "+25";
|
|
tinylcd35 = <0>, "+26";
|
|
tm022hdh26 = <0>, "+27";
|
|
tontec35_9481 = <0>, "+28";
|
|
tontec35_9486 = <0>, "+29";
|
|
waveshare32b = <0>, "+30";
|
|
waveshare22 = <0>, "+31";
|
|
|
|
/* Controllers */
|
|
bd663474 = <&display>, "compatible=hitachi,bd663474";
|
|
hx8340bn = <&display>, "compatible=himax,hx8340bn";
|
|
hx8347d = <&display>, "compatible=himax,hx8347d";
|
|
hx8353d = <&display>, "compatible=himax,hx8353d";
|
|
hx8357d = <&display>, "compatible=himax,hx8357d";
|
|
ili9163 = <&display>, "compatible=ilitek,ili9163";
|
|
ili9320 = <&display>, "compatible=ilitek,ili9320";
|
|
ili9325 = <&display>, "compatible=ilitek,ili9325";
|
|
ili9340 = <&display>, "compatible=ilitek,ili9340";
|
|
ili9341 = <&display>, "compatible=ilitek,ili9341";
|
|
ili9481 = <&display>, "compatible=ilitek,ili9481";
|
|
ili9486 = <&display>, "compatible=ilitek,ili9486";
|
|
pcd8544 = <&display>, "compatible=philips,pcd8544";
|
|
ra8875 = <&display>, "compatible=raio,ra8875";
|
|
s6d02a1 = <&display>, "compatible=samsung,s6d02a1";
|
|
s6d1121 = <&display>, "compatible=samsung,s6d1121";
|
|
seps525 = <&display>, "compatible=syncoam,seps525";
|
|
sh1106 = <&display>, "compatible=sinowealth,sh1106";
|
|
ssd1289 = <&display>, "compatible=solomon,ssd1289";
|
|
ssd1305 = <&display>, "compatible=solomon,ssd1305";
|
|
ssd1306 = <&display>, "compatible=solomon,ssd1306";
|
|
ssd1325 = <&display>, "compatible=solomon,ssd1325";
|
|
ssd1331 = <&display>, "compatible=solomon,ssd1331";
|
|
ssd1351 = <&display>, "compatible=solomon,ssd1351";
|
|
st7735r = <&display>, "compatible=sitronix,st7735r";
|
|
st7789v = <&display>, "compatible=sitronix,st7789v";
|
|
tls8204 = <&display>, "compatible=teralane,tls8204";
|
|
uc1611 = <&display>, "compatible=ultrachip,uc1611";
|
|
uc1701 = <&display>, "compatible=UltraChip,uc1701";
|
|
upd161704 = <&display>, "compatible=nec,upd161704";
|
|
|
|
width = <&display>, "width:0";
|
|
height = <&display>, "height:0";
|
|
regwidth = <&display>, "regwidth:0";
|
|
buswidth = <&display>, "buswidth:0";
|
|
debug = <&display>, "debug:0";
|
|
rotate = <&display>, "rotate:0";
|
|
bgr = <&display>, "bgr?";
|
|
fps = <&display>, "fps:0";
|
|
txbuflen = <&display>, "txbuflen:0";
|
|
startbyte = <&display>, "startbyte:0";
|
|
gamma = <&display>, "gamma";
|
|
|
|
reset_pin = <&display>, "reset-gpios:0=", <&gpio>,
|
|
<&display>, "reset-gpios:4",
|
|
<&display>, "reset-gpios:8=1"; /* GPIO_ACTIVE_LOW */
|
|
dc_pin = <&display>, "dc-gpios:0=", <&gpio>,
|
|
<&display>, "dc-gpios:4",
|
|
<&display>, "dc-gpios:8=0"; /* GPIO_ACTIVE_HIGH */
|
|
led_pin = <&display>, "led-gpios:0=", <&gpio>,
|
|
<&display>, "led-gpios:4",
|
|
<&display>, "led-gpios:8=0"; /* GPIO_ACTIVE_HIGH */
|
|
};
|
|
};
|