1*5aad0db1SChristian RuppertAbilis Systems TB10x pin controller 2*5aad0db1SChristian Ruppert=================================== 3*5aad0db1SChristian Ruppert 4*5aad0db1SChristian RuppertRequired properties 5*5aad0db1SChristian Ruppert------------------- 6*5aad0db1SChristian Ruppert 7*5aad0db1SChristian Ruppert- compatible: should be "abilis,tb10x-iomux"; 8*5aad0db1SChristian Ruppert- reg: should contain the physical address and size of the pin controller's 9*5aad0db1SChristian Ruppert register range. 10*5aad0db1SChristian Ruppert 11*5aad0db1SChristian Ruppert 12*5aad0db1SChristian RuppertFunction definitions 13*5aad0db1SChristian Ruppert-------------------- 14*5aad0db1SChristian Ruppert 15*5aad0db1SChristian RuppertFunctions are defined (and referenced) by sub-nodes of the pin controller. 16*5aad0db1SChristian RuppertEvery sub-node defines exactly one function (implying a set of pins). 17*5aad0db1SChristian RuppertEvery function is associated to one named pin group inside the pin controller 18*5aad0db1SChristian Ruppertdriver and these names are used to associate pin group predefinitions to pin 19*5aad0db1SChristian Ruppertcontroller sub-nodes. 20*5aad0db1SChristian Ruppert 21*5aad0db1SChristian RuppertRequired function definition subnode properties: 22*5aad0db1SChristian Ruppert - abilis,function: should be set to the name of the function's pin group. 23*5aad0db1SChristian Ruppert 24*5aad0db1SChristian RuppertThe following pin groups are available: 25*5aad0db1SChristian Ruppert - GPIO ports: gpioa, gpiob, gpioc, gpiod, gpioe, gpiof, gpiog, 26*5aad0db1SChristian Ruppert gpioh, gpioi, gpioj, gpiok, gpiol, gpiom, gpion 27*5aad0db1SChristian Ruppert - Serial TS input ports: mis0, mis1, mis2, mis3, mis4, mis5, mis6, mis7 28*5aad0db1SChristian Ruppert - Parallel TS input ports: mip1, mip3, mip5, mip7 29*5aad0db1SChristian Ruppert - Serial TS output ports: mos0, mos1, mos2, mos3 30*5aad0db1SChristian Ruppert - Parallel TS output port: mop 31*5aad0db1SChristian Ruppert - CI+ port: ciplus 32*5aad0db1SChristian Ruppert - CableCard (Mcard) port: mcard 33*5aad0db1SChristian Ruppert - Smart card ports: stc0, stc1 34*5aad0db1SChristian Ruppert - UART ports: uart0, uart1 35*5aad0db1SChristian Ruppert - SPI ports: spi1, spi3 36*5aad0db1SChristian Ruppert - JTAG: jtag 37*5aad0db1SChristian Ruppert 38*5aad0db1SChristian RuppertAll other ports of the chip are not multiplexed and thus not managed by this 39*5aad0db1SChristian Ruppertdriver. 40*5aad0db1SChristian Ruppert 41*5aad0db1SChristian Ruppert 42*5aad0db1SChristian RuppertGPIO ranges definition 43*5aad0db1SChristian Ruppert---------------------- 44*5aad0db1SChristian Ruppert 45*5aad0db1SChristian RuppertThe named pin groups of GPIO ports can be used to define GPIO ranges as 46*5aad0db1SChristian Ruppertexplained in Documentation/devicetree/bindings/gpio/gpio.txt. 47*5aad0db1SChristian Ruppert 48*5aad0db1SChristian Ruppert 49*5aad0db1SChristian RuppertExample 50*5aad0db1SChristian Ruppert------- 51*5aad0db1SChristian Ruppert 52*5aad0db1SChristian Ruppertiomux: iomux@FF10601c { 53*5aad0db1SChristian Ruppert compatible = "abilis,tb10x-iomux"; 54*5aad0db1SChristian Ruppert reg = <0xFF10601c 0x4>; 55*5aad0db1SChristian Ruppert pctl_gpio_a: pctl-gpio-a { 56*5aad0db1SChristian Ruppert abilis,function = "gpioa"; 57*5aad0db1SChristian Ruppert }; 58*5aad0db1SChristian Ruppert pctl_uart0: pctl-uart0 { 59*5aad0db1SChristian Ruppert abilis,function = "uart0"; 60*5aad0db1SChristian Ruppert }; 61*5aad0db1SChristian Ruppert}; 62*5aad0db1SChristian Ruppertuart@FF100000 { 63*5aad0db1SChristian Ruppert compatible = "snps,dw-apb-uart"; 64*5aad0db1SChristian Ruppert reg = <0xFF100000 0x100>; 65*5aad0db1SChristian Ruppert clock-frequency = <166666666>; 66*5aad0db1SChristian Ruppert interrupts = <25 1>; 67*5aad0db1SChristian Ruppert reg-shift = <2>; 68*5aad0db1SChristian Ruppert reg-io-width = <4>; 69*5aad0db1SChristian Ruppert pinctrl-names = "default"; 70*5aad0db1SChristian Ruppert pinctrl-0 = <&pctl_uart0>; 71*5aad0db1SChristian Ruppert}; 72*5aad0db1SChristian Ruppertgpioa: gpio@FF140000 { 73*5aad0db1SChristian Ruppert compatible = "abilis,tb10x-gpio"; 74*5aad0db1SChristian Ruppert reg = <0xFF140000 0x1000>; 75*5aad0db1SChristian Ruppert gpio-controller; 76*5aad0db1SChristian Ruppert #gpio-cells = <2>; 77*5aad0db1SChristian Ruppert ngpio = <3>; 78*5aad0db1SChristian Ruppert gpio-ranges = <&iomux 0 0>; 79*5aad0db1SChristian Ruppert gpio-ranges-group-names = "gpioa"; 80*5aad0db1SChristian Ruppert}; 81