-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dt-bindings: pinctrl: qcom: Add sm8250 lpass lpi pinctrl bindings
Add device tree binding Documentation details for Qualcomm SM8250 LPASS(Low Power Audio Sub System) LPI(Low Power Island) pinctrl driver. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Link: https://lore.kernel.org/r/20201202163443.26499-2-srinivas.kandagatla@linaro.org Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
- Loading branch information
Srinivas Kandagatla
authored and
Linus Walleij
committed
Dec 5, 2020
1 parent
ceb58de
commit 700a511
Showing
1 changed file
with
130 additions
and
0 deletions.
There are no files selected for viewing
130 changes: 130 additions & 0 deletions
130
Documentation/devicetree/bindings/pinctrl/qcom,lpass-lpi-pinctrl.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/pinctrl/qcom,lpass-lpi-pinctrl.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Qualcomm Technologies, Inc. Low Power Audio SubSystem (LPASS) | ||
Low Power Island (LPI) TLMM block | ||
|
||
maintainers: | ||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org> | ||
|
||
description: | | ||
This binding describes the Top Level Mode Multiplexer block found in the | ||
LPASS LPI IP on most Qualcomm SoCs | ||
properties: | ||
compatible: | ||
const: qcom,sm8250-lpass-lpi-pinctrl | ||
|
||
reg: | ||
minItems: 2 | ||
maxItems: 2 | ||
|
||
clocks: | ||
items: | ||
- description: LPASS Core voting clock | ||
- description: LPASS Audio voting clock | ||
|
||
clock-names: | ||
items: | ||
- const: core | ||
- const: audio | ||
|
||
gpio-controller: true | ||
|
||
'#gpio-cells': | ||
description: Specifying the pin number and flags, as defined in | ||
include/dt-bindings/gpio/gpio.h | ||
const: 2 | ||
|
||
gpio-ranges: | ||
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: | ||
oneOf: | ||
- pattern: "^gpio([0-9]|[1-9][0-9])$" | ||
minItems: 1 | ||
maxItems: 14 | ||
|
||
function: | ||
enum: [ gpio, swr_tx_clk, qua_mi2s_sclk, swr_tx_data, qua_mi2s_ws, | ||
qua_mi2s_data, swr_rx_clk, swr_rx_data, dmic1_clk, i2s1_clk, | ||
dmic1_data, i2s1_ws, dmic2_clk, dmic2_data, i2s1_data, | ||
i2s2_clk, wsa_swr_clk, i2s2_ws, wsa_swr_data, dmic3_clk, | ||
dmic3_data, i2s2_data ] | ||
description: | ||
Specify the alternative function to be configured for the specified | ||
pins. | ||
|
||
drive-strength: | ||
enum: [2, 4, 6, 8, 10, 12, 14, 16] | ||
default: 2 | ||
description: | ||
Selects the drive strength for the specified pins, in mA. | ||
|
||
slew-rate: | ||
enum: [0, 1, 2, 3] | ||
default: 0 | ||
description: | | ||
0: No adjustments | ||
1: Higher Slew rate (faster edges) | ||
2: Lower Slew rate (slower edges) | ||
3: Reserved (No adjustments) | ||
bias-pull-down: true | ||
|
||
bias-pull-up: true | ||
|
||
bias-disable: true | ||
|
||
output-high: true | ||
|
||
output-low: true | ||
|
||
required: | ||
- pins | ||
- function | ||
|
||
additionalProperties: false | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- clocks | ||
- clock-names | ||
- gpio-controller | ||
- '#gpio-cells' | ||
- gpio-ranges | ||
|
||
additionalProperties: false | ||
|
||
examples: | ||
- | | ||
#include <dt-bindings/sound/qcom,q6afe.h> | ||
lpi_tlmm: pinctrl@33c0000 { | ||
compatible = "qcom,sm8250-lpass-lpi-pinctrl"; | ||
reg = <0x33c0000 0x20000>, | ||
<0x3550000 0x10000>; | ||
clocks = <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>, | ||
<&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>; | ||
clock-names = "core", "audio"; | ||
gpio-controller; | ||
#gpio-cells = <2>; | ||
gpio-ranges = <&lpi_tlmm 0 0 14>; | ||
}; |