# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/pinctrl/mobileye,eyeq5-pinctrl.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Mobileye EyeQ5 pin controller description: > The EyeQ5 pin controller handles the two pin banks of the system. It belongs to a system-controller block called OLB. Pin control is about bias (pull-down, pull-up), drive strength and muxing. Pin muxing supports two functions for each pin: first is GPIO, second is pin-dependent. Pins and groups are bijective. maintainers: - Grégory Clement - Théo Lebrun - Vladimir Kondratiev $ref: pinctrl.yaml# properties: compatible: enum: - mobileye,eyeq5-pinctrl reg: maxItems: 1 patternProperties: "-pins?$": type: object description: Pin muxing configuration. $ref: pinmux-node.yaml# additionalProperties: false properties: pins: true function: enum: [gpio, # Bank A timer0, timer1, timer2, timer5, uart0, uart1, can0, can1, spi0, spi1, refclk0, # Bank B timer3, timer4, timer6, uart2, can2, spi2, spi3, mclk0] bias-disable: true bias-pull-down: true bias-pull-up: true drive-strength: true required: - pins - function allOf: - if: properties: function: const: gpio then: properties: pins: items: # PA0 - PA28, PB0 - PB22 pattern: '^(P(A|B)1?[0-9]|PA2[0-8]|PB2[0-2])$' - if: properties: function: const: timer0 then: properties: pins: items: enum: [PA0, PA1] - if: properties: function: const: timer1 then: properties: pins: items: enum: [PA2, PA3] - if: properties: function: const: timer2 then: properties: pins: items: enum: [PA4, PA5] - if: properties: function: const: timer5 then: properties: pins: items: enum: [PA6, PA7, PA8, PA9] - if: properties: function: const: uart0 then: properties: pins: items: enum: [PA10, PA11] - if: properties: function: const: uart1 then: properties: pins: items: enum: [PA12, PA13] - if: properties: function: const: can0 then: properties: pins: items: enum: [PA14, PA15] - if: properties: function: const: can1 then: properties: pins: items: enum: [PA16, PA17] - if: properties: function: const: spi0 then: properties: pins: items: enum: [PA18, PA19, PA20, PA21, PA22] - if: properties: function: const: spi1 then: properties: pins: items: enum: [PA23, PA24, PA25, PA26, PA27] - if: properties: function: const: refclk0 then: properties: pins: items: enum: [PA28] - if: properties: function: const: timer3 then: properties: pins: items: enum: [PB0, PB1] - if: properties: function: const: timer4 then: properties: pins: items: enum: [PB2, PB3] - if: properties: function: const: timer6 then: properties: pins: items: enum: [PB4, PB5, PB6, PB7] - if: properties: function: const: uart2 then: properties: pins: items: enum: [PB8, PB9] - if: properties: function: const: can2 then: properties: pins: items: enum: [PB10, PB11] - if: properties: function: const: spi2 then: properties: pins: items: enum: [PB12, PB13, PB14, PB15, PB16] - if: properties: function: const: spi3 then: properties: pins: items: enum: [PB17, PB18, PB19, PB20, PB21] - if: properties: function: const: mclk0 then: properties: pins: items: enum: [PB22] required: - compatible - reg additionalProperties: false