mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
dt-bindings: pinctrl: convert semtech,sx150xq bindings to dt-schema
This converts the Semtech SX150Xq bindings to dt-schemas, add necessary bindings documentation to cover all differences between HW variants and current bindings usage. Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20221005-mdm9615-sx1509q-yaml-v3-0-e8b349eb1900@linaro.org Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
committed by
Linus Walleij
parent
06de519345
commit
29c10bcec5
@@ -1,72 +0,0 @@
|
||||
SEMTECH SX150x GPIO expander bindings
|
||||
|
||||
Please refer to pinctrl-bindings.txt, ../gpio/gpio.txt, and
|
||||
../interrupt-controller/interrupts.txt for generic information regarding
|
||||
pin controller, GPIO, and interrupt bindings.
|
||||
|
||||
Required properties:
|
||||
- compatible: should be one of :
|
||||
"semtech,sx1501q",
|
||||
"semtech,sx1502q",
|
||||
"semtech,sx1503q",
|
||||
"semtech,sx1504q",
|
||||
"semtech,sx1505q",
|
||||
"semtech,sx1506q",
|
||||
"semtech,sx1507q",
|
||||
"semtech,sx1508q",
|
||||
"semtech,sx1509q".
|
||||
|
||||
- reg: The I2C slave address for this device.
|
||||
|
||||
- #gpio-cells: Should be 2. The first cell is the GPIO number and the
|
||||
second cell is used to specify optional parameters:
|
||||
bit 0: polarity (0: normal, 1: inverted)
|
||||
|
||||
- gpio-controller: Marks the device as a GPIO controller.
|
||||
|
||||
Optional properties :
|
||||
- interrupts: Interrupt specifier for the controllers interrupt.
|
||||
|
||||
- interrupt-controller: Marks the device as a interrupt controller.
|
||||
|
||||
- semtech,probe-reset: Will trigger a reset of the GPIO expander on probe,
|
||||
only for sx1507q, sx1508q and sx1509q
|
||||
|
||||
The GPIO expander can optionally be used as an interrupt controller, in
|
||||
which case it uses the default two cell specifier.
|
||||
|
||||
Required properties for pin configuration sub-nodes:
|
||||
- pins: List of pins to which the configuration applies.
|
||||
|
||||
Optional properties for pin configuration sub-nodes:
|
||||
----------------------------------------------------
|
||||
- bias-disable: disable any pin bias, except the OSCIO pin
|
||||
- bias-pull-up: pull up the pin, except the OSCIO pin
|
||||
- bias-pull-down: pull down the pin, except the OSCIO pin
|
||||
- bias-pull-pin-default: use pin-default pull state, except the OSCIO pin
|
||||
- drive-push-pull: drive actively high and low
|
||||
- drive-open-drain: drive with open drain only for sx1507q, sx1508q and sx1509q and except the OSCIO pin
|
||||
- output-low: set the pin to output mode with low level
|
||||
- output-high: set the pin to output mode with high level
|
||||
|
||||
Example:
|
||||
|
||||
i2c0gpio-expander@20{
|
||||
#gpio-cells = <2>;
|
||||
#interrupt-cells = <2>;
|
||||
compatible = "semtech,sx1506q";
|
||||
reg = <0x20>;
|
||||
interrupt-parent = <&gpio_1>;
|
||||
interrupts = <16 0>;
|
||||
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gpio1_cfg_pins>;
|
||||
|
||||
gpio1_cfg_pins: gpio1-cfg {
|
||||
pins = "gpio1";
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
208
Documentation/devicetree/bindings/pinctrl/semtech,sx1501q.yaml
Normal file
208
Documentation/devicetree/bindings/pinctrl/semtech,sx1501q.yaml
Normal file
@@ -0,0 +1,208 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
# Copyright 2022 Linaro Ltd.
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/pinctrl/semtech,sx1501q.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Semtech SX150x GPIO expander
|
||||
|
||||
maintainers:
|
||||
- Neil Armstrong <neil.armstrong@linaro.org>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- semtech,sx1501q
|
||||
- semtech,sx1502q
|
||||
- semtech,sx1503q
|
||||
- semtech,sx1504q
|
||||
- semtech,sx1505q
|
||||
- semtech,sx1506q
|
||||
- semtech,sx1507q
|
||||
- semtech,sx1508q
|
||||
- semtech,sx1509q
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
'#interrupt-cells':
|
||||
const: 2
|
||||
|
||||
interrupt-controller: true
|
||||
|
||||
'#gpio-cells':
|
||||
const: 2
|
||||
|
||||
gpio-controller: true
|
||||
|
||||
semtech,probe-reset:
|
||||
description: Will trigger a reset of the GPIO expander on probe
|
||||
type: boolean
|
||||
|
||||
patternProperties:
|
||||
'-cfg$':
|
||||
type: object
|
||||
properties:
|
||||
pins: true
|
||||
|
||||
bias-disable: true
|
||||
bias-pull-up: true
|
||||
bias-pull-down: true
|
||||
bias-pull-pin-default: true
|
||||
drive-push-pull: true
|
||||
output-low: true
|
||||
output-high: true
|
||||
drive-open-drain: true
|
||||
|
||||
required:
|
||||
- pins
|
||||
|
||||
allOf:
|
||||
- $ref: "pincfg-node.yaml#"
|
||||
- $ref: "pinmux-node.yaml#"
|
||||
- if:
|
||||
properties:
|
||||
pins:
|
||||
contains:
|
||||
const: oscio
|
||||
then:
|
||||
properties:
|
||||
bias-disable: false
|
||||
bias-pull-up: false
|
||||
bias-pull-down: false
|
||||
bias-pull-pin-default: false
|
||||
drive-open-drain: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- '#gpio-cells'
|
||||
- gpio-controller
|
||||
|
||||
allOf:
|
||||
- $ref: "pinctrl.yaml#"
|
||||
- if:
|
||||
not:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- semtech,sx1507q
|
||||
- semtech,sx1508q
|
||||
- semtech,sx1509q
|
||||
then:
|
||||
properties:
|
||||
semtech,probe-reset: false
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- semtech,sx1501q
|
||||
- semtech,sx1504q
|
||||
then:
|
||||
patternProperties:
|
||||
'-cfg$':
|
||||
properties:
|
||||
pins:
|
||||
items:
|
||||
pattern: '^gpio[0-3]$'
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- semtech,sx1502q
|
||||
- semtech,sx1505q
|
||||
then:
|
||||
patternProperties:
|
||||
'-cfg$':
|
||||
properties:
|
||||
pins:
|
||||
items:
|
||||
pattern: '^gpio[0-7]$'
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- semtech,sx1503q
|
||||
- semtech,sx1506q
|
||||
then:
|
||||
patternProperties:
|
||||
'-cfg$':
|
||||
properties:
|
||||
pins:
|
||||
items:
|
||||
pattern: '^gpio[0-15]$'
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: semtech,sx1507q
|
||||
then:
|
||||
patternProperties:
|
||||
'-cfg$':
|
||||
properties:
|
||||
pins:
|
||||
items:
|
||||
pattern: '^(oscio|gpio[0-3])$'
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: semtech,sx1508q
|
||||
then:
|
||||
patternProperties:
|
||||
'-cfg$':
|
||||
properties:
|
||||
pins:
|
||||
items:
|
||||
pattern: '^(oscio|gpio[0-7])$'
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: semtech,sx1509q
|
||||
then:
|
||||
patternProperties:
|
||||
'-cfg$':
|
||||
properties:
|
||||
pins:
|
||||
items:
|
||||
pattern: '^(oscio|gpio[0-15])$'
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
i2c@1000 {
|
||||
reg = <0x1000 0x80>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pinctrl@20 {
|
||||
compatible = "semtech,sx1501q";
|
||||
reg = <0x20>;
|
||||
|
||||
#gpio-cells = <2>;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
|
||||
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
|
||||
gpio1-cfg {
|
||||
pins = "gpio1";
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user