Skip to content

Commit

Permalink
ASoC: dt-bindings: cs35l45: GPIOs configuration
Browse files Browse the repository at this point in the history
This adds description of CS35L45 GPIOs configuration.

Signed-off-by: Vlad Karpovich <vkarpovi@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230315154722.3911463-2-vkarpovi@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
  • Loading branch information
Vlad.Karpovich authored and Mark Brown committed Mar 21, 2023
1 parent fa8c052 commit c6cec08
Showing 1 changed file with 78 additions and 0 deletions.
78 changes: 78 additions & 0 deletions Documentation/devicetree/bindings/sound/cirrus,cs35l45.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,74 @@ properties:
maximum: 3
default: 2

patternProperties:
"^cirrus,gpio-ctrl[1-3]$":
description:
GPIO pins configuration.
type: object
additionalProperties: false
properties:
gpio-dir:
description:
GPIO pin direction. Valid only when 'gpio-ctrl' is 1
0 = Output
1 = Input
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0
maximum: 1
default: 1
gpio-lvl:
description:
GPIO level. Valid only when 'gpio-ctrl' is 1 and 'gpio-dir' is 0
0 = Low
1 = High
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0
maximum: 1
default: 0
gpio-op-cfg:
description:
GPIO level. Valid only when 'gpio-ctrl' is 1 and 'gpio-dir' is 0
0 = CMOS
1 = Open Drain
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0
maximum: 1
default: 0
gpio-pol:
description:
GPIO output polarity select. Valid only when 'gpio-ctrl' is 1
and 'gpio-dir' is 0
0 = Non-inverted, Active High
1 = Inverted, Active Low
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0
maximum: 1
default: 0
gpio-ctrl:
description:
Defines the function of the GPIO pin.
GPIO1
0 = High impedance input
1 = Pin acts as a GPIO, direction controlled by 'gpio-dir'
2 = Pin acts as MDSYNC, direction controlled by MDSYNC
3-7 = Reserved
GPIO2
0 = High impedance input
1 = Pin acts as a GPIO, direction controlled by 'gpio-dir'
2 = Pin acts as open drain INT
3 = Reserved
4 = Pin acts as push-pull output INT. Active low.
5 = Pin acts as push-pull output INT. Active high.
6,7 = Reserved
GPIO3
0 = High impedance input
1 = Pin acts as a GPIO, direction controlled by 'gpio-dir'
2-7 = Reserved
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0
maximum: 7
default: 0
required:
- compatible
- reg
Expand All @@ -74,5 +142,15 @@ examples:
reset-gpios = <&gpio 110 0>;
cirrus,asp-sdout-hiz-ctrl = <(CS35L45_ASP_TX_HIZ_UNUSED |
CS35L45_ASP_TX_HIZ_DISABLED)>;
cirrus,gpio-ctrl1 {
gpio-ctrl = <0x2>;
};
cirrus,gpio-ctrl2 {
gpio-ctrl = <0x2>;
};
cirrus,gpio-ctrl3 {
gpio-ctrl = <0x1>;
gpio-dir = <0x1>;
};
};
};

0 comments on commit c6cec08

Please sign in to comment.