Define SM501 functions and modes.
Signed-off-by: Yoshinori Sato
---
.../bindings/display/smi,sm501.yaml | 134 ++
include/dt-bindings/display/sm501.h | 25
2 files changed, 159 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/smi,sm501.yaml
create mode 100644 include/dt-bindings/display/sm501.h
diff --git a/Documentation/devicetree/bindings/display/smi,sm501.yaml
b/Documentation/devicetree/bindings/display/smi,sm501.yaml
new file mode 100644
index ..df46600b8d4a
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/smi,sm501.yaml
@@ -0,0 +1,134 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/smi,sm501.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Silicon Motion SM501 Mobile Multimedia Companion Chip
+
+maintainers:
+ - Yoshinori Sato
+
+description: |
+ These DT bindings describe the SM501.
+
+properties:
+ compatible:
+const:
+ smi,sm501
+
+ reg:
+maxItems: 2
+description: |
+ First entry: System Configuration register
+ Second entry: IO space (Display Controller register)
+
+ interrupts:
+description: SM501 interrupt to the cpu should be described here.
+
+ interrupt-name: true
+
+ mode:
+$ref: /schemas/types.yaml#/definitions/string
+description: select a video mode
+
+ edid:
+description: |
+ verbatim EDID data block describing attached display.
+ Data from the detailed timing descriptor will be used to
+ program the display controller.
+
+ little-endian:
+$ref: /schemas/types.yaml#/definitions/flag
+description: available on big endian systems, to set different foreign
endian.
+ big-endian:
+$ref: /schemas/types.yaml#/definitions/flag
+description: available on little endian systems, to set different foreign
endian.
+
+ swap-fb-endian:
+$ref: /schemas/types.yaml#/definitions/flag
+description: swap framebuffer byteorder.
+
+ route-crt-panel:
+$ref: /schemas/types.yaml#/definitions/flag
+description: Panel output merge to CRT.
+
+ crt:
+description: CRT output control
+
+ panel:
+description: Panel output control
+
+ bpp:
+$ref: /schemas/types.yaml#/definitions/uint32
+description: Color depth
+
+ smi,flags:
+$ref: /schemas/types.yaml#/definitions/uint32
+description: Display control flags.
+
+ smi,devices:
+$ref: /schemas/types.yaml#/definitions/uint32
+description: SM501 device function select.
+
+ smi,mclk:
+$ref: /schemas/types.yaml#/definitions/uint32
+description: mclk frequency.
+
+ smi,m1xclk:
+$ref: /schemas/types.yaml#/definitions/uint32
+description: m1xclk frequency.
+
+ smi,misc-timing:
+$ref: /schemas/types.yaml#/definitions/uint32
+description: Miscellaneous Timing reg value.
+
+ smi,misc-control:
+$ref: /schemas/types.yaml#/definitions/uint32
+description: Miscellaneous Control reg value.
+
+ smi,gpio-low:
+$ref: /schemas/types.yaml#/definitions/uint32
+description: GPIO0 to 31 Control reg value.
+
+ smi,gpio-high:
+$ref: /schemas/types.yaml#/definitions/uint32
+description: GPIO32 to 63 Control reg value.
+
+ smi,gpio-i2c:
+$ref: /schemas/types.yaml#/definitions/uint32-array
+minItems: 5
+description: |
+ GPIO I2C bus number
+ 1st field - I2C bus number
+ 2nd Field - GPIO SDA
+ 3rd Field - GPIO SCL
+ 4th Field - Timeout
+ 5th Field - udelay
+
+additionalProperties: false
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+
+examples:
+ # MPC5200
+ - |
+display@1,0 {
+compatible = "smi,sm501";
+reg = <0x 0x0080
+ 0x03e0 0x0020>;
+interrupts = <1 1 3>;
+mode = "640x480-32@60";
+edid = [00 ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00
+00 00 01 04 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 f0 0a 80 fb 20 e0 25 10 32 60
+02 00 00 00 00 00 00 06 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 bd];
+};
diff --git a/include/dt-bindings/display/sm501.h
b/include/dt-bindings/display/sm501.h
new file mode 100644
index ..1be8490d7635
--- /dev/null
+++ b/include/dt-bindings/display/sm501.h
@@ -0,0 +1,25 @@
+/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
+
+/* Platform data definitions */
+
+#define SM501FB_FLAG_USE_INIT_MODE (1<<0)
+#define SM501FB_FLAG_DISABLE_AT_EXIT (1<<1)
+#define SM501FB_FLAG_USE_HWCURSOR (1<<2)
+#define SM501FB_FLAG_USE_HWACCEL (1<<3)
+#define SM501FB_FLAG_PANEL_NO_FPEN (1<<4)
+#define SM501FB_FLAG_PANEL_NO_VBIASEN (1<<5)