/* * Copyright (c) 2022, Kumar Gala * * SPDX-License-Identifier: Apache-2.0 * * Application overlay for testing driver builds * * Names in this file should be chosen in a way that won't conflict * with real-world devicetree nodes, to allow these tests to run on * (and be extended to test) real hardware. */ #include #include / { test { #address-cells = <1>; #size-cells = <1>; test_gpio: gpio@deadbeef { compatible = "vnd,gpio"; gpio-controller; reg = <0xdeadbeef 0x1000>; #gpio-cells = <0x2>; status = "okay"; }; test_mipi_dbi { compatible = "zephyr,mipi-dbi-spi"; status = "okay"; dc-gpios = <&test_gpio 0 0>; spi-dev = <&test_spi>; #address-cells = <1>; #size-cells = <0>; test_mipi_dbi_ili9342c: ili9342c@0 { compatible = "ilitek,ili9342c"; reg = <0>; mipi-max-frequency = <25000000>; pixel-format = <0>; rotation = <270>; width = <320>; height = <240>; }; test_mipi_dbi_st7796s: st7796s@1 { compatible = "sitronix,st7796s"; reg = <1>; mipi-max-frequency = <25000000>; height = <320>; width = <480>; /* Use dummy values for PCG and NGC, * As this won't drive a real panel */ pgc = [F0 06 0B 07 06 05 2E 33 47 3A 17 16 2E 31]; ngc = [F0 09 0D 09 08 23 2E 33 46 38 13 13 2C 32]; }; test_mipi_dbi_st7735r: st7735t@2 { compatible = "sitronix,st7735r"; mipi-max-frequency = <250000000>; mipi-mode = "MIPI_DBI_MODE_SPI_4WIRE"; reg = <2>; /* Arbitrary values */ x-offset = <0>; y-offset = <0>; gamctrp1 = [10 0E 02 03 0E 07 02 07 0A 12 27 37 00 0D 0E 10]; gamctrn1 = [10 0E 03 03 0F 06 02 08 0A 13 26 36 00 0D 0E 10]; width = <160>; height = <128>; }; test_st7789v: st7789v@3 { compatible = "sitronix,st7789v"; reg = <3>; mipi-max-frequency = <25000000>; width = <128>; height = <128>; /* Arbiratry values */ x-offset = <0>; y-offset = <0>; vcom = <0x28>; gctrl = <0x35>; vrhs = <0x10>; vdvs = <0x20>; mdac = <0x00>; gamma = <0x01>; colmod = <0x55>; lcm = <0x0c>; porch-param = [0c 0c 00 33 33]; cmd2en-param = [5a 69 02 00]; pwctrl1-param = [a4 a1]; pvgam-param = [d0 00 02 07 0a 28 32 44 42 06 0e 12 14 17]; nvgam-param = [d0 00 02 07 0a 28 31 54 47 0e 1c 17 1b 1e]; ram-param = [00 E0]; rgb-param = [40 02 14]; mipi-mode = "MIPI_DBI_MODE_SPI_4WIRE"; }; test_mipi_dbi_ssd1680: ssd1680@4 { compatible = "gooddisplay,gdey0213b74", "solomon,ssd1680"; mipi-max-frequency = <4000000>; reg = <4>; width = <250>; height = <122>; busy-gpios = <&test_gpio 0 0>; }; test_uc8176_waveshare_epaper_gdew042t2: uc8176@5 { compatible = "ultrachip,uc8176"; mipi-max-frequency = <4000000>; reg = <5>; width = <400>; height = <300>; busy-gpios = <&test_gpio 0 0>; /* Arbirary settings */ softstart = [17 17 17]; full { pwr = [03 00 26 26 09]; cdi = <0xd7>; tcon = <0x22>; }; }; test_spi_gc9x01x: gc9x01x@6 { compatible = "galaxycore,gc9x01x"; reg = <6>; mipi-max-frequency = <100000000>; pixel-format = <16>; width = <240>; height = <240>; }; test_spi_ssd1327fb: ssd1327fb@7 { compatible = "solomon,ssd1327fb"; reg = <7>; mipi-max-frequency = <100000000>; width = <240>; height = <240>; oscillator-freq = <0>; display-offset = <0>; start-line = <0>; multiplex-ratio = <0>; prechargep = <0>; remap-value = <0>; }; test_mipi_dbi_ssd1322: ssd1322@9 { compatible = "solomon,ssd1322"; reg = <9>; mipi-max-frequency = <16000000>; width = <128>; height = <64>; column-offset = <28>; }; }; test_mipi_dbi_xfr_16bit_write_only { compatible = "zephyr,mipi-dbi-spi"; status = "okay"; dc-gpios = <&test_gpio 0 0>; spi-dev = <&test_spi>; #address-cells = <1>; #size-cells = <0>; xfr-min-bits = ; write-only; test_mipi_dbi_xfr_16bit_ili9342c: ili9342c@0 { compatible = "ilitek,ili9342c"; reg = <0>; mipi-max-frequency = <25000000>; mipi-mode = "MIPI_DBI_MODE_SPI_4WIRE"; pixel-format = <0>; rotation = <270>; width = <320>; height = <240>; }; }; test_mipi_dsi { compatible = "vnd,mipi-dsi"; #address-cells = <1>; #size-cells = <0>; status = "okay"; test_hx8394: hx8394@0 { status = "okay"; compatible = "himax,hx8394"; reg = <0x0>; reset-gpios = <&test_gpio 0 0>; data-lanes = <2>; width = <720>; height = <1280>; pixel-format = <0>; }; test_nt35510: nt35510@1 { status = "okay"; compatible = "frida,nt35510"; reg = <0x1>; height = <800>; width = <480>; reset-gpios = <&test_gpio 0 0>; bl-gpios = <&test_gpio 0 0>; data-lanes = <2>; pixel-format = <0>; rotation = <90>; }; test_otm8009a: otm8009a@2 { status = "okay"; compatible = "orisetech,otm8009a"; reg = <0x2>; height = <800>; width = <480>; reset-gpios = <&test_gpio 0 0>; bl-gpios = <&test_gpio 0 0>; data-lanes = <2>; pixel-format = <0>; rotation = <90>; }; test_rm67162: rm67162@3 { status = "okay"; compatible = "raydium,rm67162"; reg = <0x3>; reset-gpios = <&test_gpio 0 0>; bl-gpios = <&test_gpio 0 0>; te-gpios = <&test_gpio 0 0>; data-lanes = <1>; width = <400>; height = <392>; pixel-format = <0>; }; test_rm68200: rm68200@4 { status = "okay"; compatible = "raydium,rm68200"; reg = <0x4>; reset-gpios = <&test_gpio 0 0>; data-lanes = <2>; width = <720>; height = <1280>; pixel-format = <0>; }; }; test_spi: spi@33334444 { #address-cells = <1>; #size-cells = <0>; compatible = "vnd,spi"; reg = <0x33334444 0x1000>; status = "okay"; clock-frequency = <2000000>; /* one entry for every device. Note that this must * include MIPI DBI devices as well. */ cs-gpios = <&test_gpio 0 0 &test_gpio 0 1 &test_gpio 0 2 &test_gpio 0 3 &test_gpio 0 4 &test_gpio 0 5 &test_gpio 0 6 &test_gpio 0 7 &test_gpio 0 8 &test_gpio 0 9>; test_led_strip_0: lpd8806@0 { compatible = "greeled,lpd8806"; reg = <0>; spi-max-frequency = <2000000>; chain-length = <1>; color-mapping = ; }; test_led_strip_1: ws2812_spi@1 { compatible = "worldsemi,ws2812-spi"; reg = <1>; spi-max-frequency = <2000000>; spi-one-frame = <1>; spi-zero-frame = <1>; chain-length = <256>; color-mapping = <0 1 2>; reset-delay = <280>; }; test_ls0xx: ls0xx@7 { compatible = "sharp,ls0xx"; spi-max-frequency = <2000000>; reg = <0x7>; width = <128>; height = <128>; extcomin-gpios = <&test_gpio 0 0>; extcomin-frequency = <60>; disp-en-gpios = <&test_gpio 0 0>; }; test_max7219: max7219@8 { compatible = "maxim,max7219"; reg = <0x8>; spi-max-frequency = <1000000>; num-cascading = <1>; intensity = <0>; scan-limit = <7>; }; }; test_led_strip_matrix { compatible = "led-strip-matrix"; status = "okay"; led-strips = <&test_led_strip_0>, <&test_led_strip_1>; chain-lengths = <256>, <256>; width = <32>; height = <16>; horizontal-modules = <2>; vertical-modules = <1>; circulative; start-from-right; }; test_i2c:i2c@60013000{ #address-cells = <1>; #size-cells = <0>; compatible="vnd,i2c"; reg = <0x60013000 0x1000>; status="okay"; clock-frequency=<100000>; test_ist3931:ist3931@0 { reg=<0x0>; width=<64>; height=<32>; compatible = "istech,ist3931"; reset-gpios =<&test_gpio 1 0>; x-offset=<0>; y-offset=<32>; voltage-converter; voltage-follower; lcd-bias=<3>; lcd-ct=<223>; duty-ratio=<64>; frame-control=<400>; reverse-com-output; }; test_ssd1306: ssd1306@1 { compatible = "solomon,ssd1306fb"; reg = <0x1>; width = <128>; height = <64>; segment-offset = <0>; page-offset = <0>; display-offset = <0>; multiplex-ratio = <63>; segment-remap; com-invdir; prechargep = <0x22>; }; }; }; };