1 # SPDX-License-Identifier: (GPL-2.0-only OR BS !! 1 # SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/display/pan 4 $id: http://devicetree.org/schemas/display/panel/panel-mipi-dbi-spi.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: MIPI DBI SPI Panel 7 title: MIPI DBI SPI Panel 8 8 9 maintainers: 9 maintainers: 10 - Noralf Trønnes <noralf@tronnes.org> 10 - Noralf Trønnes <noralf@tronnes.org> 11 11 12 description: | 12 description: | 13 This binding is for display panels using a M 13 This binding is for display panels using a MIPI DBI compatible controller 14 in SPI mode. 14 in SPI mode. 15 15 16 The MIPI Alliance Standard for Display Bus I 16 The MIPI Alliance Standard for Display Bus Interface defines the electrical 17 and logical interfaces for display controlle 17 and logical interfaces for display controllers historically used in mobile 18 phones. The standard defines 4 display archi 18 phones. The standard defines 4 display architecture types and this binding is 19 for type 1 which has full frame memory. Ther 19 for type 1 which has full frame memory. There are 3 interface types in the 20 standard and type C is the serial interface. 20 standard and type C is the serial interface. 21 21 22 The standard defines the following interface 22 The standard defines the following interface signals for type C: 23 - Power: 23 - Power: 24 - Vdd: Power supply for display module 24 - Vdd: Power supply for display module 25 Called power-supply in this binding. << 26 - Vddi: Logic level supply for interface s 25 - Vddi: Logic level supply for interface signals 27 Called io-supply in this binding. !! 26 Combined into one in this binding called: power-supply 28 - Interface: 27 - Interface: 29 - CSx: Chip select 28 - CSx: Chip select 30 - SCL: Serial clock 29 - SCL: Serial clock 31 - Dout: Serial out 30 - Dout: Serial out 32 - Din: Serial in 31 - Din: Serial in 33 - SDA: Bidrectional in/out 32 - SDA: Bidrectional in/out 34 - D/CX: Data/command selection, high=data, 33 - D/CX: Data/command selection, high=data, low=command 35 Called dc-gpios in this binding. 34 Called dc-gpios in this binding. 36 - RESX: Reset when low 35 - RESX: Reset when low 37 Called reset-gpios in this binding. 36 Called reset-gpios in this binding. 38 37 39 The type C interface has 3 options: 38 The type C interface has 3 options: 40 39 41 - Option 1: 9-bit mode and D/CX as the 9th 40 - Option 1: 9-bit mode and D/CX as the 9th bit 42 | Command | t 41 | Command | the next command or following data | 43 |<0><D7><D6><D5><D4><D3><D2><D1><D0>|<D/ 42 |<0><D7><D6><D5><D4><D3><D2><D1><D0>|<D/CX><D7><D6><D5><D4><D3><D2><D1><D0>| 44 43 45 - Option 2: 16-bit mode and D/CX as a 9th 44 - Option 2: 16-bit mode and D/CX as a 9th bit 46 | Command or data 45 | Command or data | 47 |<X><X><X><X><X><X><X><D/CX><D7><D6><D5> 46 |<X><X><X><X><X><X><X><D/CX><D7><D6><D5><D4><D3><D2><D1><D0>| 48 47 49 - Option 3: 8-bit mode and D/CX as a separ 48 - Option 3: 8-bit mode and D/CX as a separate interface line 50 | Command or data | 49 | Command or data | 51 |<D7><D6><D5><D4><D3><D2><D1><D0>| 50 |<D7><D6><D5><D4><D3><D2><D1><D0>| 52 51 53 The standard defines one pixel format for ty << 54 however has decided to provide the type A/B << 55 the Type C interface and most common among t << 56 The MIPI DCS command set_address_mode (36h) << 57 order. This gives each supported RGB format << 58 << 59 The panel resolution is specified using the 52 The panel resolution is specified using the panel-timing node properties 60 hactive (width) and vactive (height). The ot 53 hactive (width) and vactive (height). The other mandatory panel-timing 61 properties should be set to zero except cloc 54 properties should be set to zero except clock-frequency which can be 62 optionally set to inform about the actual pi 55 optionally set to inform about the actual pixel clock frequency. 63 56 64 If the panel is wired to the controller at a 57 If the panel is wired to the controller at an offset specify this using 65 hback-porch (x-offset) and vback-porch (y-of 58 hback-porch (x-offset) and vback-porch (y-offset). 66 59 67 allOf: 60 allOf: 68 - $ref: panel-common.yaml# 61 - $ref: panel-common.yaml# 69 - $ref: /schemas/spi/spi-peripheral-props.ya 62 - $ref: /schemas/spi/spi-peripheral-props.yaml# 70 63 71 properties: 64 properties: 72 compatible: 65 compatible: 73 items: 66 items: 74 - enum: 67 - enum: 75 - saef,sftc154b << 76 - sainsmart18 68 - sainsmart18 77 - shineworld,lh133k << 78 - const: panel-mipi-dbi-spi 69 - const: panel-mipi-dbi-spi 79 70 80 reg: << 81 maxItems: 1 << 82 << 83 write-only: 71 write-only: 84 type: boolean 72 type: boolean 85 description: 73 description: 86 Controller is not readable (ie. Din (MIS 74 Controller is not readable (ie. Din (MISO on the SPI interface) is not 87 wired up). 75 wired up). 88 76 89 dc-gpios: 77 dc-gpios: 90 maxItems: 1 78 maxItems: 1 91 description: | 79 description: | 92 Controller data/command selection (D/CX) 80 Controller data/command selection (D/CX) in 4-line SPI mode. 93 If not set, the controller is in 3-line 81 If not set, the controller is in 3-line SPI mode. 94 82 95 io-supply: << 96 description: | << 97 Logic level supply for interface signals << 98 No need to set if this is the same as po << 99 << 100 spi-3wire: true << 101 << 102 format: << 103 description: > << 104 Pixel format in bit order as going on th << 105 * `x2r1g1b1r1g1b1` - RGB111, 2 pixels << 106 * `x2b1g1r1b1g1r1` - BGR111, 2 pixels << 107 * `x1r1g1b1x1r1g1b1` - RGB111, 2 pixel << 108 * `x1b1g1r1x1b1g1r1` - BGR111, 2 pixel << 109 * `r5g6b5` - RGB565, 2 bytes << 110 * `b5g6r5` - BGR565, 2 bytes << 111 * `r6x2g6x2b6x2` - RGB666, 3 bytes << 112 * `b6x2g6x2r6x2` - BGR666, 3 bytes << 113 enum: << 114 - x2r1g1b1r1g1b1 << 115 - x2b1g1r1b1g1r1 << 116 - x1r1g1b1x1r1g1b1 << 117 - x1b1g1r1x1b1g1r1 << 118 - r5g6b5 << 119 - b5g6r5 << 120 - r6x2g6x2b6x2 << 121 - b6x2g6x2r6x2 << 122 default: r5g6b5 << 123 << 124 required: 83 required: 125 - compatible 84 - compatible 126 - reg 85 - reg 127 - width-mm 86 - width-mm 128 - height-mm 87 - height-mm 129 - panel-timing 88 - panel-timing 130 89 131 unevaluatedProperties: false 90 unevaluatedProperties: false 132 91 133 examples: 92 examples: 134 - | 93 - | 135 #include <dt-bindings/gpio/gpio.h> 94 #include <dt-bindings/gpio/gpio.h> 136 95 137 spi { 96 spi { 138 #address-cells = <1>; 97 #address-cells = <1>; 139 #size-cells = <0>; 98 #size-cells = <0>; 140 99 141 display@0{ 100 display@0{ 142 compatible = "sainsmart18", "panel 101 compatible = "sainsmart18", "panel-mipi-dbi-spi"; 143 reg = <0>; 102 reg = <0>; 144 spi-max-frequency = <40000000>; 103 spi-max-frequency = <40000000>; 145 104 146 dc-gpios = <&gpio 24 GPIO_ACTIVE_H 105 dc-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>; 147 reset-gpios = <&gpio 25 GPIO_ACTIV 106 reset-gpios = <&gpio 25 GPIO_ACTIVE_HIGH>; 148 write-only; 107 write-only; 149 << 150 format = "r5g6b5"; << 151 108 152 backlight = <&backlight>; 109 backlight = <&backlight>; 153 110 154 width-mm = <35>; 111 width-mm = <35>; 155 height-mm = <28>; 112 height-mm = <28>; 156 113 157 panel-timing { 114 panel-timing { 158 hactive = <160>; 115 hactive = <160>; 159 vactive = <128>; 116 vactive = <128>; 160 hback-porch = <0>; 117 hback-porch = <0>; 161 vback-porch = <0>; 118 vback-porch = <0>; 162 clock-frequency = <0>; 119 clock-frequency = <0>; 163 hfront-porch = <0>; 120 hfront-porch = <0>; 164 hsync-len = <0>; 121 hsync-len = <0>; 165 vfront-porch = <0>; 122 vfront-porch = <0>; 166 vsync-len = <0>; 123 vsync-len = <0>; 167 }; 124 }; 168 }; 125 }; 169 }; 126 }; 170 127 171 ... 128 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.