xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/brcm,bcm4908-pinctrl.yaml (revision a8089ea5aee578e08acab2438e82fc9a9ae50ed8)
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    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
54allOf:
55  - $ref: pinctrl.yaml#
56
57required:
58  - compatible
59  - reg
60
61unevaluatedProperties: false
62
63examples:
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    };
74