blob: 4fa9539070cb0df9e0beb76252c7a557c5e72353 [file] [log] [blame]
Rafał Miłecki3f9f82b2018-09-26 21:31:02 +02001Broadcom Northstar pins mux controller
2
3Some of Northstar SoCs's pins can be used for various purposes thanks to the mux
4controller. This binding allows describing mux controller and listing available
5functions. They can be referenced later by other bindings to let system
6configure controller correctly.
7
8A list of pins varies across chipsets so few bindings are available.
9
10Required properties:
11- compatible: must be one of:
12 "brcm,bcm4708-pinmux"
13 "brcm,bcm4709-pinmux"
14 "brcm,bcm53012-pinmux"
15- reg: iomem address range of CRU (Central Resource Unit) pin registers
16- reg-names: "cru_gpio_control" - the only needed & supported reg right now
17
18Functions and their groups available for all chipsets:
19- "spi": "spi_grp"
20- "i2c": "i2c_grp"
21- "pwm": "pwm0_grp", "pwm1_grp", "pwm2_grp", "pwm3_grp"
22- "uart1": "uart1_grp"
23
24Additionally available on BCM4709 and BCM53012:
25- "mdio": "mdio_grp"
26- "uart2": "uart2_grp"
27- "sdio": "sdio_pwr_grp", "sdio_1p8v_grp"
28
29For documentation of subnodes see:
30Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
31
32Example:
Rafał Miłecki93d39732018-10-15 11:30:13 +020033 dmu@1800c000 {
34 compatible = "simple-bus";
35 ranges = <0 0x1800c000 0x1000>;
36 #address-cells = <1>;
37 #size-cells = <1>;
Rafał Miłecki3f9f82b2018-09-26 21:31:02 +020038
Rafał Miłecki93d39732018-10-15 11:30:13 +020039 cru@100 {
40 compatible = "simple-bus";
41 reg = <0x100 0x1a4>;
42 ranges;
43 #address-cells = <1>;
44 #size-cells = <1>;
45
46 pin-controller@1c0 {
47 compatible = "brcm,bcm4708-pinmux";
48 reg = <0x1c0 0x24>;
49 reg-names = "cru_gpio_control";
50
51 spi-pins {
52 function = "spi";
53 groups = "spi_grp";
54 };
55 };
Rafał Miłecki3f9f82b2018-09-26 21:31:02 +020056 };
57 };