# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/anbernic,rg35xx-plus-panel.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Anbernic RG35XX series (WL-355608-A8) 3.5" 640x480 24-bit IPS LCD panel

maintainers:
  - Ryan Walklin <ryan@testtoast.com>

allOf:
  - $ref: panel-common.yaml#
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
  compatible:
    oneOf:
      - const: anbernic,rg35xx-plus-panel
      - items:
          - enum:
              - anbernic,rg35xx-2024-panel
              - anbernic,rg35xx-h-panel
              - anbernic,rg35xx-sp-panel
          - const: anbernic,rg35xx-plus-panel

  reg:
    maxItems: 1

  spi-3wire: true

required:
  - compatible
  - reg
  - port
  - power-supply
  - reset-gpios

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    spi {
        #address-cells = <1>;
        #size-cells = <0>;

        panel@0 {
            compatible = "anbernic,rg35xx-plus-panel";
            reg = <0>;

            spi-3wire;
            spi-max-frequency = <3125000>;

            reset-gpios = <&pio 8 14 GPIO_ACTIVE_LOW>; // PI14

            backlight = <&backlight>;
            power-supply = <&reg_lcd>;

            port {
                endpoint {
                    remote-endpoint = <&tcon_lcd0_out_lcd>;
                };
            };
        };
    };
