Add dt-schema type bindings for the Mobileye EyeQ5 pin controller. Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com> Link: https://lore.kernel.org/r/20240227-mbly-clk-v8-1-c57fbda7664a@bootlin.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
243 lines
5.4 KiB
YAML
243 lines
5.4 KiB
YAML
# 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 <gregory.clement@bootlin.com>
|
|
- Théo Lebrun <theo.lebrun@bootlin.com>
|
|
- Vladimir Kondratiev <vladimir.kondratiev@mobileye.com>
|
|
|
|
$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
|