drivers: mipi-dbi: use string for mipi-mode property
Use a string for the mipi-mode property over an integer value, as this significantly improves the readability of the MIPI DBI device binding. Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
This commit is contained in:
parent
d6b8912ad9
commit
c565c2c6f6
23 changed files with 36 additions and 43 deletions
|
@ -61,7 +61,7 @@
|
||||||
st7735: st7735@0 {
|
st7735: st7735@0 {
|
||||||
compatible = "sitronix,st7735r";
|
compatible = "sitronix,st7735r";
|
||||||
mipi-max-frequency = <DT_FREQ_M(6)>;
|
mipi-max-frequency = <DT_FREQ_M(6)>;
|
||||||
mipi-mode = <MIPI_DBI_MODE_SPI_3WIRE>;
|
mipi-mode = "MIPI_DBI_MODE_SPI_3WIRE";
|
||||||
|
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
width = <130>;
|
width = <130>;
|
||||||
|
|
|
@ -66,7 +66,7 @@
|
||||||
st7735: st7735@0 {
|
st7735: st7735@0 {
|
||||||
compatible = "sitronix,st7735r";
|
compatible = "sitronix,st7735r";
|
||||||
mipi-max-frequency = <DT_FREQ_M(6)>;
|
mipi-max-frequency = <DT_FREQ_M(6)>;
|
||||||
mipi-mode = <MIPI_DBI_MODE_SPI_3WIRE>;
|
mipi-mode = "MIPI_DBI_MODE_SPI_3WIRE";
|
||||||
|
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
width = <130>;
|
width = <130>;
|
||||||
|
|
|
@ -72,7 +72,7 @@
|
||||||
st7735: st7735@0 {
|
st7735: st7735@0 {
|
||||||
compatible = "sitronix,st7735r";
|
compatible = "sitronix,st7735r";
|
||||||
mipi-max-frequency = <DT_FREQ_M(6)>;
|
mipi-max-frequency = <DT_FREQ_M(6)>;
|
||||||
mipi-mode = <MIPI_DBI_MODE_SPI_3WIRE>;
|
mipi-mode = "MIPI_DBI_MODE_SPI_3WIRE";
|
||||||
|
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
width = <130>;
|
width = <130>;
|
||||||
|
|
|
@ -63,7 +63,7 @@
|
||||||
st7735: st7735@0 {
|
st7735: st7735@0 {
|
||||||
compatible = "sitronix,st7735r";
|
compatible = "sitronix,st7735r";
|
||||||
mipi-max-frequency = <DT_FREQ_M(6)>;
|
mipi-max-frequency = <DT_FREQ_M(6)>;
|
||||||
mipi-mode = <MIPI_DBI_MODE_SPI_3WIRE>;
|
mipi-mode = "MIPI_DBI_MODE_SPI_3WIRE";
|
||||||
|
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
width = <130>;
|
width = <130>;
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
nvgam-param = [D0 04 0C 11 13 2C 3F 44 51 2F 1F 1F 20 23];
|
nvgam-param = [D0 04 0C 11 13 2C 3F 44 51 2F 1F 1F 20 23];
|
||||||
ram-param = [00 F0];
|
ram-param = [00 F0];
|
||||||
rgb-param = [CD 08 14];
|
rgb-param = [CD 08 14];
|
||||||
mipi-mode = <MIPI_DBI_MODE_SPI_4WIRE>;
|
mipi-mode = "MIPI_DBI_MODE_SPI_4WIRE";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -85,7 +85,7 @@
|
||||||
nvgam-param = [d0 00 02 07 0a 28 31 54 47 0e 1c 17 1b 1e];
|
nvgam-param = [d0 00 02 07 0a 28 31 54 47 0e 1c 17 1b 1e];
|
||||||
ram-param = [00 E0];
|
ram-param = [00 E0];
|
||||||
rgb-param = [40 02 14];
|
rgb-param = [40 02 14];
|
||||||
mipi-mode = <MIPI_DBI_MODE_SPI_4WIRE>;
|
mipi-mode = "MIPI_DBI_MODE_SPI_4WIRE";
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -96,7 +96,7 @@
|
||||||
nvgam-param = [d0 00 02 07 0a 28 31 54 47 0e 1c 17 1b 1e];
|
nvgam-param = [d0 00 02 07 0a 28 31 54 47 0e 1c 17 1b 1e];
|
||||||
ram-param = [00 F0];
|
ram-param = [00 F0];
|
||||||
rgb-param = [40 02 14];
|
rgb-param = [40 02 14];
|
||||||
mipi-mode = <MIPI_DBI_MODE_SPI_4WIRE>;
|
mipi-mode = "MIPI_DBI_MODE_SPI_4WIRE";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -112,7 +112,7 @@
|
||||||
nvgam-param = [D0 04 0C 11 13 2C 3F 44 51 2F 1F 1F 20 23];
|
nvgam-param = [D0 04 0C 11 13 2C 3F 44 51 2F 1F 1F 20 23];
|
||||||
ram-param = [00 F0];
|
ram-param = [00 F0];
|
||||||
rgb-param = [CD 08 14];
|
rgb-param = [CD 08 14];
|
||||||
mipi-mode = <MIPI_DBI_MODE_SPI_4WIRE>;
|
mipi-mode = "MIPI_DBI_MODE_SPI_4WIRE";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -64,7 +64,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
&st7796s {
|
&st7796s {
|
||||||
mipi-mode = <MIPI_DBI_MODE_8080_BUS_8_BIT>;
|
mipi-mode = "MIPI_DBI_MODE_8080_BUS_8_BIT";
|
||||||
/*
|
/*
|
||||||
* Display supports minimum write cycle time of 66ns. This
|
* Display supports minimum write cycle time of 66ns. This
|
||||||
* means we can clock the LCDIC module at 30MHz, as
|
* means we can clock the LCDIC module at 30MHz, as
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
/* Baud rate on each pin is 1MHz */
|
/* Baud rate on each pin is 1MHz */
|
||||||
mipi-max-frequency = <10000000>;
|
mipi-max-frequency = <10000000>;
|
||||||
mipi-mode = <MIPI_DBI_MODE_8080_BUS_16_BIT>;
|
mipi-mode = "MIPI_DBI_MODE_8080_BUS_16_BIT";
|
||||||
height = <320>;
|
height = <320>;
|
||||||
width = <480>;
|
width = <480>;
|
||||||
invert-mode = "1-dot";
|
invert-mode = "1-dot";
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
st7735r_st7735r_ada_160x128: st7735r@0 {
|
st7735r_st7735r_ada_160x128: st7735r@0 {
|
||||||
compatible = "sitronix,st7735r";
|
compatible = "sitronix,st7735r";
|
||||||
mipi-max-frequency = <20000000>;
|
mipi-max-frequency = <20000000>;
|
||||||
mipi-mode = <MIPI_DBI_MODE_SPI_4WIRE>;
|
mipi-mode = "MIPI_DBI_MODE_SPI_4WIRE";
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
width = <160>;
|
width = <160>;
|
||||||
height = <128>;
|
height = <128>;
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
nvgam-param = [D0 00 02 07 05 15 2D 44 44 1C 18 16 1C 1D];
|
nvgam-param = [D0 00 02 07 05 15 2D 44 44 1C 18 16 1C 1D];
|
||||||
ram-param = [00 F8];
|
ram-param = [00 F8];
|
||||||
rgb-param = [CD 08 14];
|
rgb-param = [CD 08 14];
|
||||||
mipi-mode = <MIPI_DBI_MODE_SPI_4WIRE>;
|
mipi-mode = "MIPI_DBI_MODE_SPI_4WIRE";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
nvgam-param = [D0 04 0C 11 13 2C 3F 44 51 2F 1F 1F 20 23];
|
nvgam-param = [D0 04 0C 11 13 2C 3F 44 51 2F 1F 1F 20 23];
|
||||||
ram-param = [00 F0];
|
ram-param = [00 F0];
|
||||||
rgb-param = [CD 08 14];
|
rgb-param = [CD 08 14];
|
||||||
mipi-mode = <MIPI_DBI_MODE_SPI_4WIRE>;
|
mipi-mode = "MIPI_DBI_MODE_SPI_4WIRE";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -106,7 +106,7 @@
|
||||||
caset = [00 01 00 a0];
|
caset = [00 01 00 a0];
|
||||||
raset = [00 1a 00 69];
|
raset = [00 1a 00 69];
|
||||||
|
|
||||||
mipi-mode = <MIPI_DBI_MODE_SPI_4WIRE>;
|
mipi-mode = "MIPI_DBI_MODE_SPI_4WIRE";
|
||||||
mipi-max-frequency = <4000000>;
|
mipi-max-frequency = <4000000>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -87,7 +87,7 @@
|
||||||
st7789v: lcd-panel@0 {
|
st7789v: lcd-panel@0 {
|
||||||
compatible = "sitronix,st7789v";
|
compatible = "sitronix,st7789v";
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
mipi-mode = <MIPI_DBI_MODE_8080_BUS_16_BIT>;
|
mipi-mode = "MIPI_DBI_MODE_8080_BUS_16_BIT";
|
||||||
/* A write cycle should be 68ns */
|
/* A write cycle should be 68ns */
|
||||||
mipi-max-frequency = <14705882>;
|
mipi-max-frequency = <14705882>;
|
||||||
width = <240>;
|
width = <240>;
|
||||||
|
|
|
@ -49,7 +49,7 @@
|
||||||
st7735r_160x80: st7735r@0 {
|
st7735r_160x80: st7735r@0 {
|
||||||
compatible = "sitronix,st7735r";
|
compatible = "sitronix,st7735r";
|
||||||
mipi-max-frequency = <20000000>;
|
mipi-max-frequency = <20000000>;
|
||||||
mipi-mode = <MIPI_DBI_MODE_SPI_4WIRE>;
|
mipi-mode = "MIPI_DBI_MODE_SPI_4WIRE";
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
width = <160>;
|
width = <160>;
|
||||||
height = <80>;
|
height = <80>;
|
||||||
|
|
|
@ -521,7 +521,8 @@ static const struct ili9xxx_quirks ili9488_quirks = {
|
||||||
.quirks = &ili##t##_quirks, \
|
.quirks = &ili##t##_quirks, \
|
||||||
.mipi_dev = DEVICE_DT_GET(DT_PARENT(INST_DT_ILI9XXX(n, t))), \
|
.mipi_dev = DEVICE_DT_GET(DT_PARENT(INST_DT_ILI9XXX(n, t))), \
|
||||||
.dbi_config = { \
|
.dbi_config = { \
|
||||||
.mode = DT_PROP_OR(INST_DT_ILI9XXX(n, t), \
|
.mode = DT_STRING_UPPER_TOKEN_OR( \
|
||||||
|
INST_DT_ILI9XXX(n, t), \
|
||||||
mipi_mode, MIPI_DBI_MODE_SPI_4WIRE), \
|
mipi_mode, MIPI_DBI_MODE_SPI_4WIRE), \
|
||||||
.config = MIPI_DBI_SPI_CONFIG_DT( \
|
.config = MIPI_DBI_SPI_CONFIG_DT( \
|
||||||
INST_DT_ILI9XXX(n, t), \
|
INST_DT_ILI9XXX(n, t), \
|
||||||
|
|
|
@ -494,7 +494,7 @@ static const struct display_driver_api st7735r_api = {
|
||||||
.mipi_dev = DEVICE_DT_GET(DT_INST_PARENT(inst)), \
|
.mipi_dev = DEVICE_DT_GET(DT_INST_PARENT(inst)), \
|
||||||
.dbi_config = MIPI_DBI_CONFIG_DT_INST(inst, \
|
.dbi_config = MIPI_DBI_CONFIG_DT_INST(inst, \
|
||||||
SPI_OP_MODE_MASTER | \
|
SPI_OP_MODE_MASTER | \
|
||||||
((DT_INST_PROP(inst, mipi_mode) == \
|
((DT_INST_STRING_UPPER_TOKEN(inst, mipi_mode) == \
|
||||||
MIPI_DBI_MODE_SPI_4WIRE) ? SPI_WORD_SET(8) : \
|
MIPI_DBI_MODE_SPI_4WIRE) ? SPI_WORD_SET(8) : \
|
||||||
SPI_WORD_SET(9)) | \
|
SPI_WORD_SET(9)) | \
|
||||||
SPI_HOLD_ON_CS | SPI_LOCK_ON, 0), \
|
SPI_HOLD_ON_CS | SPI_LOCK_ON, 0), \
|
||||||
|
|
|
@ -370,7 +370,7 @@ static const struct display_driver_api st7789v_api = {
|
||||||
};
|
};
|
||||||
|
|
||||||
#define ST7789V_WORD_SIZE(inst) \
|
#define ST7789V_WORD_SIZE(inst) \
|
||||||
((DT_INST_PROP(inst, mipi_mode) == MIPI_DBI_MODE_SPI_4WIRE) ? \
|
((DT_INST_STRING_UPPER_TOKEN(inst, mipi_mode) == MIPI_DBI_MODE_SPI_4WIRE) ? \
|
||||||
SPI_WORD_SET(8) : SPI_WORD_SET(9))
|
SPI_WORD_SET(8) : SPI_WORD_SET(9))
|
||||||
#define ST7789V_INIT(inst) \
|
#define ST7789V_INIT(inst) \
|
||||||
static const struct st7789v_config st7789v_config_ ## inst = { \
|
static const struct st7789v_config st7789v_config_ ## inst = { \
|
||||||
|
|
|
@ -364,7 +364,7 @@ static const struct display_driver_api st7796s_api = {
|
||||||
SPI_OP_MODE_MASTER | \
|
SPI_OP_MODE_MASTER | \
|
||||||
SPI_WORD_SET(8), \
|
SPI_WORD_SET(8), \
|
||||||
0), \
|
0), \
|
||||||
.mode = DT_INST_PROP_OR(n, mipi_mode, \
|
.mode = DT_INST_STRING_UPPER_TOKEN_OR(n, mipi_mode, \
|
||||||
MIPI_DBI_MODE_SPI_4WIRE), \
|
MIPI_DBI_MODE_SPI_4WIRE), \
|
||||||
}, \
|
}, \
|
||||||
.width = DT_INST_PROP(n, width), \
|
.width = DT_INST_PROP(n, width), \
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Copyright 2023 NXP
|
# Copyright 2023-2024 NXP
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
#
|
#
|
||||||
# Common fields for MIPI-DBI devices
|
# Common fields for MIPI-DBI devices
|
||||||
|
@ -13,24 +13,16 @@ properties:
|
||||||
description: Maximum clock frequency of device's MIPI interface in Hz
|
description: Maximum clock frequency of device's MIPI interface in Hz
|
||||||
|
|
||||||
mipi-mode:
|
mipi-mode:
|
||||||
type: int
|
type: string
|
||||||
description: |
|
description: |
|
||||||
MIPI DBI mode in use. Use the macros, not the actual enum value. Here is
|
MIPI DBI mode in use. These definitions should match those in
|
||||||
the concordance list (see dt-bindings/mipi_dbi/mipi_dbi.h)
|
dt-bindings/mipi_dbi/mipi_dbi.h
|
||||||
1 MIPI_DBI_MODE_SPI_3WIRE
|
|
||||||
2 MIPI_DBI_MODE_SPI_4WIRE
|
|
||||||
3 MIPI_DBI_MODE_6800_BUS_16_BIT
|
|
||||||
4 MIPI_DBI_MODE_6800_BUS_9_BIT
|
|
||||||
5 MIPI_DBI_MODE_6800_BUS_8_BIT
|
|
||||||
6 MIPI_DBI_MODE_8080_BUS_16_BIT
|
|
||||||
7 MIPI_DBI_MODE_8080_BUS_9_BIT
|
|
||||||
8 MIPI_DBI_MODE_8080_BUS_8_BIT
|
|
||||||
enum:
|
enum:
|
||||||
- 1
|
- "MIPI_DBI_MODE_SPI_3WIRE"
|
||||||
- 2
|
- "MIPI_DBI_MODE_SPI_4WIRE"
|
||||||
- 3
|
- "MIPI_DBI_MODE_6800_BUS_16_BIT"
|
||||||
- 4
|
- "MIPI_DBI_MODE_6800_BUS_9_BIT"
|
||||||
- 5
|
- "MIPI_DBI_MODE_6800_BUS_8_BIT"
|
||||||
- 6
|
- "MIPI_DBI_MODE_8080_BUS_16_BIT"
|
||||||
- 7
|
- "MIPI_DBI_MODE_8080_BUS_9_BIT"
|
||||||
- 8
|
- "MIPI_DBI_MODE_8080_BUS_8_BIT"
|
||||||
|
|
|
@ -96,7 +96,7 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define MIPI_DBI_CONFIG_DT(node_id, operation_, delay_) \
|
#define MIPI_DBI_CONFIG_DT(node_id, operation_, delay_) \
|
||||||
{ \
|
{ \
|
||||||
.mode = DT_PROP(node_id, mipi_mode), \
|
.mode = DT_STRING_UPPER_TOKEN(node_id, mipi_mode), \
|
||||||
.config = MIPI_DBI_SPI_CONFIG_DT(node_id, operation_, delay_), \
|
.config = MIPI_DBI_SPI_CONFIG_DT(node_id, operation_, delay_), \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,7 @@
|
||||||
test_mipi_dbi_st7735r: st7735t@2 {
|
test_mipi_dbi_st7735r: st7735t@2 {
|
||||||
compatible = "sitronix,st7735r";
|
compatible = "sitronix,st7735r";
|
||||||
mipi-max-frequency = <250000000>;
|
mipi-max-frequency = <250000000>;
|
||||||
mipi-mode = <MIPI_DBI_MODE_SPI_4WIRE>;
|
mipi-mode = "MIPI_DBI_MODE_SPI_4WIRE";
|
||||||
reg = <2>;
|
reg = <2>;
|
||||||
/* Arbitrary values */
|
/* Arbitrary values */
|
||||||
x-offset = <0>;
|
x-offset = <0>;
|
||||||
|
@ -96,7 +96,7 @@
|
||||||
nvgam-param = [d0 00 02 07 0a 28 31 54 47 0e 1c 17 1b 1e];
|
nvgam-param = [d0 00 02 07 0a 28 31 54 47 0e 1c 17 1b 1e];
|
||||||
ram-param = [00 E0];
|
ram-param = [00 E0];
|
||||||
rgb-param = [40 02 14];
|
rgb-param = [40 02 14];
|
||||||
mipi-mode = <MIPI_DBI_MODE_SPI_4WIRE>;
|
mipi-mode = "MIPI_DBI_MODE_SPI_4WIRE";
|
||||||
};
|
};
|
||||||
|
|
||||||
test_mipi_dbi_ssd1680: ssd1680@4 {
|
test_mipi_dbi_ssd1680: ssd1680@4 {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue