Add bindings for EyeQ6L and EyeQ6H reset controllers. Some controllers host a single domain, meaning a single cell is enough. We do not enforce reg-names for such nodes. Signed-off-by: Théo Lebrun <theo.lebrun@xxxxxxxxxxx> --- .../bindings/reset/mobileye,eyeq5-reset.yaml | 88 ++++++++++++++++++---- MAINTAINERS | 1 + 2 files changed, 74 insertions(+), 15 deletions(-) diff --git a/Documentation/devicetree/bindings/reset/mobileye,eyeq5-reset.yaml b/Documentation/devicetree/bindings/reset/mobileye,eyeq5-reset.yaml index 062b4518347b..799bcf15bed9 100644 --- a/Documentation/devicetree/bindings/reset/mobileye,eyeq5-reset.yaml +++ b/Documentation/devicetree/bindings/reset/mobileye,eyeq5-reset.yaml @@ -4,11 +4,13 @@ $id: http://devicetree.org/schemas/reset/mobileye,eyeq5-reset.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: Mobileye EyeQ5 reset controller +title: Mobileye EyeQ reset controller description: - The EyeQ5 reset driver handles three reset domains. Its registers live in a - shared region called OLB. + EyeQ reset controller handles one or more reset domains. They live in shared + regions called OLB. EyeQ5 and EyeQ6L host one OLB each, each with one reset + instance. EyeQ6H hosts 7 OLB regions; three of those (west, east, + accelerator) host reset controllers. West and east are duplicates. maintainers: - Grégory Clement <gregory.clement@xxxxxxxxxxx> @@ -17,27 +19,83 @@ maintainers: properties: compatible: - const: mobileye,eyeq5-reset + enum: + - mobileye,eyeq5-reset + - mobileye,eyeq6l-reset + - mobileye,eyeq6h-we-reset + - mobileye,eyeq6h-acc-reset - reg: - maxItems: 3 + reg: true - reg-names: - items: - - const: d0 - - const: d1 - - const: d2 + reg-names: true "#reset-cells": - const: 2 description: - The first cell is the domain (0 to 2 inclusive) and the second one is the - reset index inside that domain. + First cell is domain, second is reset index inside that domain. If + controller has a single domain, first cell is implicitly zero. + enum: [ 1, 2 ] required: - compatible - reg - - reg-names - "#reset-cells" +allOf: + # EyeQ5 and EyeQ6L have multiple domains, other compatibles have one. + # Multiple domains means named resources and two reset cells. + # Single domain means a single unnamed resource and one reset cell. + - if: + properties: + compatible: + enum: + - mobileye,eyeq5-reset + - mobileye,eyeq6l-reset + then: + properties: + "#reset-cells": + const: 2 + required: + - reg-names + else: + properties: + reg: + maxItems: 1 + reg-names: false + "#reset-cells": + const: 1 + + # EyeQ5 has three domains. + - if: + properties: + compatible: + contains: + const: mobileye,eyeq5-reset + then: + properties: + reg: + minItems: 3 + maxItems: 3 + reg-names: + minItems: 3 + maxItems: 3 + items: + enum: [ d0, d1, d2 ] + + # EyeQ6L has two domains. + - if: + properties: + compatible: + contains: + const: mobileye,eyeq6l-reset + then: + properties: + reg: + minItems: 2 + maxItems: 2 + reg-names: + minItems: 2 + maxItems: 2 + items: + enum: [ d0, d1 ] + additionalProperties: false diff --git a/MAINTAINERS b/MAINTAINERS index f5a488331b38..42553da10be9 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -14927,6 +14927,7 @@ L: linux-mips@xxxxxxxxxxxxxxx S: Maintained F: Documentation/devicetree/bindings/clock/mobileye,eyeq5-clk.yaml F: Documentation/devicetree/bindings/mips/mobileye.yaml +F: Documentation/devicetree/bindings/reset/mobileye,eyeq5-reset.yaml F: Documentation/devicetree/bindings/soc/mobileye/ F: arch/mips/boot/dts/mobileye/ F: arch/mips/configs/eyeq5_defconfig -- 2.44.0