> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GPIO 功能 - 顶层模式复用器（TLMM）

硬件通过顶层模式复用器（TLMM）控制通用输入/输出（GPIO）与备用功能的复用。您可以在启动过程中使用 TLMM 的 DT 属性来配置 GPIO。

您可以在 Linux 主机上编辑以下文件路径以更新这些属性：

* `/boot_images/boot/Settings/Soc/<Chipset>/Core/SocInfra/TLMM/<Chipset>-pinctrl.dtsi`
* `/boot_images/boot/Settings/Soc/<Chipset>/Core/SocInfra/TLMM/tlmm.dtsi`

下表列出了描述如何根据 Qualcomm 参考设备的需求配置 GPIO 默认值的属性。

<Frame caption="**表：TLMM DT 属性**" />

| 属性名称               | 属性描述                                                                                                                                              | 数据类型   | 可能的值/取值范围                                                                                                                                                                                                                                                                                                                                | 设备行为                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `sleep-config`     | 在 `<Chipset>-pinctrl.dtsi` 中定义的 GPIO 配置设置。这些配置在设备启动时应用。                                                                                           | UINT32 | 引脚方向：<br />- `GPIO_INPUT` – 0x1<br />- `GPIO_OUTPUT` – 0x2<br /><br />引脚上下拉配置：<br />- `GPIO_PULL_DOWN` – 0x4<br />- `GPIO_PULL_UP` – 0x8<br />- `GPIO_NO_PULL` – 0x10<br />- `GPIO_KEEPER` – 0x20<br /><br />引脚输出：<br />- `GPIO_OUT_LOW` – 0x40<br />- `GPIO_OUT_HIGH` – 0x80<br />- `GPIO_PRG_YES` – 0x100<br />- `GPIO_PRG_NO` – 0x000 | 默认值为 `GPIO_INPUT`。<br />`GPIO_INPUT`：允许读取输入引脚的状态。<br />`GPIO_OUTPUT`：控制输出引脚的状态。<br /><br />默认值为 `GPIO_PULL_DOWN`。<br />`GPIO_PULL_DOWN`：逻辑 0，连接到地。<br />`GPIO_PULL_UP`：逻辑 1，连接到 Vdd 电源。<br />`GPIO_NO_PULL`：浮空/高阻态。<br />`GPIO_KEEPER`：保持 GPIO 的先前状态。当 SoC 进入最深的省电模式时，将应用此配置。<br /><br />默认值为 `GPIO_OUT_LOW`。<br />`GPIO_OUT_HIGH`：逻辑高电平，连接到 Vdd。<br /><br />默认值为 `GPIO_PRG_NO`。<br />`GPIO_PRG_YES`：确保任何未使用的 GPIO 在启动后保持低功耗状态。<br /><br />例如，`(GPIO_INPUT GPIO_PULL_DOWN GPIO_OUT_LOW GPIO_PRG_NO) /* PIN 10 */` |
| `ngpios`           | 芯片组中只读 GPIO 引脚的数量。                                                                                                                                | UINT32 | –                                                                                                                                                                                                                                                                                                                                        | 例如，`ngpios = <175>;`。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `width`            | 每个 GPIO 引脚都有自己的一组只读控制寄存器。Width 表示引脚间的寄存器偏移。                                                                                                       | –      | –                                                                                                                                                                                                                                                                                                                                        | 例如，`width = <0x1000>;`。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `id`               | 只读 GPIO pad ID 的硬件实例。                                                                                                                             | UINT32 | –                                                                                                                                                                                                                                                                                                                                        | 例如，`id = <0x0>;`。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `version`          | GPIO 只读驱动程序版本。驱动程序 1.0 表示为 0x1。                                                                                                                   | UINT32 | –                                                                                                                                                                                                                                                                                                                                        | 例如，`version = <0x1>;`。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `gpio-controller`  | 用于将只读连接设备表示为 GPIO 设备的标识符。                                                                                                                         | 字符串    | –                                                                                                                                                                                                                                                                                                                                        | –                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 用于引脚配置的 `phandles` | 用于配置 GPIO 备用功能的复用（mux）配置。有关详细信息，请参阅[引脚说明](https://docs.qualcomm.com/bundle/80-23889-1/resource/80-23889-1_REV_AM_QCS6490_QCS5430_Data_Sheet.pdf)。 | –      | `sdc4_data_1: sdc4_data_1 { mux = <13 3>; };`                                                                                                                                                                                                                                                                                            | 启动时，GPIO 配置为 GPIO 的备用功能。例如，`sdc4_data_1: sdc4_data_1 { mux = <13 3> };`。在此示例中，13 表示 GPIO 编号，3 表示备用功能选择。                                                                                                                                                                                                                                                                                                                                                                                                           |
