If the drive-strength isn't specified in the device tree then it doesn't actually default to 2. Instead, it defaults to whatever the heck the BIOS left it at. If the BIOS doesn't touch it then that means it's whatever the heck the initial state of the pin was when the SoC booted. Reported-by: Matthias Kaehlcke <mka@chromium.org> Signed-off-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Matthias Kaehlcke <mka@chromium.org> Reviewed-by: Stephen Boyd <swboyd@chromium.org> Link: https://lore.kernel.org/r/20220111140519.1.Ie2662d6289af1e9758b14b37149703c846d5f509@changeid Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
88 lines
2.1 KiB
YAML
88 lines
2.1 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/pinctrl/qcom,tlmm-common.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Qualcomm Technologies, Inc. Top Level Mode Multiplexer (TLMM) definitions
|
|
|
|
maintainers:
|
|
- Bjorn Andersson <bjorn.andersson@linaro.org>
|
|
|
|
description:
|
|
This defines the common properties used to describe all Qualcomm Top Level
|
|
Mode Multiplexer bindings and pinconf/pinmux states for these.
|
|
|
|
properties:
|
|
interrupts:
|
|
description:
|
|
Specifies the TLMM summary IRQ
|
|
maxItems: 1
|
|
|
|
interrupt-controller: true
|
|
|
|
'#interrupt-cells':
|
|
description:
|
|
Specifies the PIN numbers and Flags, as defined in defined in
|
|
include/dt-bindings/interrupt-controller/irq.h
|
|
const: 2
|
|
|
|
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
|
|
|
|
wakeup-parent:
|
|
description:
|
|
Specifying the interrupt-controller used to wake up the system when the
|
|
TLMM block has been powered down.
|
|
maxItems: 1
|
|
|
|
gpio-reserved-ranges:
|
|
description:
|
|
Pins can be reserved for trusted applications and thereby unaccessible
|
|
from the OS. This property can be used to mark the pins which resources
|
|
should not be accessed by the OS. Please see the ../gpio/gpio.txt for more
|
|
information.
|
|
|
|
allOf:
|
|
- $ref: "pinctrl.yaml#"
|
|
|
|
required:
|
|
- interrupts
|
|
- interrupt-controller
|
|
- '#interrupt-cells'
|
|
- gpio-controller
|
|
- '#gpio-cells'
|
|
- gpio-ranges
|
|
|
|
additionalProperties: true
|
|
|
|
$defs:
|
|
qcom-tlmm-state:
|
|
allOf:
|
|
- $ref: pincfg-node.yaml#
|
|
- $ref: pinmux-node.yaml#
|
|
|
|
properties:
|
|
drive-strength:
|
|
enum: [2, 4, 6, 8, 10, 12, 14, 16]
|
|
description:
|
|
Selects the drive strength for the specified pins, in mA.
|
|
|
|
bias-pull-down: true
|
|
bias-pull-up: true
|
|
bias-disable: true
|
|
input-enable: true
|
|
output-high: true
|
|
output-low: true
|
|
|
|
additionalProperties: true
|
|
...
|