1c66ec88fSEmmanuel VadotQualcomm Atheros IPQ4019 TLMM block 2c66ec88fSEmmanuel Vadot 3c66ec88fSEmmanuel VadotThis is the Top Level Mode Multiplexor block found on the Qualcomm IPQ8019 4c66ec88fSEmmanuel Vadotplatform, it provides pinctrl, pinmux, pinconf, and gpiolib facilities. 5c66ec88fSEmmanuel Vadot 6c66ec88fSEmmanuel VadotRequired properties: 7c66ec88fSEmmanuel Vadot- compatible: "qcom,ipq4019-pinctrl" 8c66ec88fSEmmanuel Vadot- reg: Should be the base address and length of the TLMM block. 9c66ec88fSEmmanuel Vadot- interrupts: Should be the parent IRQ of the TLMM block. 10c66ec88fSEmmanuel Vadot- interrupt-controller: Marks the device node as an interrupt controller. 11c66ec88fSEmmanuel Vadot- #interrupt-cells: Should be two. 12c66ec88fSEmmanuel Vadot- gpio-controller: Marks the device node as a GPIO controller. 13c66ec88fSEmmanuel Vadot- #gpio-cells : Should be two. 14c66ec88fSEmmanuel Vadot The first cell is the gpio pin number and the 15c66ec88fSEmmanuel Vadot second cell is used for optional parameters. 16c66ec88fSEmmanuel Vadot- gpio-ranges: see ../gpio/gpio.txt 17c66ec88fSEmmanuel Vadot 18c66ec88fSEmmanuel VadotOptional properties: 19c66ec88fSEmmanuel Vadot 20c66ec88fSEmmanuel Vadot- gpio-reserved-ranges: see ../gpio/gpio.txt 21c66ec88fSEmmanuel Vadot 22c66ec88fSEmmanuel VadotPlease refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for 23c66ec88fSEmmanuel Vadota general description of GPIO and interrupt bindings. 24c66ec88fSEmmanuel Vadot 25c66ec88fSEmmanuel VadotPlease refer to pinctrl-bindings.txt in this directory for details of the 26c66ec88fSEmmanuel Vadotcommon pinctrl bindings used by client devices, including the meaning of the 27c66ec88fSEmmanuel Vadotphrase "pin configuration node". 28c66ec88fSEmmanuel Vadot 29*6be33864SEmmanuel VadotThe pin configuration nodes act as a container for an arbitrary number of 30c66ec88fSEmmanuel Vadotsubnodes. Each of these subnodes represents some desired configuration for a 31c66ec88fSEmmanuel Vadotpin, a group, or a list of pins or groups. This configuration can include the 32c66ec88fSEmmanuel Vadotmux function to select on those pin(s)/group(s), and various pin configuration 33c66ec88fSEmmanuel Vadotparameters, such as pull-up, drive strength, etc. 34c66ec88fSEmmanuel Vadot 35c66ec88fSEmmanuel VadotThe name of each subnode is not important; all subnodes should be enumerated 36c66ec88fSEmmanuel Vadotand processed purely based on their content. 37c66ec88fSEmmanuel Vadot 38c66ec88fSEmmanuel VadotEach subnode only affects those parameters that are explicitly listed. In 39c66ec88fSEmmanuel Vadotother words, a subnode that lists a mux function but no pin configuration 40c66ec88fSEmmanuel Vadotparameters implies no information about any pin configuration parameters. 41c66ec88fSEmmanuel VadotSimilarly, a pin subnode that describes a pullup parameter implies no 42c66ec88fSEmmanuel Vadotinformation about e.g. the mux function. 43c66ec88fSEmmanuel Vadot 44c66ec88fSEmmanuel Vadot 45c66ec88fSEmmanuel VadotThe following generic properties as defined in pinctrl-bindings.txt are valid 46c66ec88fSEmmanuel Vadotto specify in a pin configuration subnode: 47c66ec88fSEmmanuel Vadot pins, function, bias-disable, bias-pull-down, bias-pull-up, drive-open-drain, 48c66ec88fSEmmanuel Vadot drive-strength. 49c66ec88fSEmmanuel Vadot 50c66ec88fSEmmanuel VadotNon-empty subnodes must specify the 'pins' property. 51c66ec88fSEmmanuel VadotNote that not all properties are valid for all pins. 52c66ec88fSEmmanuel Vadot 53c66ec88fSEmmanuel Vadot 54c66ec88fSEmmanuel VadotValid values for qcom,pins are: 55c66ec88fSEmmanuel Vadot gpio0-gpio99 56c66ec88fSEmmanuel Vadot Supports mux, bias and drive-strength 57c66ec88fSEmmanuel Vadot 58c66ec88fSEmmanuel VadotValid values for qcom,function are: 59c66ec88fSEmmanuel Vadotaud_pin, audio_pwm, blsp_i2c0, blsp_i2c1, blsp_spi0, blsp_spi1, blsp_uart0, 60c66ec88fSEmmanuel Vadotblsp_uart1, chip_rst, gpio, i2s_rx, i2s_spdif_in, i2s_spdif_out, i2s_td, i2s_tx, 61c66ec88fSEmmanuel Vadotjtag, led0, led1, led2, led3, led4, led5, led6, led7, led8, led9, led10, led11, 62c66ec88fSEmmanuel Vadotmdc, mdio, pcie, pmu, prng_rosc, qpic, rgmii, rmii, sdio, smart0, smart1, 63c66ec88fSEmmanuel Vadotsmart2, smart3, tm, wifi0, wifi1 64c66ec88fSEmmanuel Vadot 65c66ec88fSEmmanuel VadotExample: 66c66ec88fSEmmanuel Vadot 67c66ec88fSEmmanuel Vadot tlmm: pinctrl@1000000 { 68c66ec88fSEmmanuel Vadot compatible = "qcom,ipq4019-pinctrl"; 69c66ec88fSEmmanuel Vadot reg = <0x1000000 0x300000>; 70c66ec88fSEmmanuel Vadot 71c66ec88fSEmmanuel Vadot gpio-controller; 72c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 73c66ec88fSEmmanuel Vadot gpio-ranges = <&tlmm 0 0 100>; 74c66ec88fSEmmanuel Vadot interrupt-controller; 75c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 76c66ec88fSEmmanuel Vadot interrupts = <0 208 0>; 77c66ec88fSEmmanuel Vadot 78c66ec88fSEmmanuel Vadot serial_pins: serial_pinmux { 79c66ec88fSEmmanuel Vadot mux { 80c66ec88fSEmmanuel Vadot pins = "gpio60", "gpio61"; 81c66ec88fSEmmanuel Vadot function = "blsp_uart0"; 82c66ec88fSEmmanuel Vadot bias-disable; 83c66ec88fSEmmanuel Vadot }; 84c66ec88fSEmmanuel Vadot }; 85c66ec88fSEmmanuel Vadot }; 86