# 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 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>; }; };