Skip to content

Commit

Permalink
dt-binding: pinctrl: Add cypress,cy8c95x0
Browse files Browse the repository at this point in the history
Added device tree binding documentation for
Cypress CY8C95x0 I2C pin-controller.

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20220816054917.7893-2-patrick.rudolph@9elements.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
  • Loading branch information
Patrick Rudolph authored and Linus Walleij committed Aug 24, 2022
1 parent 27586b8 commit 8d39e55
Showing 1 changed file with 134 additions and 0 deletions.
134 changes: 134 additions & 0 deletions Documentation/devicetree/bindings/pinctrl/cypress,cy8c95x0.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/cypress,cy8c95x0.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Cypress CY8C95X0 I2C GPIO expander

maintainers:
- Patrick Rudolph <patrick.rudolph@9elements.com>

description: |
This supports the 20/40/60 pin Cypress CYC95x0 GPIO I2C expanders.
Pin function configuration is performed on a per-pin basis.
properties:
compatible:
enum:
- cypress,cy8c9520
- cypress,cy8c9540
- cypress,cy8c9560

reg:
maxItems: 1

gpio-controller: true

'#gpio-cells':
description:
The first cell is the GPIO number and the second cell specifies GPIO
flags, as defined in <dt-bindings/gpio/gpio.h>.
const: 2

interrupts:
maxItems: 1

interrupt-controller: true

'#interrupt-cells':
const: 2

gpio-line-names: true

gpio-ranges:
maxItems: 1

gpio-reserved-ranges:
maxItems: 1

vdd-supply:
description:
Optional power supply.

patternProperties:
'-pins$':
type: object
description:
Pinctrl node's client devices use subnodes for desired pin configuration.
Client device subnodes use below standard properties.
$ref: pincfg-node.yaml#

properties:
pins:
description:
List of gpio pins affected by the properties specified in this
subnode.
items:
pattern: '^gp([0-7][0-7])$'
minItems: 1
maxItems: 60

function:
description:
Specify the alternative function to be configured for the specified
pins.
enum: [ gpio, pwm ]

bias-pull-down: true

bias-pull-up: true

bias-disable: true

output-high: true

output-low: true

drive-push-pull: true

drive-open-drain: true

drive-open-source: true

required:
- pins
- function

additionalProperties: false

required:
- compatible
- reg
- interrupts
- interrupt-controller
- '#interrupt-cells'
- gpio-controller
- '#gpio-cells'

additionalProperties: false

allOf:
- $ref: "pinctrl.yaml#"

examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>
i2c {
#address-cells = <1>;
#size-cells = <0>;
pinctrl@20 {
compatible = "cypress,cy8c9520";
reg = <0x20>;
gpio-controller;
#gpio-cells = <2>;
#interrupt-cells = <2>;
interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
interrupt-controller;
vdd-supply = <&p3v3>;
gpio-reserved-ranges = <5 1>;
};
};

0 comments on commit 8d39e55

Please sign in to comment.