1*4882a593SmuzhiyunBroadcom Northstar pins mux controller 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunSome of Northstar SoCs's pins can be used for various purposes thanks to the mux 4*4882a593Smuzhiyuncontroller. This binding allows describing mux controller and listing available 5*4882a593Smuzhiyunfunctions. They can be referenced later by other bindings to let system 6*4882a593Smuzhiyunconfigure controller correctly. 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunA list of pins varies across chipsets so few bindings are available. 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunNode of the pinmux must be nested in the CRU (Central Resource Unit) "syscon" 11*4882a593Smuzhiyunnoce. 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunRequired properties: 14*4882a593Smuzhiyun- compatible: must be one of: 15*4882a593Smuzhiyun "brcm,bcm4708-pinmux" 16*4882a593Smuzhiyun "brcm,bcm4709-pinmux" 17*4882a593Smuzhiyun "brcm,bcm53012-pinmux" 18*4882a593Smuzhiyun- offset: offset of pin registers in the CRU block 19*4882a593Smuzhiyun 20*4882a593SmuzhiyunFunctions and their groups available for all chipsets: 21*4882a593Smuzhiyun- "spi": "spi_grp" 22*4882a593Smuzhiyun- "i2c": "i2c_grp" 23*4882a593Smuzhiyun- "pwm": "pwm0_grp", "pwm1_grp", "pwm2_grp", "pwm3_grp" 24*4882a593Smuzhiyun- "uart1": "uart1_grp" 25*4882a593Smuzhiyun 26*4882a593SmuzhiyunAdditionally available on BCM4709 and BCM53012: 27*4882a593Smuzhiyun- "mdio": "mdio_grp" 28*4882a593Smuzhiyun- "uart2": "uart2_grp" 29*4882a593Smuzhiyun- "sdio": "sdio_pwr_grp", "sdio_1p8v_grp" 30*4882a593Smuzhiyun 31*4882a593SmuzhiyunFor documentation of subnodes see: 32*4882a593SmuzhiyunDocumentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt 33*4882a593Smuzhiyun 34*4882a593SmuzhiyunExample: 35*4882a593Smuzhiyun dmu@1800c000 { 36*4882a593Smuzhiyun compatible = "simple-bus"; 37*4882a593Smuzhiyun ranges = <0 0x1800c000 0x1000>; 38*4882a593Smuzhiyun #address-cells = <1>; 39*4882a593Smuzhiyun #size-cells = <1>; 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun cru@100 { 42*4882a593Smuzhiyun compatible = "syscon", "simple-mfd"; 43*4882a593Smuzhiyun reg = <0x100 0x1a4>; 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun pinctrl { 46*4882a593Smuzhiyun compatible = "brcm,bcm4708-pinmux"; 47*4882a593Smuzhiyun offset = <0xc0>; 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun spi-pins { 50*4882a593Smuzhiyun function = "spi"; 51*4882a593Smuzhiyun groups = "spi_grp"; 52*4882a593Smuzhiyun }; 53*4882a593Smuzhiyun }; 54*4882a593Smuzhiyun }; 55*4882a593Smuzhiyun }; 56