abilis,tb10x-iomux.txt 2.2 KB

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