xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/brcm,bcm4908-pinctrl.yaml (revision d5b0e70f7e04d971691517ce1304d86a1e367e2e)
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/pinctrl/brcm,bcm4908-pinctrl.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Broadcom BCM4908 pin controller
8
9maintainers:
10  - Rafał Miłecki <rafal@milecki.pl>
11
12description:
13  Binding for pin controller present on BCM4908 family SoCs.
14
15properties:
16  compatible:
17    const: brcm,bcm4908-pinctrl
18
19  reg:
20    maxItems: 1
21
22patternProperties:
23  '-pins$':
24    type: object
25    $ref: pinmux-node.yaml#
26
27    properties:
28      function:
29        enum: [ led_0, led_1, led_2, led_3, led_4, led_5, led_6, led_7, led_8,
30                led_9, led_10, led_11, led_12, led_13, led_14, led_15, led_16,
31                led_17, led_18, led_19, led_20, led_21, led_22, led_23, led_24,
32                led_25, led_26, led_27, led_28, led_29, led_30, led_31,
33                hs_uart, i2c, i2s, nand_ctrl, nand_data, emmc_ctrl, usb0_pwr,
34                usb1_pwr ]
35
36      groups:
37        minItems: 1
38        maxItems: 2
39        items:
40          enum: [ led_0_grp_a, led_1_grp_a, led_2_grp_a, led_3_grp_a,
41                  led_4_grp_a, led_5_grp_a, led_6_grp_a, led_7_grp_a,
42                  led_8_grp_a, led_9_grp_a, led_10_grp_a, led_10_grp_b,
43                  led_11_grp_a, led_11_grp_b, led_12_grp_a, led_12_grp_b,
44                  led_13_grp_a, led_13_grp_b, led_14_grp_a, led_15_grp_a,
45                  led_16_grp_a, led_17_grp_a, led_18_grp_a, led_19_grp_a,
46                  led_20_grp_a, led_21_grp_a, led_22_grp_a, led_23_grp_a,
47                  led_24_grp_a, led_25_grp_a, led_26_grp_a, led_27_grp_a,
48                  led_28_grp_a, led_29_grp_a, led_30_grp_a, led_31_grp_a,
49                  led_31_grp_b, hs_uart_grp, i2c_grp_a, i2c_grp_b, i2s_grp,
50                  nand_ctrl_grp, nand_data_grp, emmc_ctrl_grp, usb0_pwr_grp,
51                  usb1_pwr_grp ]
52
53allOf:
54  - $ref: pinctrl.yaml#
55
56required:
57  - compatible
58  - reg
59
60unevaluatedProperties: false
61
62examples:
63  - |
64    pinctrl@ff800560 {
65        compatible = "brcm,bcm4908-pinctrl";
66        reg = <0xff800560 0x10>;
67
68        led_0-a-pins {
69            function = "led_0";
70            groups = "led_0_grp_a";
71        };
72    };
73