mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
Merge tag 'pinctrl-v6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pin control updates from Linus Walleij:
"No core changes this time around.
New drivers:
- New driver for Renesas R8A779H0 also known as R-Car V4M.
- New driver for the Awinic AW9523/B I2C GPIO expander. I found this
living out-of-tree in OpenWrt as an upstream attempt had stalled on
the finishing line, so I picked it up and finished the job.
Improvements:
- The Nomadik pin control driver was for years re-used out of tree
for the ST STA chips, and now the IP was re-used in a MIPS
automotive SoC called MobilEyeq5, so it has been split in pin
control and GPIO drivers so the latter can be reused by MobilEyeq5.
(Along with a long list of cleanups)
- A lot of overall cleanup and tidying up"
* tag 'pinctrl-v6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (87 commits)
drivers/gpio/nomadik: move dummy nmk_gpio_dbg_show_one() to header
gpio: nomadik: remove BUG_ON() in nmk_gpio_populate_chip()
dt-bindings: pinctrl: qcom: update compatible name for match with driver
pinctrl: aw9523: Make the driver tristate
pinctrl: nomadik: fix dereference of error pointer
gpio: nomadik: Back out some managed resources
pinctrl: aw9523: Add proper terminator
pinctrl: core: comment that pinctrl_add_gpio_range() is deprecated
pinctrl: pinmux: Suppress error message for -EPROBE_DEFER
pinctrl: Add driver for Awinic AW9523/B I2C GPIO Expander
dt-bindings: pinctrl: Add bindings for Awinic AW9523/AW9523B
gpio: nomadik: Finish conversion to use firmware node APIs
gpio: nomadik: fix Kconfig dependencies inbetween pinctrl & GPIO
pinctrl: da9062: Add OF table
dt-bindings: pinctrl: at91: add sam9x7
pinctrl: ocelot: remove redundant assignment to variable ret
gpio: nomadik: grab optional reset control and deassert it at probe
gpio: nomadik: support mobileye,eyeq5-gpio
gpio: nomadik: handle variadic GPIO count
gpio: nomadik: support shared GPIO IRQs
...
This commit is contained in:
@@ -1,31 +0,0 @@
|
||||
Nomadik GPIO controller
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "st,nomadik-gpio".
|
||||
- reg : Physical base address and length of the controller's registers.
|
||||
- interrupts : The interrupt outputs from the controller.
|
||||
- #gpio-cells : Should be two:
|
||||
The first cell is the pin number.
|
||||
The second cell is used to specify optional parameters:
|
||||
- bits[3:0] trigger type and level flags:
|
||||
1 = low-to-high edge triggered.
|
||||
2 = high-to-low edge triggered.
|
||||
4 = active high level-sensitive.
|
||||
8 = active low level-sensitive.
|
||||
- gpio-controller : Marks the device node as a GPIO controller.
|
||||
- interrupt-controller : Marks the device node as an interrupt controller.
|
||||
- gpio-bank : Specifies which bank a controller owns.
|
||||
- st,supports-sleepmode : Specifies whether controller can sleep or not
|
||||
|
||||
Example:
|
||||
|
||||
gpio1: gpio@8012e080 {
|
||||
compatible = "st,nomadik-gpio";
|
||||
reg = <0x8012e080 0x80>;
|
||||
interrupts = <0 120 0x4>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
st,supports-sleepmode;
|
||||
gpio-bank = <1>;
|
||||
};
|
||||
95
Documentation/devicetree/bindings/gpio/st,nomadik-gpio.yaml
Normal file
95
Documentation/devicetree/bindings/gpio/st,nomadik-gpio.yaml
Normal file
@@ -0,0 +1,95 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/gpio/st,nomadik-gpio.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Nomadik GPIO controller
|
||||
|
||||
description:
|
||||
The Nomadik GPIO driver handles Nomadik SoC GPIO blocks. This block has also
|
||||
been called ST STA2X11. On the Nomadik platform, this driver is intertwined
|
||||
with pinctrl-nomadik.
|
||||
|
||||
maintainers:
|
||||
- Linus Walleij <linus.walleij@linaro.org>
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: "^gpio@[0-9a-f]+$"
|
||||
|
||||
compatible:
|
||||
enum:
|
||||
- st,nomadik-gpio
|
||||
- mobileye,eyeq5-gpio
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
"#gpio-cells":
|
||||
const: 2
|
||||
|
||||
gpio-controller: true
|
||||
|
||||
interrupt-controller: true
|
||||
|
||||
"#interrupt-cells":
|
||||
const: 2
|
||||
|
||||
gpio-bank:
|
||||
description: System-wide GPIO bank index.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
st,supports-sleepmode:
|
||||
description: Whether the controller can sleep or not.
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
gpio-ranges:
|
||||
maxItems: 1
|
||||
|
||||
ngpios:
|
||||
minimum: 0
|
||||
maximum: 32
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- "#gpio-cells"
|
||||
- gpio-controller
|
||||
- interrupt-controller
|
||||
- gpio-bank
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: mobileye,eyeq5-gpio
|
||||
then:
|
||||
properties:
|
||||
st,supports-sleepmode: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
gpio@8012e080 {
|
||||
compatible = "st,nomadik-gpio";
|
||||
reg = <0x8012e080 0x80>;
|
||||
interrupts = <0 120 0x4>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
st,supports-sleepmode;
|
||||
gpio-bank = <1>;
|
||||
};
|
||||
@@ -24,7 +24,7 @@ required:
|
||||
- compatible
|
||||
|
||||
patternProperties:
|
||||
"^bank@[0-9a-z]+$":
|
||||
"^bank@[0-9a-f]+$":
|
||||
$ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-gpio
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
@@ -21,7 +21,7 @@ required:
|
||||
- compatible
|
||||
|
||||
patternProperties:
|
||||
"^bank@[0-9a-z]+$":
|
||||
"^bank@[0-9a-f]+$":
|
||||
$ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-gpio
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
@@ -21,7 +21,7 @@ required:
|
||||
- compatible
|
||||
|
||||
patternProperties:
|
||||
"^bank@[0-9a-z]+$":
|
||||
"^bank@[0-9a-f]+$":
|
||||
$ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-gpio
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
@@ -29,7 +29,7 @@ required:
|
||||
- compatible
|
||||
|
||||
patternProperties:
|
||||
"^bank@[0-9a-z]+$":
|
||||
"^bank@[0-9a-f]+$":
|
||||
$ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-gpio
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
@@ -29,7 +29,7 @@ required:
|
||||
- compatible
|
||||
|
||||
patternProperties:
|
||||
"^bank@[0-9a-z]+$":
|
||||
"^bank@[0-9a-f]+$":
|
||||
$ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-gpio
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
@@ -20,6 +20,7 @@ such as pull-up, multi drive, etc.
|
||||
Required properties for iomux controller:
|
||||
- compatible: "atmel,at91rm9200-pinctrl" or "atmel,at91sam9x5-pinctrl"
|
||||
or "atmel,sama5d3-pinctrl" or "microchip,sam9x60-pinctrl"
|
||||
or "microchip,sam9x7-pinctrl", "microchip,sam9x60-pinctrl"
|
||||
- atmel,mux-mask: array of mask (periph per bank) to describe if a pin can be
|
||||
configured in this periph mode. All the periph and bank need to be describe.
|
||||
|
||||
@@ -120,6 +121,7 @@ Some requirements for using atmel,at91rm9200-pinctrl binding:
|
||||
For each bank the required properties are:
|
||||
- compatible: "atmel,at91sam9x5-gpio" or "atmel,at91rm9200-gpio" or
|
||||
"microchip,sam9x60-gpio"
|
||||
or "microchip,sam9x7-gpio", "microchip,sam9x60-gpio", "atmel,at91rm9200-gpio"
|
||||
- reg: physical base address and length of the controller's registers
|
||||
- interrupts: interrupt outputs from the controller
|
||||
- interrupt-controller: marks the device node as an interrupt controller
|
||||
|
||||
@@ -0,0 +1,139 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/pinctrl/awinic,aw9523-pinctrl.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Awinic AW9523/AW9523B I2C GPIO Expander
|
||||
|
||||
maintainers:
|
||||
- AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
|
||||
|
||||
description: |
|
||||
The Awinic AW9523/AW9523B I2C GPIO Expander featuring 16 multi-function
|
||||
I/O, 256 steps PWM mode and interrupt support.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: awinic,aw9523-pinctrl
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
'#gpio-cells':
|
||||
description: |
|
||||
Specifying the pin number and flags, as defined in
|
||||
include/dt-bindings/gpio/gpio.h
|
||||
const: 2
|
||||
|
||||
gpio-controller: true
|
||||
|
||||
gpio-ranges:
|
||||
maxItems: 1
|
||||
|
||||
interrupt-controller: true
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
description: Specifies the INTN pin IRQ.
|
||||
|
||||
'#interrupt-cells':
|
||||
description:
|
||||
Specifies the PIN numbers and Flags, as defined in defined in
|
||||
include/dt-bindings/interrupt-controller/irq.h
|
||||
const: 2
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
|
||||
# PIN CONFIGURATION NODES
|
||||
patternProperties:
|
||||
'-pins$':
|
||||
type: object
|
||||
description:
|
||||
Pinctrl node's client devices use subnodes for desired pin configuration.
|
||||
Client device subnodes use below standard properties.
|
||||
$ref: /schemas/pinctrl/pincfg-node.yaml
|
||||
|
||||
properties:
|
||||
pins:
|
||||
description:
|
||||
List of gpio pins affected by the properties specified in
|
||||
this subnode.
|
||||
items:
|
||||
pattern: "^gpio([0-9]|1[0-5])$"
|
||||
minItems: 1
|
||||
maxItems: 16
|
||||
|
||||
function:
|
||||
description:
|
||||
Specify the alternative function to be configured for the
|
||||
specified pins.
|
||||
|
||||
enum: [ gpio, pwm ]
|
||||
|
||||
bias-disable: true
|
||||
bias-pull-down: true
|
||||
bias-pull-up: true
|
||||
drive-open-drain: true
|
||||
drive-push-pull: true
|
||||
input-enable: true
|
||||
input-disable: true
|
||||
output-high: true
|
||||
output-low: true
|
||||
|
||||
required:
|
||||
- pins
|
||||
- function
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- gpio-controller
|
||||
- '#gpio-cells'
|
||||
- gpio-ranges
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
# Example configuration to drive pins for a keyboard matrix
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
aw9523: gpio-expander@58 {
|
||||
compatible = "awinic,aw9523-pinctrl";
|
||||
reg = <0x58>;
|
||||
interrupt-parent = <&tlmm>;
|
||||
interrupts = <50 IRQ_TYPE_EDGE_FALLING>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&tlmm 0 0 16>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
reset-gpios = <&tlmm 51 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
keyboard-matrix-col-pins {
|
||||
pins = "gpio8", "gpio9", "gpio10", "gpio11",
|
||||
"gpio12", "gpio13", "gpio14", "gpio15";
|
||||
function = "gpio";
|
||||
input-disable;
|
||||
output-low;
|
||||
};
|
||||
|
||||
keyboard-matrix-row-pins {
|
||||
pins = "gpio0", "gpio1", "gpio2", "gpio3",
|
||||
"gpio4", "gpio5", "gpio6", "gpio7";
|
||||
function = "gpio";
|
||||
bias-pull-up;
|
||||
drive-open-drain;
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -93,7 +93,8 @@ properties:
|
||||
|
||||
input-schmitt-disable: true
|
||||
|
||||
input-debounce: true
|
||||
input-debounce:
|
||||
maxItems: 1
|
||||
|
||||
output-low: true
|
||||
|
||||
|
||||
@@ -45,7 +45,8 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
gpio-reserved-ranges:
|
||||
maxItems: 1
|
||||
minItems: 1
|
||||
maxItems: 60
|
||||
|
||||
vdd-supply:
|
||||
description:
|
||||
@@ -85,6 +86,8 @@ patternProperties:
|
||||
|
||||
bias-disable: true
|
||||
|
||||
input-enable: true
|
||||
|
||||
output-high: true
|
||||
|
||||
output-low: true
|
||||
@@ -133,6 +136,23 @@ examples:
|
||||
interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-controller;
|
||||
vdd-supply = <&p3v3>;
|
||||
gpio-reserved-ranges = <5 1>;
|
||||
gpio-reserved-ranges = <1 2>, <6 1>, <10 1>, <15 1>;
|
||||
|
||||
pinctrl-0 = <&U62160_pins>, <&U62160_ipins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
U62160_pins: cfg-pins {
|
||||
pins = "gp03", "gp16", "gp20", "gp50", "gp51";
|
||||
function = "gpio";
|
||||
input-enable;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
U62160_ipins: icfg-pins {
|
||||
pins = "gp04", "gp17", "gp21", "gp52", "gp53";
|
||||
function = "gpio";
|
||||
input-enable;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -0,0 +1,242 @@
|
||||
# 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
|
||||
@@ -152,7 +152,6 @@ patternProperties:
|
||||
description:
|
||||
Debouncing periods in microseconds, one period per interrupt
|
||||
bank found in the controller
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
minItems: 1
|
||||
maxItems: 4
|
||||
|
||||
@@ -160,7 +159,6 @@ patternProperties:
|
||||
description: |
|
||||
0: Low rate
|
||||
1: High rate
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [0, 1]
|
||||
|
||||
drive-strength:
|
||||
|
||||
@@ -103,7 +103,8 @@ patternProperties:
|
||||
items:
|
||||
pattern: "^gpio1?[0-9]{1,2}$"
|
||||
|
||||
input-debounce: true
|
||||
input-debounce:
|
||||
maxItems: 1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
|
||||
@@ -10,18 +10,21 @@ maintainers:
|
||||
- Thierry Reding <thierry.reding@gmail.com>
|
||||
- Jon Hunter <jonathanh@nvidia.com>
|
||||
|
||||
$ref: nvidia,tegra234-pinmux-common.yaml
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: nvidia,tegra234-pinmux-aon
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
patternProperties:
|
||||
"^pinmux(-[a-z0-9-]+)?$":
|
||||
type: object
|
||||
|
||||
# pin groups
|
||||
additionalProperties:
|
||||
$ref: nvidia,tegra234-pinmux-common.yaml
|
||||
|
||||
properties:
|
||||
nvidia,pins:
|
||||
items:
|
||||
|
||||
@@ -10,57 +10,43 @@ maintainers:
|
||||
- Thierry Reding <thierry.reding@gmail.com>
|
||||
- Jon Hunter <jonathanh@nvidia.com>
|
||||
|
||||
$ref: nvidia,tegra-pinmux-common.yaml
|
||||
|
||||
properties:
|
||||
reg:
|
||||
items:
|
||||
- description: pinmux registers
|
||||
nvidia,function:
|
||||
enum: [ gp, uartc, i2c8, spi2, i2c2, can1, can0, rsvd0, eth0, eth2,
|
||||
eth1, dp, eth3, i2c4, i2c7, i2c9, eqos, pe2, pe1, pe0, pe3,
|
||||
pe4, pe5, pe6, pe7, pe8, pe9, pe10, qspi0, qspi1, qpsi,
|
||||
sdmmc1, sce, soc, gpio, hdmi, ufs0, spi3, spi1, uartb, uarte,
|
||||
usb, extperiph2, extperiph1, i2c3, vi0, i2c5, uarta, uartd,
|
||||
i2c1, i2s4, i2s6, aud, spi5, touch, uartj, rsvd1, wdt, tsc,
|
||||
dmic3, led, vi0_alt, i2s5, nv, extperiph3, extperiph4, spi4,
|
||||
ccla, i2s1, i2s2, i2s3, i2s8, rsvd2, dmic5, dca, displayb,
|
||||
displaya, vi1, dcb, dmic1, dmic4, i2s7, dmic2, dspk0, rsvd3,
|
||||
tsc_alt, istctrl, vi1_alt, dspk1, igpu ]
|
||||
|
||||
patternProperties:
|
||||
"^pinmux(-[a-z0-9-]+)?$":
|
||||
type: object
|
||||
|
||||
# pin groups
|
||||
additionalProperties:
|
||||
$ref: nvidia,tegra-pinmux-common.yaml
|
||||
# We would typically use unevaluatedProperties here but that has the
|
||||
# downside that all the properties in the common bindings become valid
|
||||
# for all chip generations. In this case, however, we want the per-SoC
|
||||
# bindings to be able to override which of the common properties are
|
||||
# allowed, since not all pinmux generations support the same sets of
|
||||
# properties. This way, the common bindings define the format of the
|
||||
# properties but the per-SoC bindings define which of them apply to a
|
||||
# given chip.
|
||||
additionalProperties: false
|
||||
properties:
|
||||
nvidia,function:
|
||||
enum: [ gp, uartc, i2c8, spi2, i2c2, can1, can0, rsvd0, eth0, eth2,
|
||||
eth1, dp, eth3, i2c4, i2c7, i2c9, eqos, pe2, pe1, pe0, pe3,
|
||||
pe4, pe5, pe6, pe7, pe8, pe9, pe10, qspi0, qspi1, qpsi,
|
||||
sdmmc1, sce, soc, gpio, hdmi, ufs0, spi3, spi1, uartb, uarte,
|
||||
usb, extperiph2, extperiph1, i2c3, vi0, i2c5, uarta, uartd,
|
||||
i2c1, i2s4, i2s6, aud, spi5, touch, uartj, rsvd1, wdt, tsc,
|
||||
dmic3, led, vi0_alt, i2s5, nv, extperiph3, extperiph4, spi4,
|
||||
ccla, i2s1, i2s2, i2s3, i2s8, rsvd2, dmic5, dca, displayb,
|
||||
displaya, vi1, dcb, dmic1, dmic4, i2s7, dmic2, dspk0, rsvd3,
|
||||
tsc_alt, istctrl, vi1_alt, dspk1, igpu ]
|
||||
|
||||
# out of the common properties, only these are allowed for Tegra234
|
||||
nvidia,pins: true
|
||||
nvidia,pull: true
|
||||
nvidia,tristate: true
|
||||
nvidia,schmitt: true
|
||||
nvidia,enable-input: true
|
||||
nvidia,open-drain: true
|
||||
nvidia,lock: true
|
||||
nvidia,drive-type: true
|
||||
nvidia,io-hv: true
|
||||
|
||||
required:
|
||||
- nvidia,pins
|
||||
# out of the common properties, only these are allowed for Tegra234
|
||||
nvidia,pins: true
|
||||
nvidia,pull: true
|
||||
nvidia,tristate: true
|
||||
nvidia,schmitt: true
|
||||
nvidia,enable-input: true
|
||||
nvidia,open-drain: true
|
||||
nvidia,lock: true
|
||||
nvidia,drive-type: true
|
||||
nvidia,io-hv: true
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- nvidia,pins
|
||||
|
||||
# We would typically use unevaluatedProperties here but that has the
|
||||
# downside that all the properties in the common bindings become valid
|
||||
# for all chip generations. In this case, however, we want the per-SoC
|
||||
# bindings to be able to override which of the common properties are
|
||||
# allowed, since not all pinmux generations support the same sets of
|
||||
# properties. This way, the common bindings define the format of the
|
||||
# properties but the per-SoC bindings define which of them apply to a
|
||||
# given chip.
|
||||
additionalProperties: false
|
||||
|
||||
additionalProperties: true
|
||||
...
|
||||
|
||||
@@ -10,18 +10,21 @@ maintainers:
|
||||
- Thierry Reding <thierry.reding@gmail.com>
|
||||
- Jon Hunter <jonathanh@nvidia.com>
|
||||
|
||||
$ref: nvidia,tegra234-pinmux-common.yaml
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: nvidia,tegra234-pinmux
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
patternProperties:
|
||||
"^pinmux(-[a-z0-9-]+)?$":
|
||||
type: object
|
||||
|
||||
# pin groups
|
||||
additionalProperties:
|
||||
$ref: nvidia,tegra234-pinmux-common.yaml
|
||||
|
||||
properties:
|
||||
nvidia,pins:
|
||||
items:
|
||||
|
||||
@@ -97,7 +97,7 @@ properties:
|
||||
description: disable schmitt-trigger mode
|
||||
|
||||
input-debounce:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
description: Takes the debounce time in usec as argument or 0 to disable
|
||||
debouncing
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ allOf:
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: qcom,sm4450-pinctrl
|
||||
const: qcom,sm4450-tlmm
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
@@ -46,6 +46,7 @@ properties:
|
||||
- renesas,pfc-r8a779a0 # R-Car V3U
|
||||
- renesas,pfc-r8a779f0 # R-Car S4-8
|
||||
- renesas,pfc-r8a779g0 # R-Car V4H
|
||||
- renesas,pfc-r8a779h0 # R-Car V4M
|
||||
- renesas,pfc-sh73a0 # SH-Mobile AG5
|
||||
|
||||
reg:
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user