162306a36Sopenharmony_ciQualcomm APQ8084 TLMM block 262306a36Sopenharmony_ci 362306a36Sopenharmony_ciThis binding describes the Top Level Mode Multiplexer block found in the 462306a36Sopenharmony_ciMSM8960 platform. 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci- compatible: 762306a36Sopenharmony_ci Usage: required 862306a36Sopenharmony_ci Value type: <string> 962306a36Sopenharmony_ci Definition: must be "qcom,apq8084-pinctrl" 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci- reg: 1262306a36Sopenharmony_ci Usage: required 1362306a36Sopenharmony_ci Value type: <prop-encoded-array> 1462306a36Sopenharmony_ci Definition: the base address and size of the TLMM register space. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci- interrupts: 1762306a36Sopenharmony_ci Usage: required 1862306a36Sopenharmony_ci Value type: <prop-encoded-array> 1962306a36Sopenharmony_ci Definition: should specify the TLMM summary IRQ. 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci- interrupt-controller: 2262306a36Sopenharmony_ci Usage: required 2362306a36Sopenharmony_ci Value type: <none> 2462306a36Sopenharmony_ci Definition: identifies this node as an interrupt controller 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci- #interrupt-cells: 2762306a36Sopenharmony_ci Usage: required 2862306a36Sopenharmony_ci Value type: <u32> 2962306a36Sopenharmony_ci Definition: must be 2. Specifying the pin number and flags, as defined 3062306a36Sopenharmony_ci in <dt-bindings/interrupt-controller/irq.h> 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci- gpio-controller: 3362306a36Sopenharmony_ci Usage: required 3462306a36Sopenharmony_ci Value type: <none> 3562306a36Sopenharmony_ci Definition: identifies this node as a gpio controller 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci- #gpio-cells: 3862306a36Sopenharmony_ci Usage: required 3962306a36Sopenharmony_ci Value type: <u32> 4062306a36Sopenharmony_ci Definition: must be 2. Specifying the pin number and flags, as defined 4162306a36Sopenharmony_ci in <dt-bindings/gpio/gpio.h> 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci- gpio-ranges: 4462306a36Sopenharmony_ci Usage: required 4562306a36Sopenharmony_ci Definition: see ../gpio/gpio.txt 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci- gpio-reserved-ranges: 4862306a36Sopenharmony_ci Usage: optional 4962306a36Sopenharmony_ci Definition: see ../gpio/gpio.txt 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ciPlease refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for 5262306a36Sopenharmony_cia general description of GPIO and interrupt bindings. 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ciPlease refer to pinctrl-bindings.txt in this directory for details of the 5562306a36Sopenharmony_cicommon pinctrl bindings used by client devices, including the meaning of the 5662306a36Sopenharmony_ciphrase "pin configuration node". 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ciThe pin configuration nodes act as a container for an arbitrary number of 5962306a36Sopenharmony_cisubnodes. Each of these subnodes represents some desired configuration for a 6062306a36Sopenharmony_cipin, a group, or a list of pins or groups. This configuration can include the 6162306a36Sopenharmony_cimux function to select on those pin(s)/group(s), and various pin configuration 6262306a36Sopenharmony_ciparameters, such as pull-up, drive strength, etc. 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ciPIN CONFIGURATION NODES: 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ciThe name of each subnode is not important; all subnodes should be enumerated 6862306a36Sopenharmony_ciand processed purely based on their content. 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ciEach subnode only affects those parameters that are explicitly listed. In 7162306a36Sopenharmony_ciother words, a subnode that lists a mux function but no pin configuration 7262306a36Sopenharmony_ciparameters implies no information about any pin configuration parameters. 7362306a36Sopenharmony_ciSimilarly, a pin subnode that describes a pullup parameter implies no 7462306a36Sopenharmony_ciinformation about e.g. the mux function. 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ciThe following generic properties as defined in pinctrl-bindings.txt are valid 7862306a36Sopenharmony_cito specify in a pin configuration subnode: 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci- pins: 8162306a36Sopenharmony_ci Usage: required 8262306a36Sopenharmony_ci Value type: <string-array> 8362306a36Sopenharmony_ci Definition: List of gpio pins affected by the properties specified in 8462306a36Sopenharmony_ci this subnode. Valid pins are: 8562306a36Sopenharmony_ci gpio0-gpio146, 8662306a36Sopenharmony_ci sdc1_clk, 8762306a36Sopenharmony_ci sdc1_cmd, 8862306a36Sopenharmony_ci sdc1_data 8962306a36Sopenharmony_ci sdc2_clk, 9062306a36Sopenharmony_ci sdc2_cmd, 9162306a36Sopenharmony_ci sdc2_data 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci- function: 9462306a36Sopenharmony_ci Usage: required 9562306a36Sopenharmony_ci Value type: <string> 9662306a36Sopenharmony_ci Definition: Specify the alternative function to be configured for the 9762306a36Sopenharmony_ci specified pins. Functions are only valid for gpio pins. 9862306a36Sopenharmony_ci Valid values are: 9962306a36Sopenharmony_ci adsp_ext, audio_ref, blsp_i2c1, blsp_i2c2, blsp_i2c3, 10062306a36Sopenharmony_ci blsp_i2c4, blsp_i2c5, blsp_i2c6, blsp_i2c7, blsp_i2c8, 10162306a36Sopenharmony_ci blsp_i2c9, blsp_i2c10, blsp_i2c11, blsp_i2c12, 10262306a36Sopenharmony_ci blsp_spi1, blsp_spi2, blsp_spi3, blsp_spi4, blsp_spi5, 10362306a36Sopenharmony_ci blsp_spi6, blsp_spi7, blsp_spi8, blsp_spi9, blsp_spi10, 10462306a36Sopenharmony_ci blsp_spi11, blsp_spi12, blsp_uart1, blsp_uart2, blsp_uart3, 10562306a36Sopenharmony_ci blsp_uart4, blsp_uart5, blsp_uart6, blsp_uart7, blsp_uart8, 10662306a36Sopenharmony_ci blsp_uart9, blsp_uart10, blsp_uart11, blsp_uart12, 10762306a36Sopenharmony_ci blsp_uim1, blsp_uim2, blsp_uim3, blsp_uim4, blsp_uim5, 10862306a36Sopenharmony_ci blsp_uim6, blsp_uim7, blsp_uim8, blsp_uim9, blsp_uim10, 10962306a36Sopenharmony_ci blsp_uim11, blsp_uim12, cam_mclk0, cam_mclk1, cam_mclk2, 11062306a36Sopenharmony_ci cam_mclk3, cci_async, cci_async_in0, cci_i2c0, cci_i2c1, 11162306a36Sopenharmony_ci cci_timer0, cci_timer1, cci_timer2, cci_timer3, cci_timer4, 11262306a36Sopenharmony_ci edp_hpd, gcc_gp1, gcc_gp2, gcc_gp3, gcc_obt, gcc_vtt,i 11362306a36Sopenharmony_ci gp_mn, gp_pdm0, gp_pdm1, gp_pdm2, gp0_clk, gp1_clk, gpio, 11462306a36Sopenharmony_ci hdmi_cec, hdmi_ddc, hdmi_dtest, hdmi_hpd, hdmi_rcv, hsic, 11562306a36Sopenharmony_ci ldo_en, ldo_update, mdp_vsync, pci_e0, pci_e0_n, pci_e0_rst, 11662306a36Sopenharmony_ci pci_e1, pci_e1_rst, pci_e1_rst_n, pci_e1_clkreq_n, pri_mi2s, 11762306a36Sopenharmony_ci qua_mi2s, sata_act, sata_devsleep, sata_devsleep_n, 11862306a36Sopenharmony_ci sd_write, sdc_emmc_mode, sdc3, sdc4, sec_mi2s, slimbus, 11962306a36Sopenharmony_ci spdif_tx, spkr_i2s, spkr_i2s_ws, spss_geni, ter_mi2s, tsif1, 12062306a36Sopenharmony_ci tsif2, uim, uim_batt_alarm 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci- bias-disable: 12362306a36Sopenharmony_ci Usage: optional 12462306a36Sopenharmony_ci Value type: <none> 12562306a36Sopenharmony_ci Definition: The specified pins should be configured as no pull. 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ci- bias-pull-down: 12862306a36Sopenharmony_ci Usage: optional 12962306a36Sopenharmony_ci Value type: <none> 13062306a36Sopenharmony_ci Definition: The specified pins should be configured as pull down. 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ci- bias-pull-up: 13362306a36Sopenharmony_ci Usage: optional 13462306a36Sopenharmony_ci Value type: <none> 13562306a36Sopenharmony_ci Definition: The specified pins should be configured as pull up. 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci- output-high: 13862306a36Sopenharmony_ci Usage: optional 13962306a36Sopenharmony_ci Value type: <none> 14062306a36Sopenharmony_ci Definition: The specified pins are configured in output mode, driven 14162306a36Sopenharmony_ci high. 14262306a36Sopenharmony_ci Not valid for sdc pins. 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ci- output-low: 14562306a36Sopenharmony_ci Usage: optional 14662306a36Sopenharmony_ci Value type: <none> 14762306a36Sopenharmony_ci Definition: The specified pins are configured in output mode, driven 14862306a36Sopenharmony_ci low. 14962306a36Sopenharmony_ci Not valid for sdc pins. 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ci- drive-strength: 15262306a36Sopenharmony_ci Usage: optional 15362306a36Sopenharmony_ci Value type: <u32> 15462306a36Sopenharmony_ci Definition: Selects the drive strength for the specified pins, in mA. 15562306a36Sopenharmony_ci Valid values are: 2, 4, 6, 8, 10, 12, 14 and 16 15662306a36Sopenharmony_ci 15762306a36Sopenharmony_ciExample: 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ci tlmm: pinctrl@fd510000 { 16062306a36Sopenharmony_ci compatible = "qcom,apq8084-pinctrl"; 16162306a36Sopenharmony_ci reg = <0xfd510000 0x4000>; 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci gpio-controller; 16462306a36Sopenharmony_ci #gpio-cells = <2>; 16562306a36Sopenharmony_ci gpio-ranges = <&tlmm 0 0 147>; 16662306a36Sopenharmony_ci interrupt-controller; 16762306a36Sopenharmony_ci #interrupt-cells = <2>; 16862306a36Sopenharmony_ci interrupts = <0 208 0>; 16962306a36Sopenharmony_ci 17062306a36Sopenharmony_ci uart2: uart2-default { 17162306a36Sopenharmony_ci mux { 17262306a36Sopenharmony_ci pins = "gpio4", "gpio5"; 17362306a36Sopenharmony_ci function = "blsp_uart2"; 17462306a36Sopenharmony_ci }; 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ci tx { 17762306a36Sopenharmony_ci pins = "gpio4"; 17862306a36Sopenharmony_ci drive-strength = <4>; 17962306a36Sopenharmony_ci bias-disable; 18062306a36Sopenharmony_ci }; 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ci rx { 18362306a36Sopenharmony_ci pins = "gpio5"; 18462306a36Sopenharmony_ci drive-strength = <2>; 18562306a36Sopenharmony_ci bias-pull-up; 18662306a36Sopenharmony_ci }; 18762306a36Sopenharmony_ci }; 18862306a36Sopenharmony_ci }; 189