18c2ecf20Sopenharmony_ciBroadcom Northstar pins mux controller
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciSome of Northstar SoCs's pins can be used for various purposes thanks to the mux
48c2ecf20Sopenharmony_cicontroller. This binding allows describing mux controller and listing available
58c2ecf20Sopenharmony_cifunctions. They can be referenced later by other bindings to let system
68c2ecf20Sopenharmony_ciconfigure controller correctly.
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ciA list of pins varies across chipsets so few bindings are available.
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ciNode of the pinmux must be nested in the CRU (Central Resource Unit) "syscon"
118c2ecf20Sopenharmony_cinoce.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciRequired properties:
148c2ecf20Sopenharmony_ci- compatible: must be one of:
158c2ecf20Sopenharmony_ci	"brcm,bcm4708-pinmux"
168c2ecf20Sopenharmony_ci	"brcm,bcm4709-pinmux"
178c2ecf20Sopenharmony_ci	"brcm,bcm53012-pinmux"
188c2ecf20Sopenharmony_ci- offset: offset of pin registers in the CRU block
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciFunctions and their groups available for all chipsets:
218c2ecf20Sopenharmony_ci- "spi": "spi_grp"
228c2ecf20Sopenharmony_ci- "i2c": "i2c_grp"
238c2ecf20Sopenharmony_ci- "pwm": "pwm0_grp", "pwm1_grp", "pwm2_grp", "pwm3_grp"
248c2ecf20Sopenharmony_ci- "uart1": "uart1_grp"
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ciAdditionally available on BCM4709 and BCM53012:
278c2ecf20Sopenharmony_ci- "mdio": "mdio_grp"
288c2ecf20Sopenharmony_ci- "uart2": "uart2_grp"
298c2ecf20Sopenharmony_ci- "sdio": "sdio_pwr_grp", "sdio_1p8v_grp"
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ciFor documentation of subnodes see:
328c2ecf20Sopenharmony_ciDocumentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ciExample:
358c2ecf20Sopenharmony_ci	dmu@1800c000 {
368c2ecf20Sopenharmony_ci		compatible = "simple-bus";
378c2ecf20Sopenharmony_ci		ranges = <0 0x1800c000 0x1000>;
388c2ecf20Sopenharmony_ci		#address-cells = <1>;
398c2ecf20Sopenharmony_ci		#size-cells = <1>;
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci		cru@100 {
428c2ecf20Sopenharmony_ci			compatible = "syscon", "simple-mfd";
438c2ecf20Sopenharmony_ci			reg = <0x100 0x1a4>;
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci			pinctrl {
468c2ecf20Sopenharmony_ci				compatible = "brcm,bcm4708-pinmux";
478c2ecf20Sopenharmony_ci				offset = <0xc0>;
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci				spi-pins {
508c2ecf20Sopenharmony_ci					function = "spi";
518c2ecf20Sopenharmony_ci					groups = "spi_grp";
528c2ecf20Sopenharmony_ci				};
538c2ecf20Sopenharmony_ci			};
548c2ecf20Sopenharmony_ci		};
558c2ecf20Sopenharmony_ci	};
56