dt-bindings: gpio: convert bindings for NXP PCA953x family to dtschema
Convert the NXP PCA953x family of GPIO expanders bindings to device tree schema. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20200916155715.21009-2-krzk@kernel.org Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
60e7432914
commit
dd8efeb78d
|
@ -1,90 +0,0 @@
|
|||
* NXP PCA953x I2C GPIO multiplexer
|
||||
|
||||
Required properties:
|
||||
- compatible: Has to contain one of the following:
|
||||
nxp,pca6416
|
||||
nxp,pca9505
|
||||
nxp,pca9534
|
||||
nxp,pca9535
|
||||
nxp,pca9536
|
||||
nxp,pca9537
|
||||
nxp,pca9538
|
||||
nxp,pca9539
|
||||
nxp,pca9554
|
||||
nxp,pca9555
|
||||
nxp,pca9556
|
||||
nxp,pca9557
|
||||
nxp,pca9574
|
||||
nxp,pca9575
|
||||
nxp,pca9698
|
||||
nxp,pcal6416
|
||||
nxp,pcal6524
|
||||
nxp,pcal9535
|
||||
nxp,pcal9555a
|
||||
maxim,max7310
|
||||
maxim,max7312
|
||||
maxim,max7313
|
||||
maxim,max7315
|
||||
ti,pca6107
|
||||
ti,pca9536
|
||||
ti,tca6408
|
||||
ti,tca6416
|
||||
ti,tca6424
|
||||
ti,tca9539
|
||||
ti,tca9554
|
||||
onnn,cat9554
|
||||
onnn,pca9654
|
||||
exar,xra1202
|
||||
- gpio-controller: if used as gpio expander.
|
||||
- #gpio-cells: if used as gpio expander.
|
||||
- interrupt-controller: if to be used as interrupt expander.
|
||||
- #interrupt-cells: if to be used as interrupt expander.
|
||||
|
||||
Optional properties:
|
||||
- interrupts: interrupt specifier for the device's interrupt output.
|
||||
- reset-gpios: GPIO specification for the RESET input. This is an
|
||||
active low signal to the PCA953x.
|
||||
- vcc-supply: power supply regulator.
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
gpio@20 {
|
||||
compatible = "nxp,pca9505";
|
||||
reg = <0x20>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pca9505>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-parent = <&gpio3>;
|
||||
interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
|
||||
|
||||
Example with Interrupts:
|
||||
|
||||
|
||||
gpio99: gpio@22 {
|
||||
compatible = "nxp,pcal6524";
|
||||
reg = <0x22>;
|
||||
interrupt-parent = <&gpio6>;
|
||||
interrupts = <1 IRQ_TYPE_EDGE_FALLING>; /* gpio6_161 */
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
vcc-supply = <&vdds_1v8_main>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-line-names =
|
||||
"hdmi-ct-hpd", "hdmi.ls-oe", "p02", "p03", "vibra", "fault2", "p06", "p07",
|
||||
"en-usb", "en-host1", "en-host2", "chg-int", "p14", "p15", "mic-int", "en-modem",
|
||||
"shdn-hs-amp", "chg-status+red", "green", "blue", "en-esata", "fault1", "p26", "p27";
|
||||
};
|
||||
|
||||
ts3a227@3b {
|
||||
compatible = "ti,ts3a227e";
|
||||
reg = <0x3b>;
|
||||
interrupt-parent = <&gpio99>;
|
||||
interrupts = <14 IRQ_TYPE_EDGE_RISING>;
|
||||
ti,micbias = <0>; /* 2.1V */
|
||||
};
|
||||
|
|
@ -0,0 +1,166 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/gpio/gpio-pca95xx.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: NXP PCA95xx I2C GPIO multiplexer
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- exar,xra1202
|
||||
- maxim,max7310
|
||||
- maxim,max7312
|
||||
- maxim,max7313
|
||||
- maxim,max7315
|
||||
- nxp,pca6416
|
||||
- nxp,pca9505
|
||||
- nxp,pca9534
|
||||
- nxp,pca9535
|
||||
- nxp,pca9536
|
||||
- nxp,pca9537
|
||||
- nxp,pca9538
|
||||
- nxp,pca9539
|
||||
- nxp,pca9554
|
||||
- nxp,pca9555
|
||||
- nxp,pca9556
|
||||
- nxp,pca9557
|
||||
- nxp,pca9574
|
||||
- nxp,pca9575
|
||||
- nxp,pca9698
|
||||
- nxp,pcal6416
|
||||
- nxp,pcal6524
|
||||
- nxp,pcal9535
|
||||
- nxp,pcal9555a
|
||||
- onnn,cat9554
|
||||
- onnn,pca9654
|
||||
- ti,pca6107
|
||||
- ti,pca9536
|
||||
- ti,tca6408
|
||||
- ti,tca6416
|
||||
- ti,tca6424
|
||||
- ti,tca9539
|
||||
- ti,tca9554
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
gpio-controller: true
|
||||
|
||||
'#gpio-cells':
|
||||
const: 2
|
||||
|
||||
gpio-line-names:
|
||||
minItems: 1
|
||||
maxItems: 32
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
interrupt-controller: true
|
||||
|
||||
'#interrupt-cells':
|
||||
const: 2
|
||||
|
||||
reset-gpios:
|
||||
description:
|
||||
GPIO specification for the RESET input. This is an active low signal to
|
||||
the PCA953x.
|
||||
|
||||
vcc-supply:
|
||||
description:
|
||||
Optional power supply
|
||||
|
||||
wakeup-source:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
|
||||
patternProperties:
|
||||
"^(hog-[0-9]+|.+-hog(-[0-9]+)?)$":
|
||||
type: object
|
||||
properties:
|
||||
gpio-hog: true
|
||||
gpios: true
|
||||
input: true
|
||||
output-high: true
|
||||
output-low: true
|
||||
line-name: true
|
||||
|
||||
required:
|
||||
- gpio-hog
|
||||
- gpios
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- gpio-controller
|
||||
- "#gpio-cells"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
i2c0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
gpio@20 {
|
||||
compatible = "nxp,pca9505";
|
||||
reg = <0x20>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pca9505>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-parent = <&gpio3>;
|
||||
interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
usb3-sata-sel-hog {
|
||||
gpio-hog;
|
||||
gpios = <4 GPIO_ACTIVE_HIGH>;
|
||||
output-low;
|
||||
line-name = "usb3_sata_sel";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
i2c1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
gpio99: gpio@22 {
|
||||
compatible = "nxp,pcal6524";
|
||||
reg = <0x22>;
|
||||
interrupt-parent = <&gpio6>;
|
||||
interrupts = <1 IRQ_TYPE_EDGE_FALLING>; /* gpio6_161 */
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
vcc-supply = <&vdds_1v8_main>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-line-names = "hdmi-ct-hpd", "hdmi.ls-oe", "p02", "p03",
|
||||
"vibra", "fault2", "p06", "p07", "en-usb",
|
||||
"en-host1", "en-host2", "chg-int", "p14", "p15",
|
||||
"mic-int", "en-modem", "shdn-hs-amp",
|
||||
"chg-status+red", "green", "blue", "en-esata",
|
||||
"fault1", "p26", "p27";
|
||||
};
|
||||
|
||||
ts3a227@3b {
|
||||
compatible = "ti,ts3a227e";
|
||||
reg = <0x3b>;
|
||||
interrupt-parent = <&gpio99>;
|
||||
interrupts = <14 IRQ_TYPE_EDGE_RISING>;
|
||||
ti,micbias = <0>; /* 2.1V */
|
||||
};
|
||||
};
|
|
@ -306,10 +306,6 @@ properties:
|
|||
- nuvoton,npct601
|
||||
# Nuvoton Temperature Sensor
|
||||
- nuvoton,w83773g
|
||||
# Octal SMBus and I2C registered interface
|
||||
- nxp,pca9556
|
||||
# 8-bit I2C-bus and SMBus I/O port with reset
|
||||
- nxp,pca9557
|
||||
# OKI ML86V7667 video decoder
|
||||
- oki,ml86v7667
|
||||
# OV5642: Color CMOS QSXGA (5-megapixel) Image Sensor with OmniBSI and Embedded TrueFocus
|
||||
|
|
Loading…
Reference in New Issue