xref: /openbmc/linux/Documentation/devicetree/bindings/pinctrl/abilis,tb10x-iomux.txt (revision 552c69b36ebd966186573b9c7a286b390935cce1)
15aad0db1SChristian RuppertAbilis Systems TB10x pin controller
25aad0db1SChristian Ruppert===================================
35aad0db1SChristian Ruppert
45aad0db1SChristian RuppertRequired properties
55aad0db1SChristian Ruppert-------------------
65aad0db1SChristian Ruppert
75aad0db1SChristian Ruppert- compatible: should be "abilis,tb10x-iomux";
85aad0db1SChristian Ruppert- reg: should contain the physical address and size of the pin controller's
95aad0db1SChristian Ruppert  register range.
105aad0db1SChristian Ruppert
115aad0db1SChristian Ruppert
125aad0db1SChristian RuppertFunction definitions
135aad0db1SChristian Ruppert--------------------
145aad0db1SChristian Ruppert
155aad0db1SChristian RuppertFunctions are defined (and referenced) by sub-nodes of the pin controller.
165aad0db1SChristian RuppertEvery sub-node defines exactly one function (implying a set of pins).
175aad0db1SChristian RuppertEvery function is associated to one named pin group inside the pin controller
185aad0db1SChristian Ruppertdriver and these names are used to associate pin group predefinitions to pin
195aad0db1SChristian Ruppertcontroller sub-nodes.
205aad0db1SChristian Ruppert
215aad0db1SChristian RuppertRequired function definition subnode properties:
225aad0db1SChristian Ruppert  - abilis,function: should be set to the name of the function's pin group.
235aad0db1SChristian Ruppert
245aad0db1SChristian RuppertThe following pin groups are available:
255aad0db1SChristian Ruppert  - GPIO ports: gpioa, gpiob, gpioc, gpiod, gpioe, gpiof, gpiog,
265aad0db1SChristian Ruppert                gpioh, gpioi, gpioj, gpiok, gpiol, gpiom, gpion
275aad0db1SChristian Ruppert  - Serial TS input ports: mis0, mis1, mis2, mis3, mis4, mis5, mis6, mis7
285aad0db1SChristian Ruppert  - Parallel TS input ports: mip1, mip3, mip5, mip7
295aad0db1SChristian Ruppert  - Serial TS output ports: mos0, mos1, mos2, mos3
305aad0db1SChristian Ruppert  - Parallel TS output port: mop
315aad0db1SChristian Ruppert  - CI+ port: ciplus
325aad0db1SChristian Ruppert  - CableCard (Mcard) port: mcard
335aad0db1SChristian Ruppert  - Smart card ports: stc0, stc1
345aad0db1SChristian Ruppert  - UART ports: uart0, uart1
355aad0db1SChristian Ruppert  - SPI ports: spi1, spi3
365aad0db1SChristian Ruppert  - JTAG: jtag
375aad0db1SChristian Ruppert
385aad0db1SChristian RuppertAll other ports of the chip are not multiplexed and thus not managed by this
395aad0db1SChristian Ruppertdriver.
405aad0db1SChristian Ruppert
415aad0db1SChristian Ruppert
425aad0db1SChristian RuppertGPIO ranges definition
435aad0db1SChristian Ruppert----------------------
445aad0db1SChristian Ruppert
455aad0db1SChristian RuppertThe named pin groups of GPIO ports can be used to define GPIO ranges as
465aad0db1SChristian Ruppertexplained in Documentation/devicetree/bindings/gpio/gpio.txt.
475aad0db1SChristian Ruppert
485aad0db1SChristian Ruppert
495aad0db1SChristian RuppertExample
505aad0db1SChristian Ruppert-------
515aad0db1SChristian Ruppert
52*afc3bca4SRob Herringiomux: iomux@ff10601c {
535aad0db1SChristian Ruppert	compatible = "abilis,tb10x-iomux";
545aad0db1SChristian Ruppert	reg = <0xFF10601c 0x4>;
555aad0db1SChristian Ruppert	pctl_gpio_a: pctl-gpio-a {
565aad0db1SChristian Ruppert		abilis,function = "gpioa";
575aad0db1SChristian Ruppert	};
585aad0db1SChristian Ruppert	pctl_uart0: pctl-uart0 {
595aad0db1SChristian Ruppert		abilis,function = "uart0";
605aad0db1SChristian Ruppert	};
615aad0db1SChristian Ruppert};
62*afc3bca4SRob Herringuart@ff100000 {
635aad0db1SChristian Ruppert	compatible = "snps,dw-apb-uart";
645aad0db1SChristian Ruppert	reg = <0xFF100000 0x100>;
655aad0db1SChristian Ruppert	clock-frequency = <166666666>;
665aad0db1SChristian Ruppert	interrupts = <25 1>;
675aad0db1SChristian Ruppert	reg-shift = <2>;
685aad0db1SChristian Ruppert	reg-io-width = <4>;
695aad0db1SChristian Ruppert	pinctrl-names = "default";
705aad0db1SChristian Ruppert	pinctrl-0 = <&pctl_uart0>;
715aad0db1SChristian Ruppert};
72*afc3bca4SRob Herringgpioa: gpio@ff140000 {
735aad0db1SChristian Ruppert	compatible = "abilis,tb10x-gpio";
745aad0db1SChristian Ruppert	reg = <0xFF140000 0x1000>;
755aad0db1SChristian Ruppert	gpio-controller;
765aad0db1SChristian Ruppert	#gpio-cells = <2>;
775aad0db1SChristian Ruppert	ngpio = <3>;
785aad0db1SChristian Ruppert	gpio-ranges = <&iomux 0 0>;
795aad0db1SChristian Ruppert	gpio-ranges-group-names = "gpioa";
805aad0db1SChristian Ruppert};
81