18c2ecf20Sopenharmony_ciQualcomm QCS404 TLMM block 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciThis binding describes the Top Level Mode Multiplexer block found in the 48c2ecf20Sopenharmony_ciQCS404 platform. 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci- compatible: 78c2ecf20Sopenharmony_ci Usage: required 88c2ecf20Sopenharmony_ci Value type: <string> 98c2ecf20Sopenharmony_ci Definition: must be "qcom,qcs404-pinctrl" 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci- reg: 128c2ecf20Sopenharmony_ci Usage: required 138c2ecf20Sopenharmony_ci Value type: <prop-encoded-array> 148c2ecf20Sopenharmony_ci Definition: the base address and size of the north, south and east TLMM 158c2ecf20Sopenharmony_ci tiles. 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci- reg-names: 188c2ecf20Sopenharmony_ci Usage: required 198c2ecf20Sopenharmony_ci Value type: <stringlist> 208c2ecf20Sopenharmony_ci Defintiion: names for the cells of reg, must contain "north", "south" 218c2ecf20Sopenharmony_ci and "east". 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci- interrupts: 248c2ecf20Sopenharmony_ci Usage: required 258c2ecf20Sopenharmony_ci Value type: <prop-encoded-array> 268c2ecf20Sopenharmony_ci Definition: should specify the TLMM summary IRQ. 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci- interrupt-controller: 298c2ecf20Sopenharmony_ci Usage: required 308c2ecf20Sopenharmony_ci Value type: <none> 318c2ecf20Sopenharmony_ci Definition: identifies this node as an interrupt controller 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci- #interrupt-cells: 348c2ecf20Sopenharmony_ci Usage: required 358c2ecf20Sopenharmony_ci Value type: <u32> 368c2ecf20Sopenharmony_ci Definition: must be 2. Specifying the pin number and flags, as defined 378c2ecf20Sopenharmony_ci in <dt-bindings/interrupt-controller/irq.h> 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci- gpio-controller: 408c2ecf20Sopenharmony_ci Usage: required 418c2ecf20Sopenharmony_ci Value type: <none> 428c2ecf20Sopenharmony_ci Definition: identifies this node as a gpio controller 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci- #gpio-cells: 458c2ecf20Sopenharmony_ci Usage: required 468c2ecf20Sopenharmony_ci Value type: <u32> 478c2ecf20Sopenharmony_ci Definition: must be 2. Specifying the pin number and flags, as defined 488c2ecf20Sopenharmony_ci in <dt-bindings/gpio/gpio.h> 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci- gpio-ranges: 518c2ecf20Sopenharmony_ci Usage: required 528c2ecf20Sopenharmony_ci Definition: see ../gpio/gpio.txt 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ciPlease refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for 558c2ecf20Sopenharmony_cia general description of GPIO and interrupt bindings. 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ciPlease refer to pinctrl-bindings.txt in this directory for details of the 588c2ecf20Sopenharmony_cicommon pinctrl bindings used by client devices, including the meaning of the 598c2ecf20Sopenharmony_ciphrase "pin configuration node". 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ciThe pin configuration nodes act as a container for an arbitrary number of 628c2ecf20Sopenharmony_cisubnodes. Each of these subnodes represents some desired configuration for a 638c2ecf20Sopenharmony_cipin, a group, or a list of pins or groups. This configuration can include the 648c2ecf20Sopenharmony_cimux function to select on those pin(s)/group(s), and various pin configuration 658c2ecf20Sopenharmony_ciparameters, such as pull-up, drive strength, etc. 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ciPIN CONFIGURATION NODES: 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ciThe name of each subnode is not important; all subnodes should be enumerated 718c2ecf20Sopenharmony_ciand processed purely based on their content. 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ciEach subnode only affects those parameters that are explicitly listed. In 748c2ecf20Sopenharmony_ciother words, a subnode that lists a mux function but no pin configuration 758c2ecf20Sopenharmony_ciparameters implies no information about any pin configuration parameters. 768c2ecf20Sopenharmony_ciSimilarly, a pin subnode that describes a pullup parameter implies no 778c2ecf20Sopenharmony_ciinformation about e.g. the mux function. 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ciThe following generic properties as defined in pinctrl-bindings.txt are valid 818c2ecf20Sopenharmony_cito specify in a pin configuration subnode: 828c2ecf20Sopenharmony_ci 838c2ecf20Sopenharmony_ci- pins: 848c2ecf20Sopenharmony_ci Usage: required 858c2ecf20Sopenharmony_ci Value type: <string-array> 868c2ecf20Sopenharmony_ci Definition: List of gpio pins affected by the properties specified in 878c2ecf20Sopenharmony_ci this subnode. 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ci Valid pins are: 908c2ecf20Sopenharmony_ci gpio0-gpio119 918c2ecf20Sopenharmony_ci Supports mux, bias and drive-strength 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_ci sdc1_clk, sdc1_cmd, sdc1_data, sdc2_clk, sdc2_cmd, 948c2ecf20Sopenharmony_ci sdc2_data 958c2ecf20Sopenharmony_ci Supports bias and drive-strength 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ci ufs_reset 988c2ecf20Sopenharmony_ci Supports bias and drive-strength 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ci- function: 1018c2ecf20Sopenharmony_ci Usage: required 1028c2ecf20Sopenharmony_ci Value type: <string> 1038c2ecf20Sopenharmony_ci Definition: Specify the alternative function to be configured for the 1048c2ecf20Sopenharmony_ci specified pins. Functions are only valid for gpio pins. 1058c2ecf20Sopenharmony_ci Valid values are: 1068c2ecf20Sopenharmony_ci 1078c2ecf20Sopenharmony_ci gpio, hdmi_tx, hdmi_ddc, blsp_uart_tx_a2, blsp_spi2, m_voc, 1088c2ecf20Sopenharmony_ci qdss_cti_trig_in_a0, blsp_uart_rx_a2, qdss_tracectl_a, 1098c2ecf20Sopenharmony_ci blsp_uart2, aud_cdc, blsp_i2c_sda_a2, qdss_tracedata_a, 1108c2ecf20Sopenharmony_ci blsp_i2c_scl_a2, qdss_tracectl_b, qdss_cti_trig_in_b0, 1118c2ecf20Sopenharmony_ci blsp_uart1, blsp_spi_mosi_a1, blsp_spi_miso_a1, 1128c2ecf20Sopenharmony_ci qdss_tracedata_b, blsp_i2c1, blsp_spi_cs_n_a1, gcc_plltest, 1138c2ecf20Sopenharmony_ci blsp_spi_clk_a1, rgb_data0, blsp_uart5, blsp_spi5, 1148c2ecf20Sopenharmony_ci adsp_ext, rgb_data1, prng_rosc, rgb_data2, blsp_i2c5, 1158c2ecf20Sopenharmony_ci gcc_gp1_clk_b, rgb_data3, gcc_gp2_clk_b, blsp_spi0, 1168c2ecf20Sopenharmony_ci blsp_uart0, gcc_gp3_clk_b, blsp_i2c0, qdss_traceclk_b, 1178c2ecf20Sopenharmony_ci pcie_clk, nfc_irq, blsp_spi4, nfc_dwl, audio_ts, rgb_data4, 1188c2ecf20Sopenharmony_ci spi_lcd, blsp_uart_tx_b2, gcc_gp3_clk_a, rgb_data5, 1198c2ecf20Sopenharmony_ci blsp_uart_rx_b2, blsp_i2c_sda_b2, blsp_i2c_scl_b2, 1208c2ecf20Sopenharmony_ci pwm_led11, i2s_3_data0_a, ebi2_lcd, i2s_3_data1_a, 1218c2ecf20Sopenharmony_ci i2s_3_data2_a, atest_char, pwm_led3, i2s_3_data3_a, 1228c2ecf20Sopenharmony_ci pwm_led4, i2s_4, ebi2_a, dsd_clk_b, pwm_led5, pwm_led6, 1238c2ecf20Sopenharmony_ci pwm_led7, pwm_led8, pwm_led24, spkr_dac0, blsp_i2c4, 1248c2ecf20Sopenharmony_ci pwm_led9, pwm_led10, spdifrx_opt, pwm_led12, pwm_led13, 1258c2ecf20Sopenharmony_ci pwm_led14, wlan1_adc1, rgb_data_b0, pwm_led15, 1268c2ecf20Sopenharmony_ci blsp_spi_mosi_b1, wlan1_adc0, rgb_data_b1, pwm_led16, 1278c2ecf20Sopenharmony_ci blsp_spi_miso_b1, qdss_cti_trig_out_b0, wlan2_adc1, 1288c2ecf20Sopenharmony_ci rgb_data_b2, pwm_led17, blsp_spi_cs_n_b1, wlan2_adc0, 1298c2ecf20Sopenharmony_ci rgb_data_b3, pwm_led18, blsp_spi_clk_b1, rgb_data_b4, 1308c2ecf20Sopenharmony_ci pwm_led19, ext_mclk1_b, qdss_traceclk_a, rgb_data_b5, 1318c2ecf20Sopenharmony_ci pwm_led20, atest_char3, i2s_3_sck_b, ldo_update, bimc_dte0, 1328c2ecf20Sopenharmony_ci rgb_hsync, pwm_led21, i2s_3_ws_b, dbg_out, rgb_vsync, 1338c2ecf20Sopenharmony_ci i2s_3_data0_b, ldo_en, hdmi_dtest, rgb_de, i2s_3_data1_b, 1348c2ecf20Sopenharmony_ci hdmi_lbk9, rgb_clk, atest_char1, i2s_3_data2_b, ebi_cdc, 1358c2ecf20Sopenharmony_ci hdmi_lbk8, rgb_mdp, atest_char0, i2s_3_data3_b, hdmi_lbk7, 1368c2ecf20Sopenharmony_ci rgb_data_b6, rgb_data_b7, hdmi_lbk6, rgmii_int, cri_trng1, 1378c2ecf20Sopenharmony_ci rgmii_wol, cri_trng0, gcc_tlmm, rgmii_ck, rgmii_tx, 1388c2ecf20Sopenharmony_ci hdmi_lbk5, hdmi_pixel, hdmi_rcv, hdmi_lbk4, rgmii_ctl, 1398c2ecf20Sopenharmony_ci ext_lpass, rgmii_rx, cri_trng, hdmi_lbk3, hdmi_lbk2, 1408c2ecf20Sopenharmony_ci qdss_cti_trig_out_b1, rgmii_mdio, hdmi_lbk1, rgmii_mdc, 1418c2ecf20Sopenharmony_ci hdmi_lbk0, ir_in, wsa_en, rgb_data6, rgb_data7, 1428c2ecf20Sopenharmony_ci atest_char2, ebi_ch0, blsp_uart3, blsp_spi3, sd_write, 1438c2ecf20Sopenharmony_ci blsp_i2c3, gcc_gp1_clk_a, qdss_cti_trig_in_b1, 1448c2ecf20Sopenharmony_ci gcc_gp2_clk_a, ext_mclk0, mclk_in1, i2s_1, dsd_clk_a, 1458c2ecf20Sopenharmony_ci qdss_cti_trig_in_a1, rgmi_dll1, pwm_led22, pwm_led23, 1468c2ecf20Sopenharmony_ci qdss_cti_trig_out_a0, rgmi_dll2, pwm_led1, 1478c2ecf20Sopenharmony_ci qdss_cti_trig_out_a1, pwm_led2, i2s_2, pll_bist, 1488c2ecf20Sopenharmony_ci ext_mclk1_a, mclk_in2, bimc_dte1, i2s_3_sck_a, i2s_3_ws_a 1498c2ecf20Sopenharmony_ci 1508c2ecf20Sopenharmony_ci- bias-disable: 1518c2ecf20Sopenharmony_ci Usage: optional 1528c2ecf20Sopenharmony_ci Value type: <none> 1538c2ecf20Sopenharmony_ci Definition: The specified pins should be configured as no pull. 1548c2ecf20Sopenharmony_ci 1558c2ecf20Sopenharmony_ci- bias-pull-down: 1568c2ecf20Sopenharmony_ci Usage: optional 1578c2ecf20Sopenharmony_ci Value type: <none> 1588c2ecf20Sopenharmony_ci Definition: The specified pins should be configured as pull down. 1598c2ecf20Sopenharmony_ci 1608c2ecf20Sopenharmony_ci- bias-pull-up: 1618c2ecf20Sopenharmony_ci Usage: optional 1628c2ecf20Sopenharmony_ci Value type: <none> 1638c2ecf20Sopenharmony_ci Definition: The specified pins should be configured as pull up. 1648c2ecf20Sopenharmony_ci 1658c2ecf20Sopenharmony_ci- output-high: 1668c2ecf20Sopenharmony_ci Usage: optional 1678c2ecf20Sopenharmony_ci Value type: <none> 1688c2ecf20Sopenharmony_ci Definition: The specified pins are configured in output mode, driven 1698c2ecf20Sopenharmony_ci high. 1708c2ecf20Sopenharmony_ci Not valid for sdc pins. 1718c2ecf20Sopenharmony_ci 1728c2ecf20Sopenharmony_ci- output-low: 1738c2ecf20Sopenharmony_ci Usage: optional 1748c2ecf20Sopenharmony_ci Value type: <none> 1758c2ecf20Sopenharmony_ci Definition: The specified pins are configured in output mode, driven 1768c2ecf20Sopenharmony_ci low. 1778c2ecf20Sopenharmony_ci Not valid for sdc pins. 1788c2ecf20Sopenharmony_ci 1798c2ecf20Sopenharmony_ci- drive-strength: 1808c2ecf20Sopenharmony_ci Usage: optional 1818c2ecf20Sopenharmony_ci Value type: <u32> 1828c2ecf20Sopenharmony_ci Definition: Selects the drive strength for the specified pins, in mA. 1838c2ecf20Sopenharmony_ci Valid values are: 2, 4, 6, 8, 10, 12, 14 and 16 1848c2ecf20Sopenharmony_ci 1858c2ecf20Sopenharmony_ciExample: 1868c2ecf20Sopenharmony_ci 1878c2ecf20Sopenharmony_ci tlmm: pinctrl@1000000 { 1888c2ecf20Sopenharmony_ci compatible = "qcom,qcs404-pinctrl"; 1898c2ecf20Sopenharmony_ci reg = <0x01000000 0x200000>, 1908c2ecf20Sopenharmony_ci <0x01300000 0x200000>, 1918c2ecf20Sopenharmony_ci <0x07b00000 0x200000>; 1928c2ecf20Sopenharmony_ci reg-names = "south", "north", "east"; 1938c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 1948c2ecf20Sopenharmony_ci gpio-controller; 1958c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1968c2ecf20Sopenharmony_ci gpio-ranges = <&tlmm 0 0 120>; 1978c2ecf20Sopenharmony_ci interrupt-controller; 1988c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 1998c2ecf20Sopenharmony_ci }; 200