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