mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	[mipi_spi] New display driver for MIPI DBI devices (#8383)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
This commit is contained in:
		
							
								
								
									
										38
									
								
								tests/components/mipi_spi/common.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								tests/components/mipi_spi/common.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| spi: | ||||
|   - id: spi_single | ||||
|     clk_pin: | ||||
|       number: ${clk_pin} | ||||
|       allow_other_uses: true | ||||
|     mosi_pin: | ||||
|       number: ${mosi_pin} | ||||
|  | ||||
| display: | ||||
|   - platform: mipi_spi | ||||
|     spi_16: true | ||||
|     pixel_mode: 18bit | ||||
|     model: ili9488 | ||||
|     dc_pin: ${dc_pin} | ||||
|     cs_pin: ${cs_pin} | ||||
|     reset_pin: ${reset_pin} | ||||
|     data_rate: 20MHz | ||||
|     invert_colors: true | ||||
|     show_test_card: true | ||||
|     spi_mode: mode0 | ||||
|     draw_rounding: 8 | ||||
|     use_axis_flips: true | ||||
|     init_sequence: | ||||
|       - [0xd0, 1, 2, 3] | ||||
|       - delay 10ms | ||||
|     transform: | ||||
|       swap_xy: true | ||||
|       mirror_x: false | ||||
|       mirror_y: true | ||||
|     dimensions: | ||||
|       width: 100 | ||||
|       height: 200 | ||||
|     enable_pin: | ||||
|       - number: ${clk_pin} | ||||
|         allow_other_uses: true | ||||
|       - number: ${enable_pin} | ||||
|     bus_mode: single | ||||
|  | ||||
| @@ -0,0 +1,41 @@ | ||||
| spi: | ||||
|   - id: quad_spi | ||||
|     type: quad | ||||
|     interface: spi3 | ||||
|     clk_pin: | ||||
|       number: 47 | ||||
|     data_pins: | ||||
|       - allow_other_uses: true | ||||
|         number: 40 | ||||
|       - allow_other_uses: true | ||||
|         number: 41 | ||||
|       - allow_other_uses: true | ||||
|         number: 42 | ||||
|       - allow_other_uses: true | ||||
|         number: 43 | ||||
|   - id: octal_spi | ||||
|     type: octal | ||||
|     interface: hardware | ||||
|     clk_pin: | ||||
|       number: 0 | ||||
|     data_pins: | ||||
|       - 36 | ||||
|       - 37 | ||||
|       - 38 | ||||
|       - 39 | ||||
|       - allow_other_uses: true | ||||
|         number: 40 | ||||
|       - allow_other_uses: true | ||||
|         number: 41 | ||||
|       - allow_other_uses: true | ||||
|         number: 42 | ||||
|       - allow_other_uses: true | ||||
|         number: 43 | ||||
|   - id: spi_id_3 | ||||
|     interface: any | ||||
|     clk_pin: 8 | ||||
|     mosi_pin: 9 | ||||
|  | ||||
| display: | ||||
|   - platform: mipi_spi | ||||
|     model: ESP32-2432S028 | ||||
							
								
								
									
										41
									
								
								tests/components/mipi_spi/test-jc3248w535.esp32-s3-idf.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								tests/components/mipi_spi/test-jc3248w535.esp32-s3-idf.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | ||||
| spi: | ||||
|   - id: quad_spi | ||||
|     type: quad | ||||
|     interface: spi3 | ||||
|     clk_pin: | ||||
|       number: 47 | ||||
|     data_pins: | ||||
|       - allow_other_uses: true | ||||
|         number: 40 | ||||
|       - allow_other_uses: true | ||||
|         number: 41 | ||||
|       - allow_other_uses: true | ||||
|         number: 42 | ||||
|       - allow_other_uses: true | ||||
|         number: 43 | ||||
|   - id: octal_spi | ||||
|     type: octal | ||||
|     interface: hardware | ||||
|     clk_pin: | ||||
|       number: 0 | ||||
|     data_pins: | ||||
|       - 36 | ||||
|       - 37 | ||||
|       - 38 | ||||
|       - 39 | ||||
|       - allow_other_uses: true | ||||
|         number: 40 | ||||
|       - allow_other_uses: true | ||||
|         number: 41 | ||||
|       - allow_other_uses: true | ||||
|         number: 42 | ||||
|       - allow_other_uses: true | ||||
|         number: 43 | ||||
|   - id: spi_id_3 | ||||
|     interface: any | ||||
|     clk_pin: 8 | ||||
|     mosi_pin: 9 | ||||
|  | ||||
| display: | ||||
|   - platform: mipi_spi | ||||
|     model: JC3248W535 | ||||
							
								
								
									
										19
									
								
								tests/components/mipi_spi/test-jc3636w518.esp32-s3-idf.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								tests/components/mipi_spi/test-jc3636w518.esp32-s3-idf.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| spi: | ||||
|   - id: quad_spi | ||||
|     type: quad | ||||
|     interface: spi3 | ||||
|     clk_pin: | ||||
|       number: 36 | ||||
|     data_pins: | ||||
|       - number: 40 | ||||
|       - number: 41 | ||||
|       - number: 42 | ||||
|       - number: 43 | ||||
|   - id: spi_id_3 | ||||
|     interface: any | ||||
|     clk_pin: 8 | ||||
|     mosi_pin: 9 | ||||
|  | ||||
| display: | ||||
|   - platform: mipi_spi | ||||
|     model: JC3636W518 | ||||
| @@ -0,0 +1,9 @@ | ||||
| spi: | ||||
|   - id: spi_id_3 | ||||
|     interface: any | ||||
|     clk_pin: 8 | ||||
|     mosi_pin: 9 | ||||
|  | ||||
| display: | ||||
|   - platform: mipi_spi | ||||
|     model: Pico-ResTouch-LCD-3.5 | ||||
							
								
								
									
										41
									
								
								tests/components/mipi_spi/test-s3box.esp32-s3-idf.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								tests/components/mipi_spi/test-s3box.esp32-s3-idf.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | ||||
| spi: | ||||
|   - id: quad_spi | ||||
|     type: quad | ||||
|     interface: spi3 | ||||
|     clk_pin: | ||||
|       number: 47 | ||||
|     data_pins: | ||||
|       - allow_other_uses: true | ||||
|         number: 40 | ||||
|       - allow_other_uses: true | ||||
|         number: 41 | ||||
|       - allow_other_uses: true | ||||
|         number: 42 | ||||
|       - allow_other_uses: true | ||||
|         number: 43 | ||||
|   - id: octal_spi | ||||
|     type: octal | ||||
|     interface: hardware | ||||
|     clk_pin: | ||||
|       number: 0 | ||||
|     data_pins: | ||||
|       - 36 | ||||
|       - 37 | ||||
|       - 38 | ||||
|       - 39 | ||||
|       - allow_other_uses: true | ||||
|         number: 40 | ||||
|       - allow_other_uses: true | ||||
|         number: 41 | ||||
|       - allow_other_uses: true | ||||
|         number: 42 | ||||
|       - allow_other_uses: true | ||||
|         number: 43 | ||||
|   - id: spi_id_3 | ||||
|     interface: any | ||||
|     clk_pin: 8 | ||||
|     mosi_pin: 9 | ||||
|  | ||||
| display: | ||||
|   - platform: mipi_spi | ||||
|     model: S3BOX | ||||
							
								
								
									
										41
									
								
								tests/components/mipi_spi/test-s3boxlite.esp32-s3-idf.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								tests/components/mipi_spi/test-s3boxlite.esp32-s3-idf.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | ||||
| spi: | ||||
|   - id: quad_spi | ||||
|     type: quad | ||||
|     interface: spi3 | ||||
|     clk_pin: | ||||
|       number: 47 | ||||
|     data_pins: | ||||
|       - allow_other_uses: true | ||||
|         number: 40 | ||||
|       - allow_other_uses: true | ||||
|         number: 41 | ||||
|       - allow_other_uses: true | ||||
|         number: 42 | ||||
|       - allow_other_uses: true | ||||
|         number: 43 | ||||
|   - id: octal_spi | ||||
|     type: octal | ||||
|     interface: hardware | ||||
|     clk_pin: | ||||
|       number: 0 | ||||
|     data_pins: | ||||
|       - 36 | ||||
|       - 37 | ||||
|       - 38 | ||||
|       - 39 | ||||
|       - allow_other_uses: true | ||||
|         number: 40 | ||||
|       - allow_other_uses: true | ||||
|         number: 41 | ||||
|       - allow_other_uses: true | ||||
|         number: 42 | ||||
|       - allow_other_uses: true | ||||
|         number: 43 | ||||
|   - id: spi_id_3 | ||||
|     interface: any | ||||
|     clk_pin: 8 | ||||
|     mosi_pin: 9 | ||||
|  | ||||
| display: | ||||
|   - platform: mipi_spi | ||||
|     model: S3BOXLITE | ||||
| @@ -0,0 +1,9 @@ | ||||
| spi: | ||||
|   - id: spi_id_3 | ||||
|     interface: any | ||||
|     clk_pin: 8 | ||||
|     mosi_pin: 9 | ||||
|  | ||||
| display: | ||||
|   - platform: mipi_spi | ||||
|     model: T-DISPLAY-S3-AMOLED-PLUS | ||||
| @@ -0,0 +1,15 @@ | ||||
| spi: | ||||
|   - id: quad_spi | ||||
|     type: quad | ||||
|     interface: spi3 | ||||
|     clk_pin: | ||||
|       number: 47 | ||||
|     data_pins: | ||||
|       - number: 40 | ||||
|       - number: 41 | ||||
|       - number: 42 | ||||
|       - number: 43 | ||||
|  | ||||
| display: | ||||
|   - platform: mipi_spi | ||||
|     model: T-DISPLAY-S3-AMOLED | ||||
| @@ -0,0 +1,9 @@ | ||||
| spi: | ||||
|   - id: spi_id_3 | ||||
|     interface: any | ||||
|     clk_pin: 8 | ||||
|     mosi_pin: 40 | ||||
|  | ||||
| display: | ||||
|   - platform: mipi_spi | ||||
|     model: T-DISPLAY-S3-PRO | ||||
| @@ -0,0 +1,37 @@ | ||||
| spi: | ||||
|   - id: quad_spi | ||||
|     type: quad | ||||
|     interface: spi3 | ||||
|     clk_pin: | ||||
|       number: 47 | ||||
|     data_pins: | ||||
|       - allow_other_uses: true | ||||
|         number: 40 | ||||
|       - allow_other_uses: true | ||||
|         number: 41 | ||||
|       - allow_other_uses: true | ||||
|         number: 42 | ||||
|       - allow_other_uses: true | ||||
|         number: 43 | ||||
|   - id: octal_spi | ||||
|     type: octal | ||||
|     interface: hardware | ||||
|     clk_pin: | ||||
|       number: 0 | ||||
|     data_pins: | ||||
|       - 36 | ||||
|       - 37 | ||||
|       - 38 | ||||
|       - 39 | ||||
|       - allow_other_uses: true | ||||
|         number: 40 | ||||
|       - allow_other_uses: true | ||||
|         number: 41 | ||||
|       - allow_other_uses: true | ||||
|         number: 42 | ||||
|       - allow_other_uses: true | ||||
|         number: 43 | ||||
|  | ||||
| display: | ||||
|   - platform: mipi_spi | ||||
|     model: T-DISPLAY-S3 | ||||
							
								
								
									
										41
									
								
								tests/components/mipi_spi/test-t-display.esp32-s3-idf.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								tests/components/mipi_spi/test-t-display.esp32-s3-idf.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | ||||
| spi: | ||||
|   - id: quad_spi | ||||
|     type: quad | ||||
|     interface: spi3 | ||||
|     clk_pin: | ||||
|       number: 47 | ||||
|     data_pins: | ||||
|       - allow_other_uses: true | ||||
|         number: 40 | ||||
|       - allow_other_uses: true | ||||
|         number: 41 | ||||
|       - allow_other_uses: true | ||||
|         number: 42 | ||||
|       - allow_other_uses: true | ||||
|         number: 43 | ||||
|   - id: octal_spi | ||||
|     type: octal | ||||
|     interface: hardware | ||||
|     clk_pin: | ||||
|       number: 0 | ||||
|     data_pins: | ||||
|       - 36 | ||||
|       - 37 | ||||
|       - 38 | ||||
|       - 39 | ||||
|       - allow_other_uses: true | ||||
|         number: 40 | ||||
|       - allow_other_uses: true | ||||
|         number: 41 | ||||
|       - allow_other_uses: true | ||||
|         number: 42 | ||||
|       - allow_other_uses: true | ||||
|         number: 43 | ||||
|   - id: spi_id_3 | ||||
|     interface: any | ||||
|     clk_pin: 8 | ||||
|     mosi_pin: 9 | ||||
|  | ||||
| display: | ||||
|   - platform: mipi_spi | ||||
|     model: T-DISPLAY | ||||
							
								
								
									
										9
									
								
								tests/components/mipi_spi/test-t-embed.esp32-s3-idf.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								tests/components/mipi_spi/test-t-embed.esp32-s3-idf.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| spi: | ||||
|   - id: spi_id_3 | ||||
|     interface: any | ||||
|     clk_pin: 8 | ||||
|     mosi_pin: 40 | ||||
|  | ||||
| display: | ||||
|   - platform: mipi_spi | ||||
|     model: T-EMBED | ||||
							
								
								
									
										41
									
								
								tests/components/mipi_spi/test-t4-s3.esp32-s3-idf.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								tests/components/mipi_spi/test-t4-s3.esp32-s3-idf.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | ||||
| spi: | ||||
|   - id: quad_spi | ||||
|     type: quad | ||||
|     interface: spi3 | ||||
|     clk_pin: | ||||
|       number: 47 | ||||
|     data_pins: | ||||
|       - allow_other_uses: true | ||||
|         number: 40 | ||||
|       - allow_other_uses: true | ||||
|         number: 41 | ||||
|       - allow_other_uses: true | ||||
|         number: 42 | ||||
|       - allow_other_uses: true | ||||
|         number: 43 | ||||
|   - id: octal_spi | ||||
|     type: octal | ||||
|     interface: hardware | ||||
|     clk_pin: | ||||
|       number: 0 | ||||
|     data_pins: | ||||
|       - 36 | ||||
|       - 37 | ||||
|       - 38 | ||||
|       - 39 | ||||
|       - allow_other_uses: true | ||||
|         number: 40 | ||||
|       - allow_other_uses: true | ||||
|         number: 41 | ||||
|       - allow_other_uses: true | ||||
|         number: 42 | ||||
|       - allow_other_uses: true | ||||
|         number: 43 | ||||
|   - id: spi_id_3 | ||||
|     interface: any | ||||
|     clk_pin: 8 | ||||
|     mosi_pin: 9 | ||||
|  | ||||
| display: | ||||
|   - platform: mipi_spi | ||||
|     model: T4-S3 | ||||
| @@ -0,0 +1,37 @@ | ||||
| spi: | ||||
|   - id: quad_spi | ||||
|     type: quad | ||||
|     interface: spi3 | ||||
|     clk_pin: | ||||
|       number: 47 | ||||
|     data_pins: | ||||
|       - allow_other_uses: true | ||||
|         number: 40 | ||||
|       - allow_other_uses: true | ||||
|         number: 41 | ||||
|       - allow_other_uses: true | ||||
|         number: 42 | ||||
|       - allow_other_uses: true | ||||
|         number: 43 | ||||
|   - id: octal_spi | ||||
|     type: octal | ||||
|     interface: hardware | ||||
|     clk_pin: | ||||
|       number: 9 | ||||
|     data_pins: | ||||
|       - 36 | ||||
|       - 37 | ||||
|       - 38 | ||||
|       - 39 | ||||
|       - allow_other_uses: true | ||||
|         number: 40 | ||||
|       - allow_other_uses: true | ||||
|         number: 41 | ||||
|       - allow_other_uses: true | ||||
|         number: 42 | ||||
|       - allow_other_uses: true | ||||
|         number: 43 | ||||
|  | ||||
| display: | ||||
|   - platform: mipi_spi | ||||
|     model: WT32-SC01-PLUS | ||||
							
								
								
									
										15
									
								
								tests/components/mipi_spi/test.esp32-ard.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								tests/components/mipi_spi/test.esp32-ard.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| substitutions: | ||||
|   clk_pin: GPIO16 | ||||
|   mosi_pin: GPIO17 | ||||
|   miso_pin: GPIO15 | ||||
|   dc_pin: GPIO14 | ||||
|   cs_pin: GPIO13 | ||||
|   enable_pin: GPIO19 | ||||
|   reset_pin: GPIO20 | ||||
|  | ||||
| display: | ||||
|   - platform: mipi_spi | ||||
|     model: LANBON-L8 | ||||
|  | ||||
| packages: | ||||
|   display: !include common.yaml | ||||
							
								
								
									
										10
									
								
								tests/components/mipi_spi/test.esp32-c3-ard.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								tests/components/mipi_spi/test.esp32-c3-ard.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| substitutions: | ||||
|   clk_pin: GPIO6 | ||||
|   mosi_pin: GPIO7 | ||||
|   miso_pin: GPIO5 | ||||
|   dc_pin: GPIO21 | ||||
|   cs_pin: GPIO18 | ||||
|   enable_pin: GPIO19 | ||||
|   reset_pin: GPIO20 | ||||
|  | ||||
| <<: !include common.yaml | ||||
							
								
								
									
										10
									
								
								tests/components/mipi_spi/test.esp32-c3-idf.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								tests/components/mipi_spi/test.esp32-c3-idf.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| substitutions: | ||||
|   clk_pin: GPIO6 | ||||
|   mosi_pin: GPIO7 | ||||
|   miso_pin: GPIO5 | ||||
|   dc_pin: GPIO21 | ||||
|   cs_pin: GPIO18 | ||||
|   enable_pin: GPIO19 | ||||
|   reset_pin: GPIO20 | ||||
|  | ||||
| <<: !include common.yaml | ||||
							
								
								
									
										15
									
								
								tests/components/mipi_spi/test.esp32-idf.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								tests/components/mipi_spi/test.esp32-idf.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| substitutions: | ||||
|   clk_pin: GPIO16 | ||||
|   mosi_pin: GPIO17 | ||||
|   miso_pin: GPIO15 | ||||
|   dc_pin: GPIO21 | ||||
|   cs_pin: GPIO18 | ||||
|   enable_pin: GPIO19 | ||||
|   reset_pin: GPIO20 | ||||
|  | ||||
| packages: | ||||
|   display: !include common.yaml | ||||
|  | ||||
| display: | ||||
|   - platform: mipi_spi | ||||
|     model: m5core | ||||
							
								
								
									
										10
									
								
								tests/components/mipi_spi/test.rp2040-ard.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								tests/components/mipi_spi/test.rp2040-ard.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| substitutions: | ||||
|   clk_pin: GPIO2 | ||||
|   mosi_pin: GPIO3 | ||||
|   miso_pin: GPIO4 | ||||
|   dc_pin: GPIO14 | ||||
|   cs_pin: GPIO13 | ||||
|   enable_pin: GPIO19 | ||||
|   reset_pin: GPIO20 | ||||
|  | ||||
| <<: !include common.yaml | ||||
		Reference in New Issue
	
	Block a user