166de150aSNeil Armstrong# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
266de150aSNeil Armstrong# Copyright 2019 BayLibre, SAS
366de150aSNeil Armstrong%YAML 1.2
466de150aSNeil Armstrong---
5*99a7fa0eSKrzysztof Kozlowski$id: http://devicetree.org/schemas/spi/amlogic,meson-gx-spicc.yaml#
6*99a7fa0eSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
766de150aSNeil Armstrong
866de150aSNeil Armstrongtitle: Amlogic Meson SPI Communication Controller
966de150aSNeil Armstrong
1066de150aSNeil Armstrongmaintainers:
11c6a43fb3SNeil Armstrong  - Neil Armstrong <neil.armstrong@linaro.org>
1266de150aSNeil Armstrong
1366de150aSNeil Armstrongdescription: |
1466de150aSNeil Armstrong  The Meson SPICC is a generic SPI controller for general purpose Full-Duplex
1566de150aSNeil Armstrong  communications with dedicated 16 words RX/TX PIO FIFOs.
1666de150aSNeil Armstrong
1766de150aSNeil Armstrongproperties:
1866de150aSNeil Armstrong  compatible:
1966de150aSNeil Armstrong    enum:
2066de150aSNeil Armstrong      - amlogic,meson-gx-spicc # SPICC controller on Amlogic GX and compatible SoCs
2166de150aSNeil Armstrong      - amlogic,meson-axg-spicc # SPICC controller on Amlogic AXG and compatible SoCs
229ea7db81SNeil Armstrong      - amlogic,meson-g12a-spicc # SPICC controller on Amlogic G12A and compatible SoCs
2366de150aSNeil Armstrong
2466de150aSNeil Armstrong  interrupts:
2566de150aSNeil Armstrong    maxItems: 1
2666de150aSNeil Armstrong
2766de150aSNeil Armstrong  reg:
2866de150aSNeil Armstrong    maxItems: 1
2966de150aSNeil Armstrong
3066de150aSNeil Armstrong  resets:
3166de150aSNeil Armstrong    maxItems: 1
3266de150aSNeil Armstrong
3366de150aSNeil Armstrong  clocks:
34a575357bSAlexander Stein    minItems: 1
35a575357bSAlexander Stein    items:
36a575357bSAlexander Stein      - description: controller register bus clock
37a575357bSAlexander Stein      - description: baud rate generator and delay control clock
3866de150aSNeil Armstrong
3966de150aSNeil Armstrong  clock-names:
40a575357bSAlexander Stein    minItems: 1
41a575357bSAlexander Stein    maxItems: 2
4266de150aSNeil Armstrong
4303183782SAmjad Ouled-AmeurallOf:
44*99a7fa0eSKrzysztof Kozlowski  - $ref: spi-controller.yaml#
4503183782SAmjad Ouled-Ameur  - if:
469ea7db81SNeil Armstrong      properties:
479ea7db81SNeil Armstrong        compatible:
489ea7db81SNeil Armstrong          contains:
499ea7db81SNeil Armstrong            enum:
509ea7db81SNeil Armstrong              - amlogic,meson-g12a-spicc
519ea7db81SNeil Armstrong
529ea7db81SNeil Armstrong    then:
539ea7db81SNeil Armstrong      properties:
549ea7db81SNeil Armstrong        clocks:
55a575357bSAlexander Stein          minItems: 2
569ea7db81SNeil Armstrong
579ea7db81SNeil Armstrong        clock-names:
589ea7db81SNeil Armstrong          items:
599ea7db81SNeil Armstrong            - const: core
609ea7db81SNeil Armstrong            - const: pclk
619ea7db81SNeil Armstrong
62a575357bSAlexander Stein    else:
63a575357bSAlexander Stein      properties:
64a575357bSAlexander Stein        clocks:
65a575357bSAlexander Stein          maxItems: 1
66a575357bSAlexander Stein
67a575357bSAlexander Stein        clock-names:
68a575357bSAlexander Stein          items:
69a575357bSAlexander Stein            - const: core
70a575357bSAlexander Stein
7103183782SAmjad Ouled-Ameur  - if:
7203183782SAmjad Ouled-Ameur      properties:
7303183782SAmjad Ouled-Ameur        compatible:
7403183782SAmjad Ouled-Ameur          contains:
7503183782SAmjad Ouled-Ameur            enum:
7603183782SAmjad Ouled-Ameur              - amlogic,meson-gx-spicc
7703183782SAmjad Ouled-Ameur
7803183782SAmjad Ouled-Ameur    then:
7903183782SAmjad Ouled-Ameur      properties:
8003183782SAmjad Ouled-Ameur        pinctrl-0: true
8103183782SAmjad Ouled-Ameur        pinctrl-1: true
8203183782SAmjad Ouled-Ameur        pinctrl-2: true
8303183782SAmjad Ouled-Ameur
8403183782SAmjad Ouled-Ameur        pinctrl-names:
8503183782SAmjad Ouled-Ameur          minItems: 1
8603183782SAmjad Ouled-Ameur          items:
8703183782SAmjad Ouled-Ameur            - const: default
8803183782SAmjad Ouled-Ameur            - const: idle-high
8903183782SAmjad Ouled-Ameur            - const: idle-low
9003183782SAmjad Ouled-Ameur
9166de150aSNeil Armstrongrequired:
9266de150aSNeil Armstrong  - compatible
9366de150aSNeil Armstrong  - reg
9466de150aSNeil Armstrong  - interrupts
9566de150aSNeil Armstrong  - clocks
9666de150aSNeil Armstrong  - clock-names
9766de150aSNeil Armstrong
986fdc6e23SRob HerringunevaluatedProperties: false
996fdc6e23SRob Herring
10066de150aSNeil Armstrongexamples:
10166de150aSNeil Armstrong  - |
10266de150aSNeil Armstrong    spi@c1108d80 {
10366de150aSNeil Armstrong        compatible = "amlogic,meson-gx-spicc";
10466de150aSNeil Armstrong        reg = <0xc1108d80 0x80>;
10566de150aSNeil Armstrong        interrupts = <112>;
10666de150aSNeil Armstrong        clocks = <&clk81>;
10766de150aSNeil Armstrong        clock-names = "core";
10866de150aSNeil Armstrong        #address-cells = <1>;
10966de150aSNeil Armstrong        #size-cells = <0>;
11066de150aSNeil Armstrong
11128ffe8bfSRob Herring        display@0 {
11228ffe8bfSRob Herring            compatible = "lg,lg4573";
11366de150aSNeil Armstrong            spi-max-frequency = <1000000>;
11466de150aSNeil Armstrong            reg = <0>;
11566de150aSNeil Armstrong        };
11666de150aSNeil Armstrong    };
117