xref: /linux/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-pinmux.txt (revision 664b0bae0b87f69bc9deb098f5e0158b9cf18e04)
13e16de16SRay JuiBroadcom Cygnus IOMUX Controller
23e16de16SRay Jui
33e16de16SRay JuiThe Cygnus IOMUX controller supports group based mux configuration. In
43e16de16SRay Juiaddition, certain pins can be muxed to GPIO function individually.
53e16de16SRay Jui
63e16de16SRay JuiRequired properties:
73e16de16SRay Jui
83e16de16SRay Jui- compatible:
93e16de16SRay Jui    Must be "brcm,cygnus-pinmux"
103e16de16SRay Jui
113e16de16SRay Jui- reg:
123e16de16SRay Jui    Define the base and range of the I/O address space that contains the Cygnus
133e16de16SRay JuiIOMUX registers
143e16de16SRay Jui
153e16de16SRay JuiProperties in subnodes:
163e16de16SRay Jui
173e16de16SRay Jui- function:
183e16de16SRay Jui    The mux function to select
193e16de16SRay Jui
203e16de16SRay Jui- groups:
213e16de16SRay Jui    The list of groups to select with a given function
223e16de16SRay Jui
233e16de16SRay JuiFor more details, refer to
243e16de16SRay JuiDocumentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
253e16de16SRay Jui
263e16de16SRay JuiFor example:
273e16de16SRay Jui
28*4c9847b7SMathieu Malaterre	pinmux: pinmux@0301d0c8 {
293e16de16SRay Jui		compatible = "brcm,cygnus-pinmux";
303e16de16SRay Jui		reg = <0x0301d0c8 0x1b0>;
313e16de16SRay Jui
323e16de16SRay Jui		pinctrl-names = "default";
333e16de16SRay Jui		pinctrl-0 = <&i2s0_default>;
343e16de16SRay Jui
353e16de16SRay Jui		i2s0_default: i2s0_default {
363e16de16SRay Jui			mux {
373e16de16SRay Jui				function = "i2s0";
383e16de16SRay Jui				groups = "i2s0_0_grp", "i2s0_1_grp";
393e16de16SRay Jui			};
403e16de16SRay Jui		};
413e16de16SRay Jui	};
423e16de16SRay Jui
433e16de16SRay JuiList of supported functions and groups in Cygnus:
443e16de16SRay Jui
453e16de16SRay Jui"i2s0": "i2s0_0_grp", "i2s0_1_grp"
463e16de16SRay Jui
473e16de16SRay Jui"i2s1": "i2s1_0_grp", "i2s1_1_grp"
483e16de16SRay Jui
493e16de16SRay Jui"i2s2": "i2s2_0_grp", "i2s2_1_grp", "i2s2_2_grp", "i2s2_3_grp", "i2s2_4_grp"
503e16de16SRay Jui
513e16de16SRay Jui"spdif": "spdif_grp"
523e16de16SRay Jui
533e16de16SRay Jui"pwm0": "pwm0_grp"
543e16de16SRay Jui
553e16de16SRay Jui"pwm1": "pwm1_grp"
563e16de16SRay Jui
573e16de16SRay Jui"pwm2": "pwm2_grp"
583e16de16SRay Jui
593e16de16SRay Jui"pwm3": "pwm3_grp"
603e16de16SRay Jui
613e16de16SRay Jui"pwm4": "pwm4_grp"
623e16de16SRay Jui
633e16de16SRay Jui"pwm5": "pwm5_grp"
643e16de16SRay Jui
653e16de16SRay Jui"key": "key0_grp", "key1_grp", "key2_grp", "key3_grp", "key4_grp", "key5_grp",
663e16de16SRay Jui"key6_grp", "key7_grp", "key8_grp", "key9_grp", "key10_grp", "key11_grp",
673e16de16SRay Jui"key12_grp", "key13_grp", "key14_grp", "key15_grp"
683e16de16SRay Jui
693e16de16SRay Jui"audio_dte": "audio_dte0_grp", "audio_dte1_grp", "audio_dte2_grp", "audio_dte3_grp"
703e16de16SRay Jui
713e16de16SRay Jui"smart_card0": "smart_card0_grp", "smart_card0_fcb_grp"
723e16de16SRay Jui
733e16de16SRay Jui"smart_card1": "smart_card1_grp", "smart_card1_fcb_grp"
743e16de16SRay Jui
753e16de16SRay Jui"spi0": "spi0_grp"
763e16de16SRay Jui
773e16de16SRay Jui"spi1": "spi1_grp"
783e16de16SRay Jui
793e16de16SRay Jui"spi2": "spi2_grp"
803e16de16SRay Jui
813e16de16SRay Jui"spi3": "spi3_grp"
823e16de16SRay Jui
833e16de16SRay Jui"spi4": "spi4_0_grp", "spi4_1_grp"
843e16de16SRay Jui
853e16de16SRay Jui"spi5": "spi5_grp"
863e16de16SRay Jui
873e16de16SRay Jui"sw_led0": "sw_led0_0_grp", "sw_led0_1_grp"
883e16de16SRay Jui
893e16de16SRay Jui"sw_led1": "sw_led1_grp"
903e16de16SRay Jui
913e16de16SRay Jui"sw_led2": "sw_led2_0_grp", "sw_led2_1_grp"
923e16de16SRay Jui
933e16de16SRay Jui"d1w": "d1w_grp"
943e16de16SRay Jui
953e16de16SRay Jui"lcd": "lcd_grp"
963e16de16SRay Jui
973e16de16SRay Jui"sram": "sram_0_grp", "sram_1_grp"
983e16de16SRay Jui
993e16de16SRay Jui"uart0": "uart0_grp"
1003e16de16SRay Jui
1013e16de16SRay Jui"uart1": "uart1_grp", "uart1_dte_grp"
1023e16de16SRay Jui
1033e16de16SRay Jui"uart2": "uart2_grp"
1043e16de16SRay Jui
1053e16de16SRay Jui"uart3": "uart3_grp"
1063e16de16SRay Jui
1073e16de16SRay Jui"uart4": "uart4_grp"
1083e16de16SRay Jui
1093e16de16SRay Jui"qspi": "qspi_0_grp", "qspi_1_grp"
1103e16de16SRay Jui
1113e16de16SRay Jui"nand": "nand_grp"
1123e16de16SRay Jui
1133e16de16SRay Jui"sdio0": "sdio0_grp", "sdio0_cd_grp", "sdio0_mmc_grp"
1143e16de16SRay Jui
1153e16de16SRay Jui"sdio1": "sdio1_data_0_grp", "sdio1_data_1_grp", "sdio1_cd_grp",
1163e16de16SRay Jui"sdio1_led_grp", "sdio1_mmc_grp"
1173e16de16SRay Jui
1183e16de16SRay Jui"can0": "can0_grp"
1193e16de16SRay Jui
1203e16de16SRay Jui"can1": "can1_grp"
1213e16de16SRay Jui
1223e16de16SRay Jui"cam": "cam_led_grp", "cam_0_grp", "cam_1_grp"
1233e16de16SRay Jui
1243e16de16SRay Jui"bsc1": "bsc1_grp"
1253e16de16SRay Jui
1263e16de16SRay Jui"pcie_clkreq": "pcie_clkreq_grp"
1273e16de16SRay Jui
1283e16de16SRay Jui"usb0_oc": "usb0_oc_grp"
1293e16de16SRay Jui
1303e16de16SRay Jui"usb1_oc": "usb1_oc_grp"
1313e16de16SRay Jui
1323e16de16SRay Jui"usb2_oc": "usb2_oc_grp"
133