mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
dt-bindings: pinctrl: add Ambarella CV75 pinctrl
Document the CV75 pin controller binding using generic function and groups properties for pinmux configuration. Reviewed-by: Linus Walleij <linusw@kernel.org> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Long Zhao <longzhao@ambarella.com> Signed-off-by: Linus Walleij <linusw@kernel.org>
This commit is contained in:
parent
cee9395acd
commit
c1fb14e022
|
|
@ -0,0 +1,237 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/pinctrl/ambarella,cv75-pinctrl.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Ambarella CV75 Pin Controller
|
||||
|
||||
maintainers:
|
||||
- Long Zhao <longzhao@ambarella.com>
|
||||
|
||||
description:
|
||||
The Ambarella CV75 pin controller configures pin multiplexing, bias and
|
||||
drive strength for the main GPIO banks. Pin groups and their mux settings
|
||||
are defined by the pin controller driver and selected by function and group
|
||||
names.
|
||||
|
||||
allOf:
|
||||
- $ref: pinctrl.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: ambarella,cv75-pinctrl
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
description: IOMUX registers
|
||||
|
||||
ambarella,drive-strength-syscon:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: RCT syscon containing the drive-strength registers.
|
||||
|
||||
ambarella,pull-syscon:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: Secure scratchpad syscon containing the pull registers.
|
||||
|
||||
patternProperties:
|
||||
"^[a-z0-9-]+-pins$":
|
||||
type: object
|
||||
allOf:
|
||||
- $ref: pinmux-node.yaml#
|
||||
- $ref: pincfg-node.yaml#
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
function:
|
||||
enum:
|
||||
- can0
|
||||
- can1
|
||||
- dmic0
|
||||
- enet0
|
||||
- hsync0
|
||||
- hsync1
|
||||
- i2c0
|
||||
- i2c1
|
||||
- i2c2
|
||||
- i2c3
|
||||
- i2cs
|
||||
- i2s0
|
||||
- i2s1
|
||||
- ir
|
||||
- pwm0
|
||||
- pwm1
|
||||
- pwm2
|
||||
- pwm3
|
||||
- pwm4
|
||||
- pwm5
|
||||
- pwm6
|
||||
- pwm7
|
||||
- pwm8
|
||||
- pwm9
|
||||
- pwm10
|
||||
- pwm11
|
||||
- sdmmc0
|
||||
- sdmmc1
|
||||
- snand
|
||||
- spi0
|
||||
- spi1
|
||||
- spi2
|
||||
- spi3
|
||||
- spi_slave
|
||||
- spinor
|
||||
- uart0
|
||||
- uart1
|
||||
- uart2
|
||||
- uart3
|
||||
- uart4
|
||||
- vin_master_sync
|
||||
- vsync0
|
||||
- vsync1
|
||||
- vsync2
|
||||
- vsync3
|
||||
- wdt
|
||||
|
||||
groups:
|
||||
items:
|
||||
enum:
|
||||
- can0
|
||||
- can1
|
||||
- dmic0
|
||||
- enet_2nd_ref_clk_a
|
||||
- enet_2nd_ref_clk_b
|
||||
- enet_ext_osc_clk
|
||||
- enet0_ptp_pps_o
|
||||
- hsync0
|
||||
- hsync1
|
||||
- i2c0_a
|
||||
- i2c0_b
|
||||
- i2c1_a
|
||||
- i2c1_b
|
||||
- i2c2
|
||||
- i2c3_a
|
||||
- i2c3_b
|
||||
- i2c3_c
|
||||
- i2cs_a
|
||||
- i2cs_b
|
||||
- i2cs_c
|
||||
- i2cs_d
|
||||
- i2s0
|
||||
- i2s1
|
||||
- ir
|
||||
- pwm0
|
||||
- pwm1
|
||||
- pwm2
|
||||
- pwm3
|
||||
- pwm4_a
|
||||
- pwm4_b
|
||||
- pwm5_a
|
||||
- pwm5_b
|
||||
- pwm6_a
|
||||
- pwm6_b
|
||||
- pwm7_a
|
||||
- pwm7_b
|
||||
- pwm8_a
|
||||
- pwm8_b
|
||||
- pwm9_a
|
||||
- pwm9_b
|
||||
- pwm10_a
|
||||
- pwm10_b
|
||||
- pwm11_a
|
||||
- pwm11_b
|
||||
- rgmii0
|
||||
- rmii0
|
||||
- sdmmc0_1bit
|
||||
- sdmmc0_4bit
|
||||
- sdmmc0_cd
|
||||
- sdmmc0_hs_sel
|
||||
- sdmmc0_reset
|
||||
- sdmmc0_wp
|
||||
- sdmmc1_1bit
|
||||
- sdmmc1_4bit
|
||||
- sdmmc1_cd
|
||||
- sdmmc1_hs_sel
|
||||
- sdmmc1_reset
|
||||
- sdmmc1_wp
|
||||
- snand
|
||||
- spi0
|
||||
- spi1
|
||||
- spi2
|
||||
- spi3_a
|
||||
- spi3_b
|
||||
- spi3_c
|
||||
- spi_slave_a
|
||||
- spi_slave_b
|
||||
- spi_slave_c
|
||||
- spi_slave_d
|
||||
- spi_slave_e
|
||||
- spinor
|
||||
- uart0
|
||||
- uart1
|
||||
- uart1_flow
|
||||
- uart2_a
|
||||
- uart2_b
|
||||
- uart2_c
|
||||
- uart2_flow_a
|
||||
- uart2_flow_b
|
||||
- uart3_a
|
||||
- uart3_b
|
||||
- uart3_flow_a
|
||||
- uart3_flow_b
|
||||
- uart4_a
|
||||
- uart4_b
|
||||
- uart4_flow_a
|
||||
- uart4_flow_b
|
||||
- vin_master_sync_a
|
||||
- vin_master_sync_b
|
||||
- vin_master_sync_c
|
||||
- vin_master_sync_d
|
||||
- vin_master_sync_e
|
||||
- vsync0
|
||||
- vsync1
|
||||
- vsync2
|
||||
- vsync3
|
||||
- wdt_a
|
||||
- wdt_b
|
||||
- wdt_c
|
||||
- wdt_d
|
||||
- wdt_e
|
||||
- wdt_f
|
||||
minItems: 1
|
||||
maxItems: 6
|
||||
uniqueItems: true
|
||||
|
||||
bias-disable: true
|
||||
bias-pull-down: true
|
||||
bias-pull-up: true
|
||||
|
||||
drive-strength:
|
||||
enum: [3, 4, 5, 6, 7, 8, 9, 12]
|
||||
|
||||
required:
|
||||
- function
|
||||
- groups
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- ambarella,drive-strength-syscon
|
||||
- ambarella,pull-syscon
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
pinctrl: pinctrl@e4010000 {
|
||||
compatible = "ambarella,cv75-pinctrl";
|
||||
reg = <0xe4010000 0x1000>;
|
||||
ambarella,drive-strength-syscon = <&rct>;
|
||||
ambarella,pull-syscon = <&scratchpad>;
|
||||
|
||||
uart0-pins {
|
||||
function = "uart0";
|
||||
groups = "uart0";
|
||||
bias-disable;
|
||||
drive-strength = <8>;
|
||||
};
|
||||
};
|
||||
Loading…
Reference in New Issue
Block a user