Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'tegra-for-6.2-dt-bindings-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt

dt-bindings: Changes for v6.2-rc1

New memory client IDs and IOMMU stream IDs, as well as new compatible
strings are introduced to support more hardware on Tegra234. Some device
tree bindings are converted to json-schema to allow formal validation.

* tag 'tegra-for-6.2-dt-bindings-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
dt-bindings: usb: tegra-xusb: Convert to json-schema
dt-bindings: pwm: tegra: Convert to json-schema
dt-bindings: pinctrl: tegra194: Separate instances
dt-bindings: pinctrl: tegra: Convert to json-schema
dt-bindings: PCI: tegra234: Add ECAM support
dt-bindings: pwm: tegra: Document Tegra234 PWM
dt-bindings: Add bindings for Tegra234 NVDEC
dt-bindings: tegra: Update headers for Tegra234
dt-bindings: Add headers for NVDEC on Tegra234

Link: https://lore.kernel.org/r/20221121171239.2041835-4-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+3437 -1087
+1 -1
Documentation/devicetree/bindings/clock/nvidia,tegra124-dfll.txt
··· 136 136 }; 137 137 138 138 /* pinmux nodes added for completeness. Binding doc can be found in: 139 - * Documentation/devicetree/bindings/pinctrl/nvidia,tegra210-pinmux.txt 139 + * Documentation/devicetree/bindings/pinctrl/nvidia,tegra210-pinmux.yaml 140 140 */ 141 141 142 142 pinmux: pinmux@700008d4 {
+156
Documentation/devicetree/bindings/gpu/host1x/nvidia,tegra234-nvdec.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: "http://devicetree.org/schemas/gpu/host1x/nvidia,tegra234-nvdec.yaml#" 5 + $schema: "http://devicetree.org/meta-schemas/core.yaml#" 6 + 7 + title: Device tree binding for NVIDIA Tegra234 NVDEC 8 + 9 + description: | 10 + NVDEC is the hardware video decoder present on NVIDIA Tegra210 11 + and newer chips. It is located on the Host1x bus and typically 12 + programmed through Host1x channels. 13 + 14 + maintainers: 15 + - Thierry Reding <treding@gmail.com> 16 + - Mikko Perttunen <mperttunen@nvidia.com> 17 + 18 + properties: 19 + $nodename: 20 + pattern: "^nvdec@[0-9a-f]*$" 21 + 22 + compatible: 23 + enum: 24 + - nvidia,tegra234-nvdec 25 + 26 + reg: 27 + maxItems: 1 28 + 29 + clocks: 30 + maxItems: 3 31 + 32 + clock-names: 33 + items: 34 + - const: nvdec 35 + - const: fuse 36 + - const: tsec_pka 37 + 38 + resets: 39 + maxItems: 1 40 + 41 + reset-names: 42 + items: 43 + - const: nvdec 44 + 45 + power-domains: 46 + maxItems: 1 47 + 48 + iommus: 49 + maxItems: 1 50 + 51 + dma-coherent: true 52 + 53 + interconnects: 54 + items: 55 + - description: DMA read memory client 56 + - description: DMA write memory client 57 + 58 + interconnect-names: 59 + items: 60 + - const: dma-mem 61 + - const: write 62 + 63 + nvidia,memory-controller: 64 + $ref: /schemas/types.yaml#/definitions/phandle 65 + description: 66 + phandle to the memory controller for determining information for the NVDEC 67 + firmware secure carveout. This carveout is configured by the bootloader and 68 + not accessible to CPU. 69 + 70 + nvidia,bl-manifest-offset: 71 + $ref: /schemas/types.yaml#/definitions/uint32 72 + description: 73 + Offset to bootloader manifest from beginning of firmware that was configured by 74 + the bootloader. 75 + 76 + nvidia,bl-code-offset: 77 + $ref: /schemas/types.yaml#/definitions/uint32 78 + description: 79 + Offset to bootloader code section from beginning of firmware that was configured by 80 + the bootloader. 81 + 82 + nvidia,bl-data-offset: 83 + $ref: /schemas/types.yaml#/definitions/uint32 84 + description: 85 + Offset to bootloader data section from beginning of firmware that was configured by 86 + the bootloader. 87 + 88 + nvidia,os-manifest-offset: 89 + $ref: /schemas/types.yaml#/definitions/uint32 90 + description: 91 + Offset to operating system manifest from beginning of firmware that was configured by 92 + the bootloader. 93 + 94 + nvidia,os-code-offset: 95 + $ref: /schemas/types.yaml#/definitions/uint32 96 + description: 97 + Offset to operating system code section from beginning of firmware that was configured by 98 + the bootloader. 99 + 100 + nvidia,os-data-offset: 101 + $ref: /schemas/types.yaml#/definitions/uint32 102 + description: 103 + Offset to operating system data section from beginning of firmware that was configured 104 + by the bootloader. 105 + 106 + required: 107 + - compatible 108 + - reg 109 + - clocks 110 + - clock-names 111 + - resets 112 + - reset-names 113 + - power-domains 114 + - nvidia,memory-controller 115 + - nvidia,bl-manifest-offset 116 + - nvidia,bl-code-offset 117 + - nvidia,bl-data-offset 118 + - nvidia,os-manifest-offset 119 + - nvidia,os-code-offset 120 + - nvidia,os-data-offset 121 + 122 + additionalProperties: false 123 + 124 + examples: 125 + - | 126 + #include <dt-bindings/clock/tegra234-clock.h> 127 + #include <dt-bindings/memory/tegra234-mc.h> 128 + #include <dt-bindings/power/tegra234-powergate.h> 129 + #include <dt-bindings/reset/tegra234-reset.h> 130 + 131 + nvdec@15480000 { 132 + compatible = "nvidia,tegra234-nvdec"; 133 + reg = <0x15480000 0x00040000>; 134 + clocks = <&bpmp TEGRA234_CLK_NVDEC>, 135 + <&bpmp TEGRA234_CLK_FUSE>, 136 + <&bpmp TEGRA234_CLK_TSEC_PKA>; 137 + clock-names = "nvdec", "fuse", "tsec_pka"; 138 + resets = <&bpmp TEGRA234_RESET_NVDEC>; 139 + reset-names = "nvdec"; 140 + power-domains = <&bpmp TEGRA234_POWER_DOMAIN_NVDEC>; 141 + interconnects = <&mc TEGRA234_MEMORY_CLIENT_NVDECSRD &emc>, 142 + <&mc TEGRA234_MEMORY_CLIENT_NVDECSWR &emc>; 143 + interconnect-names = "dma-mem", "write"; 144 + iommus = <&smmu_niso1 TEGRA234_SID_NVDEC>; 145 + dma-coherent; 146 + 147 + nvidia,memory-controller = <&mc>; 148 + 149 + /* Placeholder values, to be replaced with values from overlay */ 150 + nvidia,bl-manifest-offset = <0>; 151 + nvidia,bl-data-offset = <0>; 152 + nvidia,bl-code-offset = <0>; 153 + nvidia,os-manifest-offset = <0>; 154 + nvidia,os-data-offset = <0>; 155 + nvidia,os-code-offset = <0>; 156 + };
+32 -2
Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.yaml
··· 27 27 - nvidia,tegra234-pcie 28 28 29 29 reg: 30 + minItems: 4 30 31 items: 31 32 - description: controller's application logic registers 32 33 - description: configuration registers ··· 36 35 available for software access. 37 36 - description: aperture where the Root Port's own configuration 38 37 registers are available. 38 + - description: aperture to access the configuration space through ECAM. 39 39 40 40 reg-names: 41 + minItems: 4 41 42 items: 42 43 - const: appl 43 44 - const: config 44 45 - const: atu_dma 45 46 - const: dbi 47 + - const: ecam 46 48 47 49 interrupts: 48 50 items: ··· 206 202 207 203 allOf: 208 204 - $ref: /schemas/pci/snps,dw-pcie.yaml# 205 + - if: 206 + properties: 207 + compatible: 208 + contains: 209 + enum: 210 + - nvidia,tegra194-pcie 211 + then: 212 + properties: 213 + reg: 214 + maxItems: 4 215 + reg-names: 216 + maxItems: 4 217 + 218 + - if: 219 + properties: 220 + compatible: 221 + contains: 222 + enum: 223 + - nvidia,tegra234-pcie 224 + then: 225 + properties: 226 + reg: 227 + minItems: 5 228 + reg-names: 229 + minItems: 5 209 230 210 231 unevaluatedProperties: false 211 232 ··· 334 305 reg = <0x00 0x14160000 0x0 0x00020000>, /* appl registers (128K) */ 335 306 <0x00 0x36000000 0x0 0x00040000>, /* configuration space (256K) */ 336 307 <0x00 0x36040000 0x0 0x00040000>, /* iATU_DMA reg space (256K) */ 337 - <0x00 0x36080000 0x0 0x00040000>; /* DBI reg space (256K) */ 338 - reg-names = "appl", "config", "atu_dma", "dbi"; 308 + <0x00 0x36080000 0x0 0x00040000>, /* DBI reg space (256K) */ 309 + <0x24 0x30000000 0x0 0x10000000>; /* ECAM (256MB) */ 310 + reg-names = "appl", "config", "atu_dma", "dbi", "ecam"; 339 311 340 312 #address-cells = <3>; 341 313 #size-cells = <2>;
+1 -1
Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml
··· 35 35 maxItems: 5 36 36 items: 37 37 enum: [ dbi, dbi2, config, atu, atu_dma, app, appl, elbi, mgmt, ctrl, 38 - parf, cfg, link, ulreg, smu, mpu, apb, phy ] 38 + parf, cfg, link, ulreg, smu, mpu, apb, phy, ecam ] 39 39 40 40 num-lanes: 41 41 description: |
+178
Documentation/devicetree/bindings/pinctrl/nvidia,tegra-pinmux-common.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/pinctrl/nvidia,tegra-pinmux-common.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: NVIDIA Tegra Pinmux Controller 8 + 9 + maintainers: 10 + - Thierry Reding <thierry.reding@gmail.com> 11 + - Jonathan Hunter <jonathanh@nvidia.com> 12 + 13 + description: | 14 + Please refer to pinctrl-bindings.txt in this directory for details of the 15 + common pinctrl bindings used by client devices, including the meaning of 16 + the phrase "pin configuration node". 17 + 18 + Tegra's pin configuration nodes act as a container for an arbitrary number 19 + of subnodes. Each of these subnodes represents some desired configuration 20 + for a pin, a group, or a list of pins or groups. This configuration can 21 + include the mux function to select on those pin(s)/ group(s), and various 22 + pin configuration parameters, such as pull-up, tristate, drive strength, 23 + etc. 24 + 25 + The name of each subnode is not important; all subnodes should be 26 + enumerated and processed purely based on their content. 27 + 28 + Each subnode only affects those parameters that are explicitly listed. In 29 + other words, a subnode that lists a mux function but no pin configuration 30 + parameters implies no information about any pin configuration parameters. 31 + 32 + Similarly, a pin subnode that describes a pullup parameter implies no 33 + information about e.g. the mux function or tristate parameter. For this 34 + reason, even seemingly boolean values are actually tristates in this 35 + binding: unspecified, off, or on. Unspecified is represented as an absent 36 + property, and off/on are represented as integer values 0 and 1. 37 + 38 + Note that many of these properties are only valid for certain specific pins 39 + or groups. See the Tegra TRM and various pinmux spreadsheets for complete 40 + details regarding which groups support which functionality. The Linux 41 + pinctrl driver may also be a useful reference, since it consolidates, 42 + disambiguates, and corrects data from all those sources. 43 + 44 + properties: 45 + nvidia,pins: 46 + $ref: /schemas/types.yaml#/definitions/string-array 47 + description: An array of strings. Each string contains the name of a pin 48 + or group. Valid values for these names are listed below. 49 + 50 + nvidia,function: 51 + $ref: /schemas/types.yaml#/definitions/string 52 + description: A string containing the name of the function to mux to the 53 + pin or group. Valid values for function names are listed below. See the 54 + Tegra TRM to determine which are valid for each pin or group. 55 + 56 + nvidia,pull: 57 + description: Pull-down/up setting to apply to the pin. 58 + $ref: /schemas/types.yaml#/definitions/uint32 59 + oneOf: 60 + - description: none 61 + const: 0 62 + - description: down 63 + const: 1 64 + - description: up 65 + const: 2 66 + 67 + nvidia,tristate: 68 + description: Tristate setting to apply to the pin. 69 + $ref: /schemas/types.yaml#/definitions/uint32 70 + oneOf: 71 + - description: drive 72 + const: 0 73 + - description: tristate 74 + const: 1 75 + 76 + nvidia,schmitt: 77 + description: Enable Schmitt trigger on the input. 78 + $ref: /schemas/types.yaml#/definitions/uint32 79 + oneOf: 80 + - description: disable Schmitt trigger on the input 81 + const: 0 82 + - description: enable Schmitt trigger on the input 83 + const: 1 84 + 85 + nvidia,pull-down-strength: 86 + description: Controls drive strength. 0 is weakest. The range of valid 87 + values depends on the pingroup. See "CAL_DRVDN" in the Tegra TRM. 88 + $ref: /schemas/types.yaml#/definitions/uint32 89 + 90 + nvidia,pull-up-strength: 91 + description: Controls drive strength. 0 is weakest. The range of valid 92 + values depends on the pingroup. See "CAL_DRVUP" in the Tegra TRM. 93 + $ref: /schemas/types.yaml#/definitions/uint32 94 + 95 + nvidia,high-speed-mode: 96 + description: Enable high speed mode the pins. 97 + $ref: /schemas/types.yaml#/definitions/uint32 98 + oneOf: 99 + - description: normal speed mode 100 + const: 0 101 + - description: high speed mode 102 + const: 1 103 + 104 + nvidia,low-power-mode: 105 + description: Controls the drive power or current. Valid values are from 0 106 + through 3, where 0 specifies the least power and 3 specifies the most 107 + power. See "Low Power Mode" or "LPMD1" and "LPMD0" in the Tegra TRM. 108 + $ref: /schemas/types.yaml#/definitions/uint32 109 + enum: [ 0, 1, 2, 3 ] 110 + 111 + nvidia,enable-input: 112 + description: Enable the pin's input path. 113 + $ref: /schemas/types.yaml#/definitions/uint32 114 + oneOf: 115 + - description: disable input (i.e. output only) 116 + const: 0 117 + - description: enable input 118 + const: 1 119 + 120 + nvidia,open-drain: 121 + description: Open-drain configuration for the pin. 122 + $ref: /schemas/types.yaml#/definitions/uint32 123 + oneOf: 124 + - description: disable open-drain 125 + const: 0 126 + - description: enable open-drain 127 + const: 1 128 + 129 + nvidia,lock: 130 + description: Lock the pin configuration against further changes until 131 + reset. 132 + $ref: /schemas/types.yaml#/definitions/uint32 133 + oneOf: 134 + - description: disable pin configuration lock 135 + const: 0 136 + - description: enable pin configuration lock 137 + const: 1 138 + 139 + nvidia,io-reset: 140 + description: reset the I/O path 141 + $ref: /schemas/types.yaml#/definitions/uint32 142 + enum: [ 0, 1 ] 143 + 144 + nvidia,rcv-sel: 145 + description: select VIL/VIH receivers 146 + $ref: /schemas/types.yaml#/definitions/uint32 147 + oneOf: 148 + - description: normal receivers 149 + const: 0 150 + - description: high-voltage receivers 151 + const: 1 152 + 153 + nvidia,drive-type: 154 + description: Drive type to configure for the pin. 155 + $ref: /schemas/types.yaml#/definitions/uint32 156 + enum: [ 0, 1, 2, 3 ] 157 + 158 + nvidia,io-hv: 159 + description: Select high-voltage receivers. 160 + $ref: /schemas/types.yaml#/definitions/uint32 161 + oneOf: 162 + - description: Use normal receivers. 163 + const: 0 164 + - description: Use high-voltage receivers. 165 + const: 1 166 + 167 + nvidia,slew-rate-rising: 168 + description: Controls rising signal slew rate. 0 is fastest. The range of 169 + valid values depends on the pingroup. See "DRVDN_SLWR" in the Tegra TRM. 170 + $ref: /schemas/types.yaml#/definitions/uint32 171 + 172 + nvidia,slew-rate-falling: 173 + description: Controls falling signal slew rate. 0 is fastest. The range of 174 + valid values depends on the pingroup. See "DRVUP_SLWF" in the Tegra TRM. 175 + $ref: /schemas/types.yaml#/definitions/uint32 176 + 177 + additionalProperties: true 178 + ...
-131
Documentation/devicetree/bindings/pinctrl/nvidia,tegra114-pinmux.txt
··· 1 - NVIDIA Tegra114 pinmux controller 2 - 3 - The Tegra114 pinctrl binding is very similar to the Tegra20 and Tegra30 4 - pinctrl binding, as described in nvidia,tegra20-pinmux.txt and 5 - nvidia,tegra30-pinmux.txt. In fact, this document assumes that binding as 6 - a baseline, and only documents the differences between the two bindings. 7 - 8 - Required properties: 9 - - compatible: "nvidia,tegra114-pinmux" 10 - - reg: Should contain the register physical address and length for each of 11 - the pad control and mux registers. The first bank of address must be the 12 - driver strength pad control register address and second bank address must 13 - be pinmux register address. 14 - 15 - Tegra114 adds the following optional properties for pin configuration subnodes: 16 - - nvidia,enable-input: Integer. Enable the pin's input path. 0: no, 1: yes. 17 - - nvidia,open-drain: Integer. Enable open drain mode. 0: no, 1: yes. 18 - - nvidia,lock: Integer. Lock the pin configuration against further changes 19 - until reset. 0: no, 1: yes. 20 - - nvidia,io-reset: Integer. Reset the IO path. 0: no, 1: yes. 21 - - nvidia,rcv-sel: Integer. Select VIL/VIH receivers. 0: normal, 1: high. 22 - - nvidia,drive-type: Integer. Valid range 0...3. 23 - 24 - As with Tegra20 and Terga30, see the Tegra TRM for complete details regarding 25 - which groups support which functionality. 26 - 27 - Valid values for pin and group names are: 28 - 29 - per-pin mux groups: 30 - 31 - These all support nvidia,function, nvidia,tristate, nvidia,pull, 32 - nvidia,enable-input, nvidia,lock. Some support nvidia,open-drain, 33 - nvidia,io-reset and nvidia,rcv-sel. 34 - 35 - ulpi_data0_po1, ulpi_data1_po2, ulpi_data2_po3, ulpi_data3_po4, 36 - ulpi_data4_po5, ulpi_data5_po6, ulpi_data6_po7, ulpi_data7_po0, 37 - ulpi_clk_py0, ulpi_dir_py1, ulpi_nxt_py2, ulpi_stp_py3, dap3_fs_pp0, 38 - dap3_din_pp1, dap3_dout_pp2, dap3_sclk_pp3, pv0, pv1, sdmmc1_clk_pz0, 39 - sdmmc1_cmd_pz1, sdmmc1_dat3_py4, sdmmc1_dat2_py5, sdmmc1_dat1_py6, 40 - sdmmc1_dat0_py7, clk2_out_pw5, clk2_req_pcc5, hdmi_int_pn7, ddc_scl_pv4, 41 - ddc_sda_pv5, uart2_rxd_pc3, uart2_txd_pc2, uart2_rts_n_pj6, 42 - uart2_cts_n_pj5, uart3_txd_pw6, uart3_rxd_pw7, uart3_cts_n_pa1, 43 - uart3_rts_n_pc0, pu0, pu1, pu2, pu3, pu4, pu5, pu6, gen1_i2c_sda_pc5, 44 - gen1_i2c_scl_pc4, dap4_fs_pp4, dap4_din_pp5, dap4_dout_pp6, dap4_sclk_pp7, 45 - clk3_out_pee0, clk3_req_pee1, gmi_wp_n_pc7, gmi_iordy_pi5, gmi_wait_pi7, 46 - gmi_adv_n_pk0, gmi_clk_pk1, gmi_cs0_n_pj0, gmi_cs1_n_pj2, gmi_cs2_n_pk3, 47 - gmi_cs3_n_pk4, gmi_cs4_n_pk2, gmi_cs6_n_pi3, gmi_cs7_n_pi6, gmi_ad0_pg0, 48 - gmi_ad1_pg1, gmi_ad2_pg2, gmi_ad3_pg3, gmi_ad4_pg4, gmi_ad5_pg5, 49 - gmi_ad6_pg6, gmi_ad7_pg7, gmi_ad8_ph0, gmi_ad9_ph1, gmi_ad10_ph2, 50 - gmi_ad11_ph3, gmi_ad12_ph4, gmi_ad13_ph5, gmi_ad14_ph6, gmi_ad15_ph7, 51 - gmi_a16_pj7, gmi_a17_pb0, gmi_a18_pb1, gmi_a19_pk7, gmi_wr_n_pi0, 52 - gmi_oe_n_pi1, gmi_dqs_p_pj3, gmi_rst_n_pi4, gen2_i2c_scl_pt5, 53 - gen2_i2c_sda_pt6, sdmmc4_clk_pcc4, sdmmc4_cmd_pt7, sdmmc4_dat0_paa0, 54 - sdmmc4_dat1_paa1, sdmmc4_dat2_paa2, sdmmc4_dat3_paa3, sdmmc4_dat4_paa4, 55 - sdmmc4_dat5_paa5, sdmmc4_dat6_paa6, sdmmc4_dat7_paa7, cam_mclk_pcc0, 56 - pcc1, pbb0, cam_i2c_scl_pbb1, cam_i2c_sda_pbb2, pbb3, pbb4, pbb5, pbb6, 57 - pbb7, pcc2, pwr_i2c_scl_pz6, pwr_i2c_sda_pz7, kb_row0_pr0, kb_row1_pr1, 58 - kb_row2_pr2, kb_row3_pr3, kb_row4_pr4, kb_row5_pr5, kb_row6_pr6, 59 - kb_row7_pr7, kb_row8_ps0, kb_row9_ps1, kb_row10_ps2, kb_col0_pq0, 60 - kb_col1_pq1, kb_col2_pq2, kb_col3_pq3, kb_col4_pq4, kb_col5_pq5, 61 - kb_col6_pq6, kb_col7_pq7, clk_32k_out_pa0, sys_clk_req_pz5, core_pwr_req, 62 - cpu_pwr_req, pwr_int_n, owr, dap1_fs_pn0, dap1_din_pn1, dap1_dout_pn2, 63 - dap1_sclk_pn3, clk1_req_pee2, clk1_out_pw4, spdif_in_pk6, spdif_out_pk5, 64 - dap2_fs_pa2, dap2_din_pa4, dap2_dout_pa5, dap2_sclk_pa3, dvfs_pwm_px0, 65 - gpio_x1_aud_px1, gpio_x3_aud_px3, dvfs_clk_px2, gpio_x4_aud_px4, 66 - gpio_x5_aud_px5, gpio_x6_aud_px6, gpio_x7_aud_px7, sdmmc3_clk_pa6, 67 - sdmmc3_cmd_pa7, sdmmc3_dat0_pb7, sdmmc3_dat1_pb6, sdmmc3_dat2_pb5, 68 - sdmmc3_dat3_pb4, hdmi_cec_pee3, sdmmc1_wp_n_pv3, sdmmc3_cd_n_pv2, 69 - gpio_w2_aud_pw2, gpio_w3_aud_pw3, usb_vbus_en0_pn4, usb_vbus_en1_pn5, 70 - sdmmc3_clk_lb_in_pee5, sdmmc3_clk_lb_out_pee4, reset_out_n. 71 - 72 - drive groups: 73 - 74 - These all support nvidia,pull-down-strength, nvidia,pull-up-strength, 75 - nvidia,slew-rate-rising, nvidia,slew-rate-falling. Most but not all 76 - support nvidia,high-speed-mode, nvidia,schmitt, nvidia,low-power-mode 77 - and nvidia,drive-type. 78 - 79 - ao1, ao2, at1, at2, at3, at4, at5, cdev1, cdev2, dap1, dap2, dap3, dap4, 80 - dbg, sdio3, spi, uaa, uab, uart2, uart3, sdio1, ddc, gma, gme, gmf, gmg, 81 - gmh, owr, uda. 82 - 83 - Valid values for nvidia,functions are: 84 - 85 - blink, cec, cldvfs, clk12, cpu, dap, dap1, dap2, dev3, displaya, 86 - displaya_alt, displayb, dtv, emc_dll, extperiph1, extperiph2, 87 - extperiph3, gmi, gmi_alt, hda, hsi, i2c1, i2c2, i2c3, i2c4, i2cpwr, 88 - i2s0, i2s1, i2s2, i2s3, i2s4, irda, kbc, nand, nand_alt, owr, pmi, 89 - pwm0, pwm1, pwm2, pwm3, pwron, reset_out_n, rsvd1, rsvd2, rsvd3, 90 - rsvd4, sdmmc1, sdmmc2, sdmmc3, sdmmc4, soc, spdif, spi1, spi2, spi3, 91 - spi4, spi5, spi6, sysclk, trace, uarta, uartb, uartc, uartd, ulpi, 92 - usb, vgp1, vgp2, vgp3, vgp4, vgp5, vgp6, vi, vi_alt1, vi_alt3 93 - 94 - Example: 95 - 96 - pinmux: pinmux { 97 - compatible = "nvidia,tegra114-pinmux"; 98 - reg = <0x70000868 0x148 /* Pad control registers */ 99 - 0x70003000 0x40c>; /* PinMux registers */ 100 - }; 101 - 102 - Example board file extract: 103 - 104 - pinctrl { 105 - sdmmc4_default: pinmux { 106 - sdmmc4_clk_pcc4 { 107 - nvidia,pins = "sdmmc4_clk_pcc4", 108 - nvidia,function = "sdmmc4"; 109 - nvidia,pull = <0>; 110 - nvidia,tristate = <0>; 111 - }; 112 - sdmmc4_dat0_paa0 { 113 - nvidia,pins = "sdmmc4_dat0_paa0", 114 - "sdmmc4_dat1_paa1", 115 - "sdmmc4_dat2_paa2", 116 - "sdmmc4_dat3_paa3", 117 - "sdmmc4_dat4_paa4", 118 - "sdmmc4_dat5_paa5", 119 - "sdmmc4_dat6_paa6", 120 - "sdmmc4_dat7_paa7"; 121 - nvidia,function = "sdmmc4"; 122 - nvidia,pull = <2>; 123 - nvidia,tristate = <0>; 124 - }; 125 - }; 126 - }; 127 - 128 - sdhci@78000400 { 129 - pinctrl-names = "default"; 130 - pinctrl-0 = <&sdmmc4_default>; 131 - };
+155
Documentation/devicetree/bindings/pinctrl/nvidia,tegra114-pinmux.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/pinctrl/nvidia,tegra114-pinmux.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: NVIDIA Tegra114 pinmux Controller 8 + 9 + maintainers: 10 + - Thierry Reding <thierry.reding@gmail.com> 11 + - Jon Hunter <jonathanh@nvidia.com> 12 + 13 + properties: 14 + compatible: 15 + const: nvidia,tegra114-pinmux 16 + 17 + reg: 18 + items: 19 + - description: pad control registers 20 + - description: mux registers 21 + 22 + patternProperties: 23 + "^pinmux(-[a-z0-9-_]+)?$": 24 + type: object 25 + properties: 26 + phandle: true 27 + 28 + # pin groups 29 + additionalProperties: 30 + $ref: nvidia,tegra-pinmux-common.yaml 31 + additionalProperties: false 32 + properties: 33 + nvidia,pins: 34 + items: 35 + enum: [ ulpi_data0_po1, ulpi_data1_po2, ulpi_data2_po3, 36 + ulpi_data3_po4, ulpi_data4_po5, ulpi_data5_po6, 37 + ulpi_data6_po7, ulpi_data7_po0, ulpi_clk_py0, ulpi_dir_py1, 38 + ulpi_nxt_py2, ulpi_stp_py3, dap3_fs_pp0, dap3_din_pp1, 39 + dap3_dout_pp2, dap3_sclk_pp3, pv0, pv1, sdmmc1_clk_pz0, 40 + sdmmc1_cmd_pz1, sdmmc1_dat3_py4, sdmmc1_dat2_py5, 41 + sdmmc1_dat1_py6, sdmmc1_dat0_py7, clk2_out_pw5, 42 + clk2_req_pcc5, hdmi_int_pn7, ddc_scl_pv4, ddc_sda_pv5, 43 + uart2_rxd_pc3, uart2_txd_pc2, uart2_rts_n_pj6, 44 + uart2_cts_n_pj5, uart3_txd_pw6, uart3_rxd_pw7, 45 + uart3_cts_n_pa1, uart3_rts_n_pc0, pu0, pu1, pu2, pu3, pu4, 46 + pu5, pu6, gen1_i2c_sda_pc5, gen1_i2c_scl_pc4, dap4_fs_pp4, 47 + dap4_din_pp5, dap4_dout_pp6, dap4_sclk_pp7, clk3_out_pee0, 48 + clk3_req_pee1, gmi_wp_n_pc7, gmi_iordy_pi5, gmi_wait_pi7, 49 + gmi_adv_n_pk0, gmi_clk_pk1, gmi_cs0_n_pj0, gmi_cs1_n_pj2, 50 + gmi_cs2_n_pk3, gmi_cs3_n_pk4, gmi_cs4_n_pk2, gmi_cs6_n_pi3, 51 + gmi_cs7_n_pi6, gmi_ad0_pg0, gmi_ad1_pg1, gmi_ad2_pg2, 52 + gmi_ad3_pg3, gmi_ad4_pg4, gmi_ad5_pg5, gmi_ad6_pg6, 53 + gmi_ad7_pg7, gmi_ad8_ph0, gmi_ad9_ph1, gmi_ad10_ph2, 54 + gmi_ad11_ph3, gmi_ad12_ph4, gmi_ad13_ph5, gmi_ad14_ph6, 55 + gmi_ad15_ph7, gmi_a16_pj7, gmi_a17_pb0, gmi_a18_pb1, 56 + gmi_a19_pk7, gmi_wr_n_pi0, gmi_oe_n_pi1, gmi_dqs_p_pj3, 57 + gmi_rst_n_pi4, gen2_i2c_scl_pt5, gen2_i2c_sda_pt6, 58 + sdmmc4_clk_pcc4, sdmmc4_cmd_pt7, sdmmc4_dat0_paa0, 59 + sdmmc4_dat1_paa1, sdmmc4_dat2_paa2, sdmmc4_dat3_paa3, 60 + sdmmc4_dat4_paa4, sdmmc4_dat5_paa5, sdmmc4_dat6_paa6, 61 + sdmmc4_dat7_paa7, cam_mclk_pcc0, pcc1, pbb0, 62 + cam_i2c_scl_pbb1, cam_i2c_sda_pbb2, pbb3, pbb4, pbb5, pbb6, 63 + pbb7, pcc2, pwr_i2c_scl_pz6, pwr_i2c_sda_pz7, kb_row0_pr0, 64 + kb_row1_pr1, kb_row2_pr2, kb_row3_pr3, kb_row4_pr4, 65 + kb_row5_pr5, kb_row6_pr6, kb_row7_pr7, kb_row8_ps0, 66 + kb_row9_ps1, kb_row10_ps2, kb_col0_pq0, kb_col1_pq1, 67 + kb_col2_pq2, kb_col3_pq3, kb_col4_pq4, kb_col5_pq5, 68 + kb_col6_pq6, kb_col7_pq7, clk_32k_out_pa0, sys_clk_req_pz5, 69 + core_pwr_req, cpu_pwr_req, pwr_int_n, owr, dap1_fs_pn0, 70 + dap1_din_pn1, dap1_dout_pn2, dap1_sclk_pn3, clk1_req_pee2, 71 + clk1_out_pw4, spdif_in_pk6, spdif_out_pk5, dap2_fs_pa2, 72 + dap2_din_pa4, dap2_dout_pa5, dap2_sclk_pa3, dvfs_pwm_px0, 73 + gpio_x1_aud_px1, gpio_x3_aud_px3, dvfs_clk_px2, 74 + gpio_x4_aud_px4, gpio_x5_aud_px5, gpio_x6_aud_px6, 75 + gpio_x7_aud_px7, sdmmc3_clk_pa6, sdmmc3_cmd_pa7, 76 + sdmmc3_dat0_pb7, sdmmc3_dat1_pb6, sdmmc3_dat2_pb5, 77 + sdmmc3_dat3_pb4, hdmi_cec_pee3, sdmmc1_wp_n_pv3, 78 + sdmmc3_cd_n_pv2, gpio_w2_aud_pw2, gpio_w3_aud_pw3, 79 + usb_vbus_en0_pn4, usb_vbus_en1_pn5, sdmmc3_clk_lb_in_pee5, 80 + sdmmc3_clk_lb_out_pee4, reset_out_n, 81 + # drive groups 82 + drive_ao1, drive_ao2, drive_at1, drive_at2, drive_at3, 83 + drive_at4, drive_at5, drive_cdev1, drive_cdev2, drive_dap1, 84 + drive_dap2, drive_dap3, drive_dap4, drive_dbg, drive_sdio3, 85 + drive_spi, drive_uaa, drive_uab, drive_uart2, drive_uart3, 86 + drive_sdio1, drive_ddc, drive_gma, drive_gme, drive_gmf, 87 + drive_gmg, drive_gmh, drive_owr, drive_uda ] 88 + 89 + nvidia,function: 90 + enum: [ blink, cec, cldvfs, clk12, cpu, dap, dap1, dap2, dev3, 91 + displaya, displaya_alt, displayb, dtv, emc_dll, extperiph1, 92 + extperiph2, extperiph3, gmi, gmi_alt, hda, hsi, i2c1, i2c2, 93 + i2c3, i2c4, i2cpwr, i2s0, i2s1, i2s2, i2s3, i2s4, irda, kbc, 94 + nand, nand_alt, owr, pmi, pwm0, pwm1, pwm2, pwm3, pwron, 95 + reset_out_n, rsvd1, rsvd2, rsvd3, rsvd4, sdmmc1, sdmmc2, 96 + sdmmc3, sdmmc4, soc, spdif, spi1, spi2, spi3, spi4, spi5, 97 + spi6, sysclk, trace, uarta, uartb, uartc, uartd, ulpi, usb, 98 + vgp1, vgp2, vgp3, vgp4, vgp5, vgp6, vi, vi_alt1, vi_alt3 ] 99 + 100 + nvidia,pull: true 101 + nvidia,tristate: true 102 + nvidia,schmitt: true 103 + nvidia,pull-down-strength: true 104 + nvidia,pull-up-strength: true 105 + nvidia,high-speed-mode: true 106 + nvidia,low-power-mode: true 107 + nvidia,enable-input: true 108 + nvidia,open-drain: true 109 + nvidia,lock: true 110 + nvidia,io-reset: true 111 + nvidia,rcv-sel: true 112 + nvidia,drive-type: true 113 + nvidia,slew-rate-rising: true 114 + nvidia,slew-rate-falling: true 115 + 116 + required: 117 + - nvidia,pins 118 + 119 + additionalProperties: false 120 + 121 + required: 122 + - compatible 123 + - reg 124 + 125 + examples: 126 + - | 127 + pinmux@70000868 { 128 + compatible = "nvidia,tegra114-pinmux"; 129 + reg = <0x70000868 0x148>, /* Pad control registers */ 130 + <0x70003000 0x40c>; /* PinMux registers */ 131 + 132 + pinmux { 133 + sdmmc4_clk_pcc4 { 134 + nvidia,pins = "sdmmc4_clk_pcc4"; 135 + nvidia,function = "sdmmc4"; 136 + nvidia,pull = <0>; 137 + nvidia,tristate = <0>; 138 + }; 139 + 140 + sdmmc4_dat0_paa0 { 141 + nvidia,pins = "sdmmc4_dat0_paa0", 142 + "sdmmc4_dat1_paa1", 143 + "sdmmc4_dat2_paa2", 144 + "sdmmc4_dat3_paa3", 145 + "sdmmc4_dat4_paa4", 146 + "sdmmc4_dat5_paa5", 147 + "sdmmc4_dat6_paa6", 148 + "sdmmc4_dat7_paa7"; 149 + nvidia,function = "sdmmc4"; 150 + nvidia,pull = <2>; 151 + nvidia,tristate = <0>; 152 + }; 153 + }; 154 + }; 155 + ...
-153
Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-pinmux.txt
··· 1 - NVIDIA Tegra124 pinmux controller 2 - 3 - The Tegra124 pinctrl binding is very similar to the Tegra20 and Tegra30 4 - pinctrl binding, as described in nvidia,tegra20-pinmux.txt and 5 - nvidia,tegra30-pinmux.txt. In fact, this document assumes that binding as 6 - a baseline, and only documents the differences between the two bindings. 7 - 8 - Required properties: 9 - - compatible: For Tegra124, must contain "nvidia,tegra124-pinmux". For 10 - Tegra132, must contain '"nvidia,tegra132-pinmux", "nvidia-tegra124-pinmux"'. 11 - - reg: Should contain a list of base address and size pairs for: 12 - -- first entry - the drive strength and pad control registers. 13 - -- second entry - the pinmux registers 14 - -- third entry - the MIPI_PAD_CTRL register 15 - 16 - Tegra124 adds the following optional properties for pin configuration subnodes. 17 - The macros for options are defined in the 18 - include/dt-binding/pinctrl/pinctrl-tegra.h. 19 - - nvidia,enable-input: Integer. Enable the pin's input path. 20 - enable :TEGRA_PIN_ENABLE and 21 - disable or output only: TEGRA_PIN_DISABLE. 22 - - nvidia,open-drain: Integer. 23 - enable: TEGRA_PIN_ENABLE. 24 - disable: TEGRA_PIN_DISABLE. 25 - - nvidia,lock: Integer. Lock the pin configuration against further changes 26 - until reset. 27 - enable: TEGRA_PIN_ENABLE. 28 - disable: TEGRA_PIN_DISABLE. 29 - - nvidia,io-reset: Integer. Reset the IO path. 30 - enable: TEGRA_PIN_ENABLE. 31 - disable: TEGRA_PIN_DISABLE. 32 - - nvidia,rcv-sel: Integer. Select VIL/VIH receivers. 33 - normal: TEGRA_PIN_DISABLE 34 - high: TEGRA_PIN_ENABLE 35 - 36 - Please refer the Tegra TRM for complete details regarding which groups 37 - support which functionality. 38 - 39 - Valid values for pin and group names are: 40 - 41 - per-pin mux groups: 42 - 43 - These all support nvidia,function, nvidia,tristate, nvidia,pull, 44 - nvidia,enable-input. Some support nvidia,lock nvidia,open-drain, 45 - nvidia,io-reset and nvidia,rcv-sel. 46 - 47 - ulpi_data0_po1, ulpi_data1_po2, ulpi_data2_po3, ulpi_data3_po4, 48 - ulpi_data4_po5, ulpi_data5_po6, ulpi_data6_po7, ulpi_data7_po0, 49 - ulpi_clk_py0, ulpi_dir_py1, ulpi_nxt_py2, ulpi_stp_py3, dap3_fs_pp0, 50 - dap3_din_pp1, dap3_dout_pp2, dap3_sclk_pp3, pv0, pv1, sdmmc1_clk_pz0, 51 - sdmmc1_cmd_pz1, sdmmc1_dat3_py4, sdmmc1_dat2_py5, sdmmc1_dat1_py6, 52 - sdmmc1_dat0_py7, clk2_out_pw5, clk2_req_pcc5, hdmi_int_pn7, ddc_scl_pv4, 53 - ddc_sda_pv5, uart2_rxd_pc3, uart2_txd_pc2, uart2_rts_n_pj6, 54 - uart2_cts_n_pj5, uart3_txd_pw6, uart3_rxd_pw7, uart3_cts_n_pa1, 55 - uart3_rts_n_pc0, pu0, pu1, pu2, pu3, pu4, pu5, pu6, gen1_i2c_scl_pc4, 56 - gen1_i2c_sda_pc5, dap4_fs_pp4, dap4_din_pp5, dap4_dout_pp6, 57 - dap4_sclk_pp7, clk3_out_pee0, clk3_req_pee1, pc7, pi5, pi7, pk0, pk1, 58 - pj0, pj2, pk3, pk4, pk2, pi3, pi6, pg0, pg1, pg2, pg3, pg4, pg5, pg6, 59 - pg7, ph0, ph1, ph2, ph3, ph4, ph5, ph6, ph7, pj7, pb0, pb1, pk7, pi0, 60 - pi1, pi2, pi4, gen2_i2c_scl_pt5, gen2_i2c_sda_pt6, sdmmc4_clk_pcc4, 61 - sdmmc4_cmd_pt7, sdmmc4_dat0_paa0, sdmmc4_dat1_paa1, sdmmc4_dat2_paa2, 62 - sdmmc4_dat3_paa3, sdmmc4_dat4_paa4, sdmmc4_dat5_paa5, sdmmc4_dat6_paa6, 63 - sdmmc4_dat7_paa7, cam_mclk_pcc0, pcc1, pbb0, cam_i2c_scl_pbb1, 64 - cam_i2c_sda_pbb2, pbb3, pbb4, pbb5, pbb6, pbb7, pcc2, jtag_rtck, 65 - pwr_i2c_scl_pz6, pwr_i2c_sda_pz7, kb_row0_pr0, kb_row1_pr1, kb_row2_pr2, 66 - kb_row3_pr3, kb_row4_pr4, kb_row5_pr5, kb_row6_pr6, kb_row7_pr7, 67 - kb_row8_ps0, kb_row9_ps1, kb_row10_ps2, kb_row11_ps3, kb_row12_ps4, 68 - kb_row13_ps5, kb_row14_ps6, kb_row15_ps7, kb_col0_pq0, kb_col1_pq1, 69 - kb_col2_pq2, kb_col3_pq3, kb_col4_pq4, kb_col5_pq5, kb_col6_pq6, 70 - kb_col7_pq7, clk_32k_out_pa0, core_pwr_req, cpu_pwr_req, pwr_int_n, 71 - clk_32k_in, owr, dap1_fs_pn0, dap1_din_pn1, dap1_dout_pn2, 72 - dap1_sclk_pn3, dap_mclk1_req_pee2, dap_mclk1_pw4, spdif_in_pk6, 73 - spdif_out_pk5, dap2_fs_pa2, dap2_din_pa4, dap2_dout_pa5, dap2_sclk_pa3, 74 - dvfs_pwm_px0, gpio_x1_aud_px1, gpio_x3_aud_px3, dvfs_clk_px2, 75 - gpio_x4_aud_px4, gpio_x5_aud_px5, gpio_x6_aud_px6, gpio_x7_aud_px7, 76 - sdmmc3_clk_pa6, sdmmc3_cmd_pa7, sdmmc3_dat0_pb7, sdmmc3_dat1_pb6, 77 - sdmmc3_dat2_pb5, sdmmc3_dat3_pb4, pex_l0_rst_n_pdd1, 78 - pex_l0_clkreq_n_pdd2, pex_wake_n_pdd3, pex_l1_rst_n_pdd5, 79 - pex_l1_clkreq_n_pdd6, hdmi_cec_pee3, sdmmc1_wp_n_pv3, 80 - sdmmc3_cd_n_pv2, gpio_w2_aud_pw2, gpio_w3_aud_pw3, usb_vbus_en0_pn4, 81 - usb_vbus_en1_pn5, sdmmc3_clk_lb_out_pee4, sdmmc3_clk_lb_in_pee5, 82 - gmi_clk_lb, reset_out_n, kb_row16_pt0, kb_row17_pt1, usb_vbus_en2_pff1, 83 - pff2, dp_hpd_pff0, 84 - 85 - drive groups: 86 - 87 - These all support nvidia,pull-down-strength, nvidia,pull-up-strength, 88 - nvidia,slew-rate-rising, nvidia,slew-rate-falling. Most but not all 89 - support nvidia,high-speed-mode, nvidia,schmitt, nvidia,low-power-mode 90 - and nvidia,drive-type. 91 - 92 - ao1, ao2, at1, at2, at3, at4, at5, cdev1, cdev2, dap1, dap2, dap3, dap4, 93 - dbg, sdio3, spi, uaa, uab, uart2, uart3, sdio1, ddc, gma, gme, gmf, gmg, 94 - gmh, owr, uda, gpv, dev3, cec, usb_vbus_en, ao3, ao0, hv0, sdio4, ao4. 95 - 96 - MIPI pad control groups: 97 - 98 - These support only the nvidia,function property. 99 - 100 - dsi_b 101 - 102 - Valid values for nvidia,functions are: 103 - 104 - blink, cec, cldvfs, clk12, cpu, dap, dap1, dap2, dev3, displaya, 105 - displaya_alt, displayb, dtv, extperiph1, extperiph2, extperiph3, 106 - gmi, gmi_alt, hda, hsi, i2c1, i2c2, i2c3, i2c4, i2cpwr, i2s0, 107 - i2s1, i2s2, i2s3, i2s4, irda, kbc, owr, pmi, pwm0, pwm1, pwm2, pwm3, 108 - pwron, reset_out_n, rsvd1, rsvd2, rsvd3, rsvd4, sdmmc1, sdmmc2, sdmmc3, 109 - sdmmc4, soc, spdif, spi1, spi2, spi3, spi4, spi5, spi6, trace, uarta, 110 - uartb, uartc, uartd, ulpi, usb, vgp1, vgp2, vgp3, vgp4, vgp5, vgp6, 111 - vi, vi_alt1, vi_alt3, vimclk2, vimclk2_alt, sata, ccla, pe0, pe, pe1, 112 - dp, rtck, sys, clk tmds, csi, dsi_b 113 - 114 - Example: 115 - 116 - pinmux: pinmux { 117 - compatible = "nvidia,tegra124-pinmux"; 118 - reg = <0x0 0x70000868 0x0 0x164>, /* Pad control registers */ 119 - <0x0 0x70003000 0x0 0x434>, /* Mux registers */ 120 - <0x0 0x70000820 0x0 0x8>; /* MIPI pad control */ 121 - }; 122 - 123 - Example pinmux entries: 124 - 125 - pinctrl { 126 - sdmmc4_default: pinmux { 127 - sdmmc4_clk_pcc4 { 128 - nvidia,pins = "sdmmc4_clk_pcc4", 129 - nvidia,function = "sdmmc4"; 130 - nvidia,pull = <TEGRA_PIN_PULL_NONE>; 131 - nvidia,tristate = <TEGRA_PIN_DISABLE>; 132 - }; 133 - 134 - sdmmc4_dat0_paa0 { 135 - nvidia,pins = "sdmmc4_dat0_paa0", 136 - "sdmmc4_dat1_paa1", 137 - "sdmmc4_dat2_paa2", 138 - "sdmmc4_dat3_paa3", 139 - "sdmmc4_dat4_paa4", 140 - "sdmmc4_dat5_paa5", 141 - "sdmmc4_dat6_paa6", 142 - "sdmmc4_dat7_paa7"; 143 - nvidia,function = "sdmmc4"; 144 - nvidia,pull = <TEGRA_PIN_PULL_UP>; 145 - nvidia,tristate = <TEGRA_PIN_DISABLE>; 146 - }; 147 - }; 148 - }; 149 - 150 - sdhci@78000400 { 151 - pinctrl-names = "default"; 152 - pinctrl-0 = <&sdmmc4_default>; 153 - };
+176
Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-pinmux.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/pinctrl/nvidia,tegra124-pinmux.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: NVIDIA Tegra124 Pinmux Controller 8 + 9 + maintainers: 10 + - Thierry Reding <thierry.reding@gmail.com> 11 + - Jon Hunter <jonathanh@nvidia.com> 12 + 13 + description: The Tegra124 pinctrl binding is very similar to the Tegra20 and 14 + Tegra30 pinctrl binding, as described in nvidia,tegra20-pinmux.yaml and 15 + nvidia,tegra30-pinmux.yaml. In fact, this document assumes that binding as a 16 + baseline, and only documents the differences between the two bindings. 17 + 18 + properties: 19 + compatible: 20 + oneOf: 21 + - const: nvidia,tegra124-pinmux 22 + - items: 23 + - const: nvidia,tegra132-pinmux 24 + - const: nvidia,tegra124-pinmux 25 + 26 + reg: 27 + items: 28 + - description: driver strength and pad control registers 29 + - description: pinmux registers 30 + - description: MIPI_PAD_CTRL registers 31 + 32 + patternProperties: 33 + "^pinmux(-[a-z0-9-_]+)?$": 34 + type: object 35 + properties: 36 + phandle: true 37 + 38 + # pin groups 39 + additionalProperties: 40 + $ref: nvidia,tegra-pinmux-common.yaml 41 + additionalProperties: false 42 + properties: 43 + nvidia,pins: 44 + $ref: /schemas/types.yaml#/definitions/string-array 45 + items: 46 + enum: [ ulpi_data0_po1, ulpi_data1_po2, ulpi_data2_po3, 47 + ulpi_data3_po4, ulpi_data4_po5, ulpi_data5_po6, 48 + ulpi_data6_po7, ulpi_data7_po0, ulpi_clk_py0, ulpi_dir_py1, 49 + ulpi_nxt_py2, ulpi_stp_py3, dap3_fs_pp0, dap3_din_pp1, 50 + dap3_dout_pp2, dap3_sclk_pp3, pv0, pv1, sdmmc1_clk_pz0, 51 + sdmmc1_cmd_pz1, sdmmc1_dat3_py4, sdmmc1_dat2_py5, 52 + sdmmc1_dat1_py6, sdmmc1_dat0_py7, clk2_out_pw5, 53 + clk2_req_pcc5, hdmi_int_pn7, ddc_scl_pv4, ddc_sda_pv5, 54 + uart2_rxd_pc3, uart2_txd_pc2, uart2_rts_n_pj6, 55 + uart2_cts_n_pj5, uart3_txd_pw6, uart3_rxd_pw7, 56 + uart3_cts_n_pa1, uart3_rts_n_pc0, pu0, pu1, pu2, pu3, pu4, 57 + pu5, pu6, gen1_i2c_scl_pc4, gen1_i2c_sda_pc5, dap4_fs_pp4, 58 + dap4_din_pp5, dap4_dout_pp6, dap4_sclk_pp7, clk3_out_pee0, 59 + clk3_req_pee1, pc7, pi5, pi7, pk0, pk1, pj0, pj2, pk3, pk4, 60 + pk2, pi3, pi6, pg0, pg1, pg2, pg3, pg4, pg5, pg6, pg7, ph0, 61 + ph1, ph2, ph3, ph4, ph5, ph6, ph7, pj7, pb0, pb1, pk7, pi0, 62 + pi1, pi2, pi4, gen2_i2c_scl_pt5, gen2_i2c_sda_pt6, 63 + sdmmc4_clk_pcc4, sdmmc4_cmd_pt7, sdmmc4_dat0_paa0, 64 + sdmmc4_dat1_paa1, sdmmc4_dat2_paa2, sdmmc4_dat3_paa3, 65 + sdmmc4_dat4_paa4, sdmmc4_dat5_paa5, sdmmc4_dat6_paa6, 66 + sdmmc4_dat7_paa7, cam_mclk_pcc0, pcc1, pbb0, 67 + cam_i2c_scl_pbb1, cam_i2c_sda_pbb2, pbb3, pbb4, pbb5, pbb6, 68 + pbb7, pcc2, jtag_rtck, pwr_i2c_scl_pz6, pwr_i2c_sda_pz7, 69 + kb_row0_pr0, kb_row1_pr1, kb_row2_pr2, kb_row3_pr3, 70 + kb_row4_pr4, kb_row5_pr5, kb_row6_pr6, kb_row7_pr7, 71 + kb_row8_ps0, kb_row9_ps1, kb_row10_ps2, kb_row11_ps3, 72 + kb_row12_ps4, kb_row13_ps5, kb_row14_ps6, kb_row15_ps7, 73 + kb_col0_pq0, kb_col1_pq1, kb_col2_pq2, kb_col3_pq3, 74 + kb_col4_pq4, kb_col5_pq5, kb_col6_pq6, kb_col7_pq7, 75 + clk_32k_out_pa0, core_pwr_req, cpu_pwr_req, pwr_int_n, 76 + clk_32k_in, owr, dap1_fs_pn0, dap1_din_pn1, dap1_dout_pn2, 77 + dap1_sclk_pn3, dap_mclk1_req_pee2, dap_mclk1_pw4, 78 + spdif_in_pk6, spdif_out_pk5, dap2_fs_pa2, dap2_din_pa4, 79 + dap2_dout_pa5, dap2_sclk_pa3, dvfs_pwm_px0, 80 + gpio_x1_aud_px1, gpio_x3_aud_px3, dvfs_clk_px2, 81 + gpio_x4_aud_px4, gpio_x5_aud_px5, gpio_x6_aud_px6, 82 + gpio_x7_aud_px7, sdmmc3_clk_pa6, sdmmc3_cmd_pa7, 83 + sdmmc3_dat0_pb7, sdmmc3_dat1_pb6, sdmmc3_dat2_pb5, 84 + sdmmc3_dat3_pb4, pex_l0_rst_n_pdd1, pex_l0_clkreq_n_pdd2, 85 + pex_wake_n_pdd3, pex_l1_rst_n_pdd5, pex_l1_clkreq_n_pdd6, 86 + hdmi_cec_pee3, sdmmc1_wp_n_pv3, sdmmc3_cd_n_pv2, 87 + gpio_w2_aud_pw2, gpio_w3_aud_pw3, usb_vbus_en0_pn4, 88 + usb_vbus_en1_pn5, sdmmc3_clk_lb_out_pee4, 89 + sdmmc3_clk_lb_in_pee5, gmi_clk_lb, reset_out_n, 90 + kb_row16_pt0, kb_row17_pt1, usb_vbus_en2_pff1, pff2, 91 + dp_hpd_pff0, 92 + # drive groups 93 + drive_ao1, drive_ao2, drive_at1, drive_at2, drive_at3, 94 + drive_at4, drive_at5, drive_cdev1, drive_cdev2, drive_dap1, 95 + drive_dap2, drive_dap3, drive_dap4, drive_dbg, drive_sdio3, 96 + drive_spi, drive_uaa, drive_uab, drive_uart2, drive_uart3, 97 + drive_sdio1, drive_ddc, drive_gma, drive_gme, drive_gmf, 98 + drive_gmg, drive_gmh, drive_owr, drive_uda, drive_gpv, 99 + drive_dev3, drive_cec, drive_usb_vbus_en, drive_ao3, 100 + drive_ao0, drive_hv0, drive_sdio4, drive_ao4, 101 + # MIPI pad control groups 102 + mipi_pad_ctrl_dsi_b ] 103 + 104 + nvidia,function: 105 + enum: [ blink, cec, cldvfs, clk12, cpu, dap, dap1, dap2, dev3, 106 + displaya, displaya_alt, displayb, dtv, extperiph1, 107 + extperiph2, extperiph3, gmi, gmi_alt, hda, hsi, i2c1, i2c2, 108 + i2c3, i2c4, i2cpwr, i2s0, i2s1, i2s2, i2s3, i2s4, irda, kbc, 109 + owr, pmi, pwm0, pwm1, pwm2, pwm3, pwron, reset_out_n, rsvd1, 110 + rsvd2, rsvd3, rsvd4, sdmmc1, sdmmc2, sdmmc3, sdmmc4, soc, 111 + spdif, spi1, spi2, spi3, spi4, spi5, spi6, trace, uarta, 112 + uartb, uartc, uartd, ulpi, usb, vgp1, vgp2, vgp3, vgp4, vgp5, 113 + vgp6, vi, vi_alt1, vi_alt3, vimclk2, vimclk2_alt, sata, ccla, 114 + pe0, pe, pe1, dp, rtck, sys, clk, tmds, csi, dsi_b ] 115 + 116 + nvidia,pull: true 117 + nvidia,tristate: true 118 + nvidia,schmitt: true 119 + nvidia,pull-down-strength: true 120 + nvidia,pull-up-strength: true 121 + nvidia,high-speed-mode: true 122 + nvidia,low-power-mode: true 123 + nvidia,enable-input: true 124 + nvidia,open-drain: true 125 + nvidia,lock: true 126 + nvidia,io-reset: true 127 + nvidia,rcv-sel: true 128 + nvidia,drive-type: true 129 + nvidia,slew-rate-rising: true 130 + nvidia,slew-rate-falling: true 131 + 132 + required: 133 + - nvidia,pins 134 + 135 + additionalProperties: false 136 + 137 + required: 138 + - compatible 139 + - reg 140 + 141 + examples: 142 + - | 143 + #include <dt-bindings/clock/tegra124-car.h> 144 + #include <dt-bindings/interrupt-controller/arm-gic.h> 145 + #include <dt-bindings/pinctrl/pinctrl-tegra.h> 146 + 147 + pinmux@70000868 { 148 + compatible = "nvidia,tegra124-pinmux"; 149 + reg = <0x70000868 0x164>, /* Pad control registers */ 150 + <0x70003000 0x434>, /* Mux registers */ 151 + <0x70000820 0x8>; /* MIPI pad control */ 152 + 153 + sdmmc4_default: pinmux { 154 + sdmmc4_clk_pcc4 { 155 + nvidia,pins = "sdmmc4_clk_pcc4"; 156 + nvidia,function = "sdmmc4"; 157 + nvidia,pull = <TEGRA_PIN_PULL_NONE>; 158 + nvidia,tristate = <TEGRA_PIN_DISABLE>; 159 + }; 160 + 161 + sdmmc4_dat0_paa0 { 162 + nvidia,pins = "sdmmc4_dat0_paa0", 163 + "sdmmc4_dat1_paa1", 164 + "sdmmc4_dat2_paa2", 165 + "sdmmc4_dat3_paa3", 166 + "sdmmc4_dat4_paa4", 167 + "sdmmc4_dat5_paa5", 168 + "sdmmc4_dat6_paa6", 169 + "sdmmc4_dat7_paa7"; 170 + nvidia,function = "sdmmc4"; 171 + nvidia,pull = <TEGRA_PIN_PULL_UP>; 172 + nvidia,tristate = <TEGRA_PIN_DISABLE>; 173 + }; 174 + }; 175 + }; 176 + ...
-107
Documentation/devicetree/bindings/pinctrl/nvidia,tegra194-pinmux.txt
··· 1 - NVIDIA Tegra194 pinmux controller 2 - 3 - Required properties: 4 - - compatible: "nvidia,tegra194-pinmux" 5 - - reg: Should contain a list of base address and size pairs for: 6 - - first entry: The APB_MISC_GP_*_PADCTRL registers (pad control) 7 - - second entry: The PINMUX_AUX_* registers (pinmux) 8 - 9 - Please refer to pinctrl-bindings.txt in this directory for details of the 10 - common pinctrl bindings used by client devices, including the meaning of the 11 - phrase "pin configuration node". 12 - 13 - Tegra's pin configuration nodes act as a container for an arbitrary number of 14 - subnodes. Each of these subnodes represents some desired configuration for a 15 - pin, a group, or a list of pins or groups. This configuration can include the 16 - mux function to select on those pin(s)/group(s), and various pin configuration 17 - parameters, such as pull-up, tristate, drive strength, etc. 18 - 19 - See the TRM to determine which properties and values apply to each pin/group. 20 - Macro values for property values are defined in 21 - include/dt-binding/pinctrl/pinctrl-tegra.h. 22 - 23 - Required subnode-properties: 24 - - nvidia,pins : An array of strings. Each string contains the name of a pin or 25 - group. Valid values for these names are listed below. 26 - 27 - Optional subnode-properties: 28 - - nvidia,function: A string containing the name of the function to mux to the 29 - pin or group. 30 - - nvidia,pull: Integer, representing the pull-down/up to apply to the pin. 31 - 0: none, 1: down, 2: up. 32 - - nvidia,tristate: Integer. 33 - 0: drive, 1: tristate. 34 - - nvidia,enable-input: Integer. Enable the pin's input path. 35 - enable :TEGRA_PIN_ENABLE and 36 - disable or output only: TEGRA_PIN_DISABLE. 37 - - nvidia,open-drain: Integer. 38 - enable: TEGRA_PIN_ENABLE. 39 - disable: TEGRA_PIN_DISABLE. 40 - - nvidia,lock: Integer. Lock the pin configuration against further changes 41 - until reset. 42 - enable: TEGRA_PIN_ENABLE. 43 - disable: TEGRA_PIN_DISABLE. 44 - - nvidia,io-hv: Integer. Select high-voltage receivers. 45 - normal: TEGRA_PIN_DISABLE 46 - high: TEGRA_PIN_ENABLE 47 - - nvidia,schmitt: Integer. Enables Schmitt Trigger on the input. 48 - normal: TEGRA_PIN_DISABLE 49 - high: TEGRA_PIN_ENABLE 50 - - nvidia,drive-type: Integer. Valid range 0...3. 51 - - nvidia,pull-down-strength: Integer. Controls drive strength. 0 is weakest. 52 - The range of valid values depends on the pingroup. See "CAL_DRVDN" in the 53 - Tegra TRM. 54 - - nvidia,pull-up-strength: Integer. Controls drive strength. 0 is weakest. 55 - The range of valid values depends on the pingroup. See "CAL_DRVUP" in the 56 - Tegra TRM. 57 - 58 - Valid values for pin and group names (nvidia,pin) are: 59 - 60 - These correspond to Tegra PADCTL_* (pinmux) registers. 61 - 62 - Mux groups: 63 - 64 - These correspond to Tegra PADCTL_* (pinmux) registers. Any property 65 - that exists in those registers may be set for the following pin names. 66 - 67 - pex_l5_clkreq_n_pgg0, pex_l5_rst_n_pgg1 68 - 69 - Drive groups: 70 - 71 - These registers controls a single pin for which a mux group exists. 72 - See the list above for the pin name to use when configuring the pinmux. 73 - 74 - pex_l5_clkreq_n_pgg0, pex_l5_rst_n_pgg1 75 - 76 - Valid values for nvidia,functions are: 77 - 78 - pe5 79 - 80 - Power Domain: 81 - pex_l5_clkreq_n_pgg0 and pex_l5_rst_n_pgg1 are part of PCIE C5 power 82 - partition. Client devices must enable this partition before accessing 83 - these pins here. 84 - 85 - 86 - Example: 87 - 88 - tegra_pinctrl: pinmux: pinmux@2430000 { 89 - compatible = "nvidia,tegra194-pinmux"; 90 - reg = <0x2430000 0x17000 91 - 0xc300000 0x4000>; 92 - 93 - pinctrl-names = "pex_rst"; 94 - pinctrl-0 = <&pex_rst_c5_out_state>; 95 - 96 - pex_rst_c5_out_state: pex_rst_c5_out { 97 - pex_rst { 98 - nvidia,pins = "pex_l5_rst_n_pgg1"; 99 - nvidia,schmitt = <TEGRA_PIN_DISABLE>; 100 - nvidia,lpdr = <TEGRA_PIN_ENABLE>; 101 - nvidia,enable-input = <TEGRA_PIN_DISABLE>; 102 - nvidia,io-hv = <TEGRA_PIN_ENABLE>; 103 - nvidia,tristate = <TEGRA_PIN_DISABLE>; 104 - nvidia,pull = <TEGRA_PIN_PULL_NONE>; 105 - }; 106 - }; 107 - };
+284
Documentation/devicetree/bindings/pinctrl/nvidia,tegra194-pinmux.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/pinctrl/nvidia,tegra194-pinmux.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: NVIDIA Tegra194 Pinmux Controller 8 + 9 + maintainers: 10 + - Thierry Reding <thierry.reding@gmail.com> 11 + - Jon Hunter <jonathanh@nvidia.com> 12 + 13 + properties: 14 + compatible: 15 + enum: 16 + - nvidia,tegra194-pinmux 17 + - nvidia,tegra194-pinmux-aon 18 + 19 + reg: 20 + items: 21 + - description: pinmux registers 22 + 23 + patternProperties: 24 + "^pinmux(-[a-z0-9-_]+)?$": 25 + type: object 26 + properties: 27 + phandle: true 28 + 29 + # pin groups 30 + additionalProperties: 31 + $ref: nvidia,tegra-pinmux-common.yaml 32 + unevaluatedProperties: false 33 + properties: 34 + nvidia,function: 35 + enum: [ aud, can0, can1, ccla, dca, dcb, dgpu, directdc, directdc1, 36 + displaya, displayb, dmic1, dmic2, dmic3, dmic4, dmic5, dp, 37 + dspk0, dspk1, eqos, extperiph1, extperiph2, extperiph3, 38 + extperiph4, gp, gpio, hdmi, i2c1, i2c2, i2c3, i2c5, i2c8, 39 + i2s1, i2s2, i2s3, i2s4, i2s5, i2s6, igpu, iqc1, iqc2, mipi, 40 + nv, pe0, pe1, pe2, pe3, pe4, pe5, qspi, qspi0, qspi1, rsvd0, 41 + rsvd1, rsvd2, rsvd3, sata, sce, sdmmc1, sdmmc3, sdmmc4, slvs, 42 + soc, spdif, spi1, spi2, spi3, touch, uarta, uartb, uartc, 43 + uartd, uarte, uartg, ufs0, usb, vgp1, vgp2, vgp3, vgp4, vgp5, 44 + vgp6, wdt ] 45 + 46 + nvidia,pull: true 47 + nvidia,tristate: true 48 + nvidia,schmitt: true 49 + nvidia,enable-input: true 50 + nvidia,open-drain: true 51 + nvidia,lock: true 52 + nvidia,drive-type: true 53 + nvidia,io-hv: true 54 + 55 + required: 56 + - nvidia,pins 57 + 58 + additionalProperties: false 59 + 60 + allOf: 61 + - if: 62 + properties: 63 + compatible: 64 + const: nvidia,tegra194-pinmux 65 + then: 66 + patternProperties: 67 + "^pinmux(-[a-z0-9-_]+)?$": 68 + type: object 69 + additionalProperties: 70 + properties: 71 + nvidia,pins: 72 + description: An array of strings. Each string contains the name 73 + of a pin or group. Valid values for these names are listed 74 + below. 75 + 76 + Note that the pex_l5_clkreq_n_pgg0 and pex_l5_rst_n_pgg1 pins 77 + are part of PCIE C5 power partition. Client devices must 78 + enable this partition before accessing the configuration for 79 + these pins. 80 + items: 81 + enum: [ dap6_sclk_pa0, dap6_dout_pa1, dap6_din_pa2, 82 + dap6_fs_pa3, dap4_sclk_pa4, dap4_dout_pa5, 83 + dap4_din_pa6, dap4_fs_pa7, cpu_pwr_req_0_pb0, 84 + cpu_pwr_req_1_pb1, qspi0_sck_pc0, qspi0_cs_n_pc1, 85 + qspi0_io0_pc2, qspi0_io1_pc3, qspi0_io2_pc4, 86 + qspi0_io3_pc5, qspi1_sck_pc6, qspi1_cs_n_pc7, 87 + qspi1_io0_pd0, qspi1_io1_pd1, qspi1_io2_pd2, 88 + qspi1_io3_pd3, eqos_txc_pe0, eqos_td0_pe1, 89 + eqos_td1_pe2, eqos_td2_pe3, eqos_td3_pe4, 90 + eqos_tx_ctl_pe5, eqos_rd0_pe6, eqos_rd1_pe7, 91 + eqos_rd2_pf0, eqos_rd3_pf1, eqos_rx_ctl_pf2, 92 + eqos_rxc_pf3, eqos_sma_mdio_pf4, eqos_sma_mdc_pf5, 93 + soc_gpio00_pg0, soc_gpio01_pg1, soc_gpio02_pg2, 94 + soc_gpio03_pg3, soc_gpio08_pg4, soc_gpio09_pg5, 95 + soc_gpio10_pg6, soc_gpio11_pg7, soc_gpio12_ph0, 96 + soc_gpio13_ph1, soc_gpio14_ph2, uart4_tx_ph3, 97 + uart4_rx_ph4, uart4_rts_ph5, uart4_cts_ph6, 98 + dap2_sclk_ph7, dap2_dout_pi0, dap2_din_pi1, 99 + dap2_fs_pi2, gen1_i2c_scl_pi3, gen1_i2c_sda_pi4, 100 + sdmmc1_clk_pj0, sdmmc1_cmd_pj1, sdmmc1_dat0_pj2, 101 + sdmmc1_dat1_pj3, sdmmc1_dat2_pj4, sdmmc1_dat3_pj5, 102 + pex_l0_clkreq_n_pk0, pex_l0_rst_n_pk1, 103 + pex_l1_clkreq_n_pk2, pex_l1_rst_n_pk3, 104 + pex_l2_clkreq_n_pk4, pex_l2_rst_n_pk5, 105 + pex_l3_clkreq_n_pk6, pex_l3_rst_n_pk7, 106 + pex_l4_clkreq_n_pl0, pex_l4_rst_n_pl1, 107 + pex_wake_n_pl2, sata_dev_slp_pl3, dp_aux_ch0_hpd_pm0, 108 + dp_aux_ch1_hpd_pm1, dp_aux_ch2_hpd_pm2, 109 + dp_aux_ch3_hpd_pm3, hdmi_cec_pm4, soc_gpio50_pm5, 110 + soc_gpio51_pm6, soc_gpio52_pm7, soc_gpio53_pn0, 111 + soc_gpio54_pn1, soc_gpio55_pn2, sdmmc3_clk_po0, 112 + sdmmc3_cmd_po1, sdmmc3_dat0_po2, sdmmc3_dat1_po3, 113 + sdmmc3_dat2_po4, sdmmc3_dat3_po5, extperiph1_clk_pp0, 114 + extperiph2_clk_pp1, cam_i2c_scl_pp2, cam_i2c_sda_pp3, 115 + soc_gpio04_pp4, soc_gpio05_pp5, soc_gpio06_pp6, 116 + soc_gpio07_pp7, soc_gpio20_pq0, soc_gpio21_pq1, 117 + soc_gpio22_pq2, soc_gpio23_pq3, soc_gpio40_pq4, 118 + soc_gpio41_pq5, soc_gpio42_pq6, soc_gpio43_pq7, 119 + soc_gpio44_pr0, soc_gpio45_pr1, uart1_tx_pr2, 120 + uart1_rx_pr3, uart1_rts_pr4, uart1_cts_pr5, 121 + dap1_sclk_ps0, dap1_dout_ps1, dap1_din_ps2, 122 + dap1_fs_ps3, aud_mclk_ps4, soc_gpio30_ps5, 123 + soc_gpio31_ps6, soc_gpio32_ps7, soc_gpio33_pt0, 124 + dap3_sclk_pt1, dap3_dout_pt2, dap3_din_pt3, 125 + dap3_fs_pt4, dap5_sclk_pt5, dap5_dout_pt6, 126 + dap5_din_pt7, dap5_fs_pu0, directdc1_clk_pv0, 127 + directdc1_in_pv1, directdc1_out0_pv2, 128 + directdc1_out1_pv3, directdc1_out2_pv4, 129 + directdc1_out3_pv5, directdc1_out4_pv6, 130 + directdc1_out5_pv7, directdc1_out6_pw0, 131 + directdc1_out7_pw1, gpu_pwr_req_px0, cv_pwr_req_px1, 132 + gp_pwm2_px2, gp_pwm3_px3, uart2_tx_px4, uart2_rx_px5, 133 + uart2_rts_px6, uart2_cts_px7, spi3_sck_py0, 134 + spi3_miso_py1, spi3_mosi_py2, spi3_cs0_py3, 135 + spi3_cs1_py4, uart5_tx_py5, uart5_rx_py6, 136 + uart5_rts_py7, uart5_cts_pz0, usb_vbus_en0_pz1, 137 + usb_vbus_en1_pz2, spi1_sck_pz3, spi1_miso_pz4, 138 + spi1_mosi_pz5, spi1_cs0_pz6, spi1_cs1_pz7, 139 + ufs0_ref_clk_pff0, ufs0_rst_pff1, 140 + pex_l5_clkreq_n_pgg0, pex_l5_rst_n_pgg1, 141 + directdc_comp, sdmmc4_clk, sdmmc4_cmd, sdmmc4_dqs, 142 + sdmmc4_dat7, sdmmc4_dat6, sdmmc4_dat5, sdmmc4_dat4, 143 + sdmmc4_dat3, sdmmc4_dat2, sdmmc4_dat1, sdmmc4_dat0, 144 + sdmmc1_comp, sdmmc1_hv_trim, sdmmc3_comp, 145 + sdmmc3_hv_trim, eqos_comp, qspi_comp, 146 + # drive groups 147 + drive_soc_gpio33_pt0, drive_soc_gpio32_ps7, 148 + drive_soc_gpio31_ps6, drive_soc_gpio30_ps5, 149 + drive_aud_mclk_ps4, drive_dap1_fs_ps3, 150 + drive_dap1_din_ps2, drive_dap1_dout_ps1, 151 + drive_dap1_sclk_ps0, drive_dap3_fs_pt4, 152 + drive_dap3_din_pt3, drive_dap3_dout_pt2, 153 + drive_dap3_sclk_pt1, drive_dap5_fs_pu0, 154 + drive_dap5_din_pt7, drive_dap5_dout_pt6, 155 + drive_dap5_sclk_pt5, drive_dap6_fs_pa3, 156 + drive_dap6_din_pa2, drive_dap6_dout_pa1, 157 + drive_dap6_sclk_pa0, drive_dap4_fs_pa7, 158 + drive_dap4_din_pa6, drive_dap4_dout_pa5, 159 + drive_dap4_sclk_pa4, drive_extperiph2_clk_pp1, 160 + drive_extperiph1_clk_pp0, drive_cam_i2c_sda_pp3, 161 + drive_cam_i2c_scl_pp2, drive_soc_gpio40_pq4, 162 + drive_soc_gpio41_pq5, drive_soc_gpio42_pq6, 163 + drive_soc_gpio43_pq7, drive_soc_gpio44_pr0, 164 + drive_soc_gpio45_pr1, drive_soc_gpio20_pq0, 165 + drive_soc_gpio21_pq1, drive_soc_gpio22_pq2, 166 + drive_soc_gpio23_pq3, drive_soc_gpio04_pp4, 167 + drive_soc_gpio05_pp5, drive_soc_gpio06_pp6, 168 + drive_soc_gpio07_pp7, drive_uart1_cts_pr5, 169 + drive_uart1_rts_pr4, drive_uart1_rx_pr3, 170 + drive_uart1_tx_pr2, drive_dap2_din_pi1, 171 + drive_dap2_dout_pi0, drive_dap2_fs_pi2, 172 + drive_dap2_sclk_ph7, drive_uart4_cts_ph6, 173 + drive_uart4_rts_ph5, drive_uart4_rx_ph4, 174 + drive_uart4_tx_ph3, drive_soc_gpio03_pg3, 175 + drive_soc_gpio02_pg2, drive_soc_gpio01_pg1, 176 + drive_soc_gpio00_pg0, drive_gen1_i2c_scl_pi3, 177 + drive_gen1_i2c_sda_pi4, drive_soc_gpio08_pg4, 178 + drive_soc_gpio09_pg5, drive_soc_gpio10_pg6, 179 + drive_soc_gpio11_pg7, drive_soc_gpio12_ph0, 180 + drive_soc_gpio13_ph1, drive_soc_gpio14_ph2, 181 + drive_soc_gpio50_pm5, drive_soc_gpio51_pm6, 182 + drive_soc_gpio52_pm7, drive_soc_gpio53_pn0, 183 + drive_soc_gpio54_pn1, drive_soc_gpio55_pn2, 184 + drive_dp_aux_ch0_hpd_pm0, drive_dp_aux_ch1_hpd_pm1, 185 + drive_dp_aux_ch2_hpd_pm2, drive_dp_aux_ch3_hpd_pm3, 186 + drive_hdmi_cec_pm4, drive_pex_l2_clkreq_n_pk4, 187 + drive_pex_wake_n_pl2, drive_pex_l1_clkreq_n_pk2, 188 + drive_pex_l1_rst_n_pk3, drive_pex_l0_clkreq_n_pk0, 189 + drive_pex_l0_rst_n_pk1, drive_pex_l2_rst_n_pk5, 190 + drive_pex_l3_clkreq_n_pk6, drive_pex_l3_rst_n_pk7, 191 + drive_pex_l4_clkreq_n_pl0, drive_pex_l4_rst_n_pl1, 192 + drive_sata_dev_slp_pl3, drive_pex_l5_clkreq_n_pgg0, 193 + drive_pex_l5_rst_n_pgg1, drive_cpu_pwr_req_1_pb1, 194 + drive_cpu_pwr_req_0_pb0, drive_sdmmc1_clk_pj0, 195 + drive_sdmmc1_cmd_pj1, drive_sdmmc1_dat3_pj5, 196 + drive_sdmmc1_dat2_pj4, drive_sdmmc1_dat1_pj3, 197 + drive_sdmmc1_dat0_pj2, drive_sdmmc3_dat3_po5, 198 + drive_sdmmc3_dat2_po4, drive_sdmmc3_dat1_po3, 199 + drive_sdmmc3_dat0_po2, drive_sdmmc3_cmd_po1, 200 + drive_sdmmc3_clk_po0, drive_gpu_pwr_req_px0, 201 + drive_spi3_miso_py1, drive_spi1_cs0_pz6, 202 + drive_spi3_cs0_py3, drive_spi1_miso_pz4, 203 + drive_spi3_cs1_py4, drive_gp_pwm3_px3, 204 + drive_gp_pwm2_px2, drive_spi1_sck_pz3, 205 + drive_spi3_sck_py0, drive_spi1_cs1_pz7, 206 + drive_spi1_mosi_pz5, drive_spi3_mosi_py2, 207 + drive_cv_pwr_req_px1, drive_uart2_tx_px4, 208 + drive_uart2_rx_px5, drive_uart2_rts_px6, 209 + drive_uart2_cts_px7, drive_uart5_rx_py6, 210 + drive_uart5_tx_py5, drive_uart5_rts_py7, 211 + drive_uart5_cts_pz0, drive_usb_vbus_en0_pz1, 212 + drive_usb_vbus_en1_pz2, drive_ufs0_rst_pff1, 213 + drive_ufs0_ref_clk_pff0 ] 214 + 215 + - if: 216 + properties: 217 + compatible: 218 + const: nvidia,tegra194-pinmux-aon 219 + then: 220 + patternProperties: 221 + "^pinmux(-[a-z0-9-_]+)?$": 222 + type: object 223 + additionalProperties: 224 + properties: 225 + nvidia,pins: 226 + items: 227 + enum: [ can1_dout_paa0, can1_din_paa1, can0_dout_paa2, 228 + can0_din_paa3, can0_stb_paa4, can0_en_paa5, 229 + can0_wake_paa6, can0_err_paa7, can1_stb_pbb0, 230 + can1_en_pbb1, can1_wake_pbb2, can1_err_pbb3, 231 + spi2_sck_pcc0, spi2_miso_pcc1, spi2_mosi_pcc2, 232 + spi2_cs0_pcc3, touch_clk_pcc4, uart3_tx_pcc5, 233 + uart3_rx_pcc6, gen2_i2c_scl_pcc7, gen2_i2c_sda_pdd0, 234 + gen8_i2c_scl_pdd1, gen8_i2c_sda_pdd2, 235 + safe_state_pee0, vcomp_alert_pee1, 236 + ao_retention_n_pee2, batt_oc_pee3, power_on_pee4, 237 + pwr_i2c_scl_pee5, pwr_i2c_sda_pee6, sys_reset_n, 238 + shutdown_n, pmu_int_n, soc_pwr_req, clk_32k_in, 239 + # drive groups 240 + drive_shutdown_n, drive_pmu_int_n, 241 + drive_safe_state_pee0, drive_vcomp_alert_pee1, 242 + drive_soc_pwr_req, drive_batt_oc_pee3, 243 + drive_clk_32k_in, drive_power_on_pee4, 244 + drive_pwr_i2c_scl_pee5, drive_pwr_i2c_sda_pee6, 245 + drive_ao_retention_n_pee2, drive_touch_clk_pcc4, 246 + drive_uart3_rx_pcc6, drive_uart3_tx_pcc5, 247 + drive_gen8_i2c_sda_pdd2, drive_gen8_i2c_scl_pdd1, 248 + drive_spi2_mosi_pcc2, drive_gen2_i2c_scl_pcc7, 249 + drive_spi2_cs0_pcc3, drive_gen2_i2c_sda_pdd0, 250 + drive_spi2_sck_pcc0, drive_spi2_miso_pcc1, 251 + drive_can1_dout_paa0, drive_can1_din_paa1, 252 + drive_can0_dout_paa2, drive_can0_din_paa3, 253 + drive_can0_stb_paa4, drive_can0_en_paa5, 254 + drive_can0_wake_paa6, drive_can0_err_paa7, 255 + drive_can1_stb_pbb0, drive_can1_en_pbb1, 256 + drive_can1_wake_pbb2, drive_can1_err_pbb3 ] 257 + 258 + required: 259 + - compatible 260 + - reg 261 + 262 + examples: 263 + - | 264 + #include <dt-bindings/pinctrl/pinctrl-tegra.h> 265 + 266 + pinmux@2430000 { 267 + compatible = "nvidia,tegra194-pinmux"; 268 + reg = <0x2430000 0x17000>; 269 + 270 + pinctrl-names = "pex_rst"; 271 + pinctrl-0 = <&pex_rst_c5_out_state>; 272 + 273 + pex_rst_c5_out_state: pinmux-pex-rst-c5-out { 274 + pex_rst { 275 + nvidia,pins = "pex_l5_rst_n_pgg1"; 276 + nvidia,schmitt = <TEGRA_PIN_DISABLE>; 277 + nvidia,enable-input = <TEGRA_PIN_DISABLE>; 278 + nvidia,io-hv = <TEGRA_PIN_ENABLE>; 279 + nvidia,tristate = <TEGRA_PIN_DISABLE>; 280 + nvidia,pull = <TEGRA_PIN_PULL_NONE>; 281 + }; 282 + }; 283 + }; 284 + ...
-143
Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt
··· 1 - NVIDIA Tegra20 pinmux controller 2 - 3 - Required properties: 4 - - compatible: "nvidia,tegra20-pinmux" 5 - - reg: Should contain the register physical address and length for each of 6 - the tri-state, mux, pull-up/down, and pad control register sets. 7 - 8 - Please refer to pinctrl-bindings.txt in this directory for details of the 9 - common pinctrl bindings used by client devices, including the meaning of the 10 - phrase "pin configuration node". 11 - 12 - Tegra's pin configuration nodes act as a container for an arbitrary number of 13 - subnodes. Each of these subnodes represents some desired configuration for a 14 - pin, a group, or a list of pins or groups. This configuration can include the 15 - mux function to select on those pin(s)/group(s), and various pin configuration 16 - parameters, such as pull-up, tristate, drive strength, etc. 17 - 18 - The name of each subnode is not important; all subnodes should be enumerated 19 - and processed purely based on their content. 20 - 21 - Each subnode only affects those parameters that are explicitly listed. In 22 - other words, a subnode that lists a mux function but no pin configuration 23 - parameters implies no information about any pin configuration parameters. 24 - Similarly, a pin subnode that describes a pullup parameter implies no 25 - information about e.g. the mux function or tristate parameter. For this 26 - reason, even seemingly boolean values are actually tristates in this binding: 27 - unspecified, off, or on. Unspecified is represented as an absent property, 28 - and off/on are represented as integer values 0 and 1. 29 - 30 - Required subnode-properties: 31 - - nvidia,pins : An array of strings. Each string contains the name of a pin or 32 - group. Valid values for these names are listed below. 33 - 34 - Optional subnode-properties: 35 - - nvidia,function: A string containing the name of the function to mux to the 36 - pin or group. Valid values for function names are listed below. See the Tegra 37 - TRM to determine which are valid for each pin or group. 38 - - nvidia,pull: Integer, representing the pull-down/up to apply to the pin. 39 - 0: none, 1: down, 2: up. 40 - - nvidia,tristate: Integer. 41 - 0: drive, 1: tristate. 42 - - nvidia,high-speed-mode: Integer. Enable high speed mode the pins. 43 - 0: no, 1: yes. 44 - - nvidia,schmitt: Integer. Enables Schmitt Trigger on the input. 45 - 0: no, 1: yes. 46 - - nvidia,low-power-mode: Integer. Valid values 0-3. 0 is least power, 3 is 47 - most power. Controls the drive power or current. See "Low Power Mode" 48 - or "LPMD1" and "LPMD0" in the Tegra TRM. 49 - - nvidia,pull-down-strength: Integer. Controls drive strength. 0 is weakest. 50 - The range of valid values depends on the pingroup. See "CAL_DRVDN" in the 51 - Tegra TRM. 52 - - nvidia,pull-up-strength: Integer. Controls drive strength. 0 is weakest. 53 - The range of valid values depends on the pingroup. See "CAL_DRVUP" in the 54 - Tegra TRM. 55 - - nvidia,slew-rate-rising: Integer. Controls rising signal slew rate. 0 is 56 - fastest. The range of valid values depends on the pingroup. See 57 - "DRVDN_SLWR" in the Tegra TRM. 58 - - nvidia,slew-rate-falling: Integer. Controls falling signal slew rate. 0 is 59 - fastest. The range of valid values depends on the pingroup. See 60 - "DRVUP_SLWF" in the Tegra TRM. 61 - 62 - Note that many of these properties are only valid for certain specific pins 63 - or groups. See the Tegra TRM and various pinmux spreadsheets for complete 64 - details regarding which groups support which functionality. The Linux pinctrl 65 - driver may also be a useful reference, since it consolidates, disambiguates, 66 - and corrects data from all those sources. 67 - 68 - Valid values for pin and group names are: 69 - 70 - mux groups: 71 - 72 - These all support nvidia,function, nvidia,tristate, and many support 73 - nvidia,pull. 74 - 75 - ata, atb, atc, atd, ate, cdev1, cdev2, crtp, csus, dap1, dap2, dap3, dap4, 76 - ddc, dta, dtb, dtc, dtd, dte, dtf, gma, gmb, gmc, gmd, gme, gpu, gpu7, 77 - gpv, hdint, i2cp, irrx, irtx, kbca, kbcb, kbcc, kbcd, kbce, kbcf, lcsn, 78 - ld0, ld1, ld2, ld3, ld4, ld5, ld6, ld7, ld8, ld9, ld10, ld11, ld12, ld13, 79 - ld14, ld15, ld16, ld17, ldc, ldi, lhp0, lhp1, lhp2, lhs, lm0, lm1, lpp, 80 - lpw0, lpw1, lpw2, lsc0, lsc1, lsck, lsda, lsdi, lspi, lvp0, lvp1, lvs, 81 - owc, pmc, pta, rm, sdb, sdc, sdd, sdio1, slxa, slxc, slxd, slxk, spdi, 82 - spdo, spia, spib, spic, spid, spie, spif, spig, spih, uaa, uab, uac, uad, 83 - uca, ucb, uda. 84 - 85 - tristate groups: 86 - 87 - These only support nvidia,pull. 88 - 89 - ck32, ddrc, pmca, pmcb, pmcc, pmcd, pmce, xm2c, xm2d, ls, lc, ld17_0, 90 - ld19_18, ld21_20, ld23_22. 91 - 92 - drive groups: 93 - 94 - With some exceptions, these support nvidia,high-speed-mode, 95 - nvidia,schmitt, nvidia,low-power-mode, nvidia,pull-down-strength, 96 - nvidia,pull-up-strength, nvidia,slew-rate-rising, nvidia,slew-rate-falling. 97 - 98 - drive_ao1, drive_ao2, drive_at1, drive_at2, drive_cdev1, drive_cdev2, 99 - drive_csus, drive_dap1, drive_dap2, drive_dap3, drive_dap4, drive_dbg, 100 - drive_lcd1, drive_lcd2, drive_sdmmc2, drive_sdmmc3, drive_spi, drive_uaa, 101 - drive_uab, drive_uart2, drive_uart3, drive_vi1, drive_vi2, drive_xm2a, 102 - drive_xm2c, drive_xm2d, drive_xm2clk, drive_sdio1, drive_crt, drive_ddc, 103 - drive_gma, drive_gmb, drive_gmc, drive_gmd, drive_gme, drive_owr, 104 - drive_uda. 105 - 106 - Valid values for nvidia,functions are: 107 - 108 - ahb_clk, apb_clk, audio_sync, crt, dap1, dap2, dap3, dap4, dap5, 109 - displaya, displayb, emc_test0_dll, emc_test1_dll, gmi, gmi_int, 110 - hdmi, i2cp, i2c1, i2c2, i2c3, ide, irda, kbc, mio, mipi_hs, nand, 111 - osc, owr, pcie, plla_out, pllc_out1, pllm_out1, pllp_out2, pllp_out3, 112 - pllp_out4, pwm, pwr_intr, pwr_on, rsvd1, rsvd2, rsvd3, rsvd4, rtck, 113 - sdio1, sdio2, sdio3, sdio4, sflash, spdif, spi1, spi2, spi2_alt, 114 - spi3, spi4, trace, twc, uarta, uartb, uartc, uartd, uarte, ulpi, 115 - vi, vi_sensor_clk, xio 116 - 117 - Example: 118 - 119 - pinctrl@70000000 { 120 - compatible = "nvidia,tegra20-pinmux"; 121 - reg = < 0x70000014 0x10 /* Tri-state registers */ 122 - 0x70000080 0x20 /* Mux registers */ 123 - 0x700000a0 0x14 /* Pull-up/down registers */ 124 - 0x70000868 0xa8 >; /* Pad control registers */ 125 - }; 126 - 127 - Example board file extract: 128 - 129 - pinctrl@70000000 { 130 - sdio4_default: sdio4_default { 131 - atb { 132 - nvidia,pins = "atb", "gma", "gme"; 133 - nvidia,function = "sdio4"; 134 - nvidia,pull = <0>; 135 - nvidia,tristate = <0>; 136 - }; 137 - }; 138 - }; 139 - 140 - sdhci@c8000600 { 141 - pinctrl-names = "default"; 142 - pinctrl-0 = <&sdio4_default>; 143 - };
+112
Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/pinctrl/nvidia,tegra20-pinmux.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: NVIDIA Tegra20 Pinmux Controller 8 + 9 + maintainers: 10 + - Thierry Reding <thierry.reding@gmail.com> 11 + - Jon Hunter <jonathanh@nvidia.com> 12 + 13 + properties: 14 + compatible: 15 + const: nvidia,tegra20-pinmux 16 + 17 + reg: 18 + items: 19 + - description: tri-state registers 20 + - description: mux register 21 + - description: pull-up/down registers 22 + - description: pad control registers 23 + 24 + patternProperties: 25 + "^pinmux(-[a-z0-9-_]+)?$": 26 + type: object 27 + properties: 28 + phandle: true 29 + 30 + # pin groups 31 + additionalProperties: 32 + $ref: nvidia,tegra-pinmux-common.yaml 33 + additionalProperties: false 34 + properties: 35 + nvidia,pins: 36 + items: 37 + enum: [ ata, atb, atc, atd, ate, cdev1, cdev2, crtp, csus, dap1, 38 + dap2, dap3, dap4, ddc, dta, dtb, dtc, dtd, dte, dtf, gma, 39 + gmb, gmc, gmd, gme, gpu, gpu7, gpv, hdint, i2cp, irrx, 40 + irtx, kbca, kbcb, kbcc, kbcd, kbce, kbcf, lcsn, ld0, ld1, 41 + ld2, ld3, ld4, ld5, ld6, ld7, ld8, ld9, ld10, ld11, ld12, 42 + ld13, ld14, ld15, ld16, ld17, ldc, ldi, lhp0, lhp1, lhp2, 43 + lhs, lm0, lm1, lpp, lpw0, lpw1, lpw2, lsc0, lsc1, lsck, 44 + lsda, lsdi, lspi, lvp0, lvp1, lvs, owc, pmc, pta, rm, sdb, 45 + sdc, sdd, sdio1, slxa, slxc, slxd, slxk, spdi, spdo, spia, 46 + spib, spic, spid, spie, spif, spig, spih, uaa, uab, uac, 47 + uad, uca, ucb, uda, 48 + # tristate groups 49 + ck32, ddrc, pmca, pmcb, pmcc, pmcd, pmce, xm2c, xm2d, ls, 50 + lc, ld17_0, ld19_18, ld21_20, ld23_22, 51 + # drive groups 52 + drive_ao1, drive_ao2, drive_at1, drive_at2, drive_cdev1, 53 + drive_cdev2, drive_csus, drive_dap1, drive_dap2, 54 + drive_dap3, drive_dap4, drive_dbg, drive_lcd1, drive_lcd2, 55 + drive_sdmmc2, drive_sdmmc3, drive_spi, drive_uaa, 56 + drive_uab, drive_uart2, drive_uart3, drive_vi1, drive_vi2, 57 + drive_xm2a, drive_xm2c, drive_xm2d, drive_xm2clk, 58 + drive_sdio1, drive_crt, drive_ddc, drive_gma, drive_gmb, 59 + drive_gmc, drive_gmd, drive_gme, drive_owr, drive_uda ] 60 + 61 + nvidia,function: 62 + enum: [ ahb_clk, apb_clk, audio_sync, crt, dap1, dap2, dap3, dap4, 63 + dap5, displaya, displayb, emc_test0_dll, emc_test1_dll, gmi, 64 + gmi_int, hdmi, i2cp, i2c1, i2c2, i2c3, ide, irda, kbc, mio, 65 + mipi_hs, nand, osc, owr, pcie, plla_out, pllc_out1, 66 + pllm_out1, pllp_out2, pllp_out3, pllp_out4, pwm, pwr_intr, 67 + pwr_on, rsvd1, rsvd2, rsvd3, rsvd4, rtck, sdio1, sdio2, 68 + sdio3, sdio4, sflash, spdif, spi1, spi2, spi2_alt, spi3, 69 + spi4, trace, twc, uarta, uartb, uartc, uartd, uarte, ulpi, 70 + vi, vi_sensor_clk, xio ] 71 + 72 + nvidia,pull: true 73 + nvidia,tristate: true 74 + nvidia,schmitt: true 75 + nvidia,pull-down-strength: true 76 + nvidia,pull-up-strength: true 77 + nvidia,high-speed-mode: true 78 + nvidia,low-power-mode: true 79 + nvidia,slew-rate-rising: true 80 + nvidia,slew-rate-falling: true 81 + 82 + required: 83 + - nvidia,pins 84 + 85 + additionalProperties: false 86 + 87 + required: 88 + - compatible 89 + - reg 90 + 91 + examples: 92 + - | 93 + #include <dt-bindings/clock/tegra20-car.h> 94 + #include <dt-bindings/interrupt-controller/arm-gic.h> 95 + 96 + pinctrl@70000000 { 97 + compatible = "nvidia,tegra20-pinmux"; 98 + reg = <0x70000014 0x10>, /* Tri-state registers */ 99 + <0x70000080 0x20>, /* Mux registers */ 100 + <0x700000a0 0x14>, /* Pull-up/down registers */ 101 + <0x70000868 0xa8>; /* Pad control registers */ 102 + 103 + pinmux { 104 + atb { 105 + nvidia,pins = "atb", "gma", "gme"; 106 + nvidia,function = "sdio4"; 107 + nvidia,pull = <0>; 108 + nvidia,tristate = <0>; 109 + }; 110 + }; 111 + }; 112 + ...
-166
Documentation/devicetree/bindings/pinctrl/nvidia,tegra210-pinmux.txt
··· 1 - NVIDIA Tegra210 pinmux controller 2 - 3 - Required properties: 4 - - compatible: "nvidia,tegra210-pinmux" 5 - - reg: Should contain a list of base address and size pairs for: 6 - - first entry: The APB_MISC_GP_*_PADCTRL registers (pad control) 7 - - second entry: The PINMUX_AUX_* registers (pinmux) 8 - 9 - Please refer to pinctrl-bindings.txt in this directory for details of the 10 - common pinctrl bindings used by client devices, including the meaning of the 11 - phrase "pin configuration node". 12 - 13 - Tegra's pin configuration nodes act as a container for an arbitrary number of 14 - subnodes. Each of these subnodes represents some desired configuration for a 15 - pin, a group, or a list of pins or groups. This configuration can include the 16 - mux function to select on those pin(s)/group(s), and various pin configuration 17 - parameters, such as pull-up, tristate, drive strength, etc. 18 - 19 - The name of each subnode is not important; all subnodes should be enumerated 20 - and processed purely based on their content. 21 - 22 - Each subnode only affects those parameters that are explicitly listed. In 23 - other words, a subnode that lists a mux function but no pin configuration 24 - parameters implies no information about any pin configuration parameters. 25 - Similarly, a pin subnode that describes a pullup parameter implies no 26 - information about e.g. the mux function or tristate parameter. For this 27 - reason, even seemingly boolean values are actually tristates in this binding: 28 - unspecified, off, or on. Unspecified is represented as an absent property, 29 - and off/on are represented as integer values 0 and 1. 30 - 31 - See the TRM to determine which properties and values apply to each pin/group. 32 - Macro values for property values are defined in 33 - include/dt-binding/pinctrl/pinctrl-tegra.h. 34 - 35 - Required subnode-properties: 36 - - nvidia,pins : An array of strings. Each string contains the name of a pin or 37 - group. Valid values for these names are listed below. 38 - 39 - Optional subnode-properties: 40 - - nvidia,function: A string containing the name of the function to mux to the 41 - pin or group. 42 - - nvidia,pull: Integer, representing the pull-down/up to apply to the pin. 43 - 0: none, 1: down, 2: up. 44 - - nvidia,tristate: Integer. 45 - 0: drive, 1: tristate. 46 - - nvidia,enable-input: Integer. Enable the pin's input path. 47 - enable :TEGRA_PIN_ENABLE and 48 - disable or output only: TEGRA_PIN_DISABLE. 49 - - nvidia,open-drain: Integer. 50 - enable: TEGRA_PIN_ENABLE. 51 - disable: TEGRA_PIN_DISABLE. 52 - - nvidia,lock: Integer. Lock the pin configuration against further changes 53 - until reset. 54 - enable: TEGRA_PIN_ENABLE. 55 - disable: TEGRA_PIN_DISABLE. 56 - - nvidia,io-hv: Integer. Select high-voltage receivers. 57 - normal: TEGRA_PIN_DISABLE 58 - high: TEGRA_PIN_ENABLE 59 - - nvidia,high-speed-mode: Integer. Enable high speed mode the pins. 60 - normal: TEGRA_PIN_DISABLE 61 - high: TEGRA_PIN_ENABLE 62 - - nvidia,schmitt: Integer. Enables Schmitt Trigger on the input. 63 - normal: TEGRA_PIN_DISABLE 64 - high: TEGRA_PIN_ENABLE 65 - - nvidia,drive-type: Integer. Valid range 0...3. 66 - - nvidia,pull-down-strength: Integer. Controls drive strength. 0 is weakest. 67 - The range of valid values depends on the pingroup. See "CAL_DRVDN" in the 68 - Tegra TRM. 69 - - nvidia,pull-up-strength: Integer. Controls drive strength. 0 is weakest. 70 - The range of valid values depends on the pingroup. See "CAL_DRVUP" in the 71 - Tegra TRM. 72 - - nvidia,slew-rate-rising: Integer. Controls rising signal slew rate. 0 is 73 - fastest. The range of valid values depends on the pingroup. See 74 - "DRVDN_SLWR" in the Tegra TRM. 75 - - nvidia,slew-rate-falling: Integer. Controls falling signal slew rate. 0 is 76 - fastest. The range of valid values depends on the pingroup. See 77 - "DRVUP_SLWF" in the Tegra TRM. 78 - 79 - Valid values for pin and group names (nvidia,pin) are: 80 - 81 - Mux groups: 82 - 83 - These correspond to Tegra PINMUX_AUX_* (pinmux) registers. Any property 84 - that exists in those registers may be set for the following pin names. 85 - 86 - In Tegra210, many pins also have a dedicated APB_MISC_GP_*_PADCTRL 87 - register. Where that is true, and property that exists in that register 88 - may also be set on the following pin names. 89 - 90 - als_prox_int_px3, ap_ready_pv5, ap_wake_bt_ph3, ap_wake_nfc_ph7, 91 - aud_mclk_pbb0, batt_bcl, bt_rst_ph4, bt_wake_ap_ph5, button_home_py1, 92 - button_power_on_px5, button_slide_sw_py0, button_vol_down_px7, 93 - button_vol_up_px6, cam1_mclk_ps0, cam1_pwdn_ps7, cam1_strobe_pt1, 94 - cam2_mclk_ps1, cam2_pwdn_pt0, cam_af_en_ps5, cam_flash_en_ps6, 95 - cam_i2c_scl_ps2, cam_i2c_sda_ps3, cam_rst_ps4cam_rst_ps4, clk_32k_in, 96 - clk_32k_out_py5, clk_req, core_pwr_req, cpu_pwr_req, dap1_din_pb1, 97 - dap1_dout_pb2, dap1_fs_pb0, dap1_sclk_pb3, dap2_din_paa2, dap2_dout_paa3, 98 - dap2_fs_paa0, dap2_sclk_paa1, dap4_din_pj5, dap4_dout_pj6, dap4_fs_pj4, 99 - dap4_sclk_pj7, dmic1_clk_pe0, dmic1_dat_pe1, dmic2_clk_pe2, dmic2_dat_pe3, 100 - dmic3_clk_pe4, dmic3_dat_pe5, dp_hpd0_pcc6, dvfs_clk_pbb2, dvfs_pwm_pbb1, 101 - gen1_i2c_scl_pj1, gen1_i2c_sda_pj0, gen2_i2c_scl_pj2, gen2_i2c_sda_pj3, 102 - gen3_i2c_scl_pf0, gen3_i2c_sda_pf1, gpio_x1_aud_pbb3, gpio_x3_aud_pbb4, 103 - gps_en_pi2, gps_rst_pi3, hdmi_cec_pcc0, hdmi_int_dp_hpd_pcc1, jtag_rtck, 104 - lcd_bl_en_pv1, lcd_bl_pwm_pv0, lcd_gpio1_pv3, lcd_gpio2_pv4, lcd_rst_pv2, 105 - lcd_te_py2, modem_wake_ap_px0, motion_int_px2, nfc_en_pi0, nfc_int_pi1, 106 - pa6, pcc7, pe6, pe7, pex_l0_clkreq_n_pa1, pex_l0_rst_n_pa0, 107 - pex_l1_clkreq_n_pa4, pex_l1_rst_n_pa3, pex_wake_n_pa2, ph6, pk0, pk1, pk2, 108 - pk3, pk4, pk5, pk6, pk7, pl0, pl1, pwr_i2c_scl_py3, pwr_i2c_sda_py4, 109 - pwr_int_n, pz0, pz1, pz2, pz3, pz4, pz5, qspi_cs_n_pee1, qspi_io0_pee2, 110 - qspi_io1_pee3, qspi_io2_pee4, qspi_io3_pee5, qspi_sck_pee0, 111 - sata_led_active_pa5, sdmmc1_clk_pm0, sdmmc1_cmd_pm1, sdmmc1_dat0_pm5, 112 - sdmmc1_dat1_pm4, sdmmc1_dat2_pm3, sdmmc1_dat3_pm2, sdmmc3_clk_pp0, 113 - sdmmc3_cmd_pp1, sdmmc3_dat0_pp5, sdmmc3_dat1_pp4, sdmmc3_dat2_pp3, 114 - sdmmc3_dat3_pp2, shutdown, spdif_in_pcc3, spdif_out_pcc2, spi1_cs0_pc3, 115 - spi1_cs1_pc4, spi1_miso_pc1, spi1_mosi_pc0, spi1_sck_pc2, spi2_cs0_pb7, 116 - spi2_cs1_pdd0, spi2_miso_pb5, spi2_mosi_pb4, spi2_sck_pb6, spi4_cs0_pc6, 117 - spi4_miso_pd0, spi4_mosi_pc7, spi4_sck_pc5, temp_alert_px4, touch_clk_pv7, 118 - touch_int_px1, touch_rst_pv6, uart1_cts_pu3, uart1_rts_pu2, uart1_rx_pu1, 119 - uart1_tx_pu0, uart2_cts_pg3, uart2_rts_pg2, uart2_rx_pg1, uart2_tx_pg0, 120 - uart3_cts_pd4, uart3_rts_pd3, uart3_rx_pd2, uart3_tx_pd1, uart4_cts_pi7, 121 - uart4_rts_pi6, uart4_rx_pi5, uart4_tx_pi4, usb_vbus_en0_pcc4, 122 - usb_vbus_en1_pcc5, wifi_en_ph0, wifi_rst_ph1, wifi_wake_ap_ph2 123 - 124 - Drive groups: 125 - 126 - These correspond to the Tegra APB_MISC_GP_*_PADCTRL (pad control) 127 - registers. Note that where one of these registers controls a single pin 128 - for which a PINMUX_AUX_* exists, see the list above for the pin name to 129 - use when configuring the pinmux. 130 - 131 - pa6, pcc7, pe6, pe7, ph6, pk0, pk1, pk2, pk3, pk4, pk5, pk6, pk7, pl0, pl1, 132 - pz0, pz1, pz2, pz3, pz4, pz5, sdmmc1, sdmmc2, sdmmc3, sdmmc4 133 - 134 - Valid values for nvidia,functions are: 135 - 136 - aud, bcl, blink, ccla, cec, cldvfs, clk, core, cpu, displaya, displayb, 137 - dmic1, dmic2, dmic3, dp, dtv, extperiph3, i2c1, i2c2, i2c3, i2cpmu, i2cvi, 138 - i2s1, i2s2, i2s3, i2s4a, i2s4b, i2s5a, i2s5b, iqc0, iqc1, jtag, pe, pe0, 139 - pe1, pmi, pwm0, pwm1, pwm2, pwm3, qspi, rsvd0, rsvd1, rsvd2, rsvd3, sata, 140 - sdmmc1, sdmmc3, shutdown, soc, sor0, sor1, spdif, spi1, spi2, spi3, spi4, 141 - sys, touch, uart, uarta, uartb, uartc, uartd, usb, vgp1, vgp2, vgp3, vgp4, 142 - vgp5, vgp6, vimclk, vimclk2 143 - 144 - Example: 145 - 146 - pinmux: pinmux@70000800 { 147 - compatible = "nvidia,tegra210-pinmux"; 148 - reg = <0x0 0x700008d4 0x0 0x2a8>, /* Pad control registers */ 149 - <0x0 0x70003000 0x0 0x1000>; /* Mux registers */ 150 - 151 - pinctrl-names = "boot"; 152 - pinctrl-0 = <&state_boot>; 153 - 154 - state_boot: pinmux { 155 - gen1_i2c_scl_pj1 { 156 - nvidia,pins = "gen1_i2c_scl_pj1", 157 - nvidia,function = "i2c1"; 158 - nvidia,pull = <TEGRA_PIN_PULL_NONE>; 159 - nvidia,tristate = <TEGRA_PIN_DISABLE>; 160 - nvidia,enable-input = <TEGRA_PIN_ENABLE>; 161 - nvidia,open-drain = <TEGRA_PIN_ENABLE>; 162 - nvidia,io-hv = <TEGRA_PIN_ENABLE>; 163 - }; 164 - }; 165 - }; 166 - };
+142
Documentation/devicetree/bindings/pinctrl/nvidia,tegra210-pinmux.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/pinctrl/nvidia,tegra210-pinmux.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: NVIDIA Tegra210 Pinmux Controller 8 + 9 + maintainers: 10 + - Thierry Reding <thierry.reding@gmail.com> 11 + - Jon Hunter <jonathanh@nvidia.com> 12 + 13 + properties: 14 + compatible: 15 + const: nvidia,tegra210-pinmux 16 + 17 + reg: 18 + items: 19 + - description: APB_MISC_GP_*_PADCTRL register (pad control) 20 + - description: PINMUX_AUX_* registers (pinmux) 21 + 22 + patternProperties: 23 + "^pinmux(-[a-z0-9-_]+)?$": 24 + type: object 25 + properties: 26 + phandle: true 27 + 28 + # pin groups 29 + additionalProperties: 30 + $ref: nvidia,tegra-pinmux-common.yaml 31 + additionalProperties: false 32 + properties: 33 + nvidia,pins: 34 + items: 35 + enum: [ als_prox_int_px3, ap_ready_pv5, ap_wake_bt_ph3, 36 + ap_wake_nfc_ph7, aud_mclk_pbb0, batt_bcl, bt_rst_ph4, 37 + bt_wake_ap_ph5, button_home_py1, button_power_on_px5, 38 + button_slide_sw_py0, button_vol_down_px7, 39 + button_vol_up_px6, cam1_mclk_ps0, cam1_pwdn_ps7, 40 + cam1_strobe_pt1, cam2_mclk_ps1, cam2_pwdn_pt0, 41 + cam_af_en_ps5, cam_flash_en_ps6, cam_i2c_scl_ps2, 42 + cam_i2c_sda_ps3, cam_rst_ps4, clk_32k_in, clk_32k_out_py5, 43 + clk_req, core_pwr_req, cpu_pwr_req, dap1_din_pb1, 44 + dap1_dout_pb2, dap1_fs_pb0, dap1_sclk_pb3, dap2_din_paa2, 45 + dap2_dout_paa3, dap2_fs_paa0, dap2_sclk_paa1, dap4_din_pj5, 46 + dap4_dout_pj6, dap4_fs_pj4, dap4_sclk_pj7, dmic1_clk_pe0, 47 + dmic1_dat_pe1, dmic2_clk_pe2, dmic2_dat_pe3, dmic3_clk_pe4, 48 + dmic3_dat_pe5, dp_hpd0_pcc6, dvfs_clk_pbb2, dvfs_pwm_pbb1, 49 + gen1_i2c_scl_pj1, gen1_i2c_sda_pj0, gen2_i2c_scl_pj2, 50 + gen2_i2c_sda_pj3, gen3_i2c_scl_pf0, gen3_i2c_sda_pf1, 51 + gpio_x1_aud_pbb3, gpio_x3_aud_pbb4, gps_en_pi2, 52 + gps_rst_pi3, hdmi_cec_pcc0, hdmi_int_dp_hpd_pcc1, 53 + jtag_rtck, lcd_bl_en_pv1, lcd_bl_pwm_pv0, lcd_gpio1_pv3, 54 + lcd_gpio2_pv4, lcd_rst_pv2, lcd_te_py2, modem_wake_ap_px0, 55 + motion_int_px2, nfc_en_pi0, nfc_int_pi1, pa6, pcc7, pe6, 56 + pe7, pex_l0_clkreq_n_pa1, pex_l0_rst_n_pa0, 57 + pex_l1_clkreq_n_pa4, pex_l1_rst_n_pa3, pex_wake_n_pa2, ph6, 58 + pk0, pk1, pk2, pk3, pk4, pk5, pk6, pk7, pl0, pl1, 59 + pwr_i2c_scl_py3, pwr_i2c_sda_py4, pwr_int_n, pz0, pz1, pz2, 60 + pz3, pz4, pz5, qspi_cs_n_pee1, qspi_io0_pee2, 61 + qspi_io1_pee3, qspi_io2_pee4, qspi_io3_pee5, qspi_sck_pee0, 62 + sata_led_active_pa5, sdmmc1_clk_pm0, sdmmc1_cmd_pm1, 63 + sdmmc1_dat0_pm5, sdmmc1_dat1_pm4, sdmmc1_dat2_pm3, 64 + sdmmc1_dat3_pm2, sdmmc3_clk_pp0, sdmmc3_cmd_pp1, 65 + sdmmc3_dat0_pp5, sdmmc3_dat1_pp4, sdmmc3_dat2_pp3, 66 + sdmmc3_dat3_pp2, shutdown, spdif_in_pcc3, spdif_out_pcc2, 67 + spi1_cs0_pc3, spi1_cs1_pc4, spi1_miso_pc1, spi1_mosi_pc0, 68 + spi1_sck_pc2, spi2_cs0_pb7, spi2_cs1_pdd0, spi2_miso_pb5, 69 + spi2_mosi_pb4, spi2_sck_pb6, spi4_cs0_pc6, spi4_miso_pd0, 70 + spi4_mosi_pc7, spi4_sck_pc5, temp_alert_px4, touch_clk_pv7, 71 + touch_int_px1, touch_rst_pv6, uart1_cts_pu3, uart1_rts_pu2, 72 + uart1_rx_pu1, uart1_tx_pu0, uart2_cts_pg3, uart2_rts_pg2, 73 + uart2_rx_pg1, uart2_tx_pg0, uart3_cts_pd4, uart3_rts_pd3, 74 + uart3_rx_pd2, uart3_tx_pd1, uart4_cts_pi7, uart4_rts_pi6, 75 + uart4_rx_pi5, uart4_tx_pi4, usb_vbus_en0_pcc4, 76 + usb_vbus_en1_pcc5, wifi_en_ph0, wifi_rst_ph1, 77 + wifi_wake_ap_ph2, 78 + # drive groups 79 + drive_pa6, drive_pcc7, drive_pe6, drive_pe7, drive_ph6, 80 + drive_pk0, drive_pk1, drive_pk2, drive_pk3, drive_pk4, 81 + drive_pk5, drive_pk6, drive_pk7, drive_pl0, drive_pl1, 82 + drive_pz0, drive_pz1, drive_pz2, drive_pz3, drive_pz4, 83 + drive_pz5, drive_sdmmc1, drive_sdmmc2, drive_sdmmc3, 84 + drive_sdmmc4 ] 85 + 86 + nvidia,function: 87 + enum: [ aud, bcl, blink, ccla, cec, cldvfs, clk, core, cpu, displaya, 88 + displayb, dmic1, dmic2, dmic3, dp, dtv, extperiph3, i2c1, 89 + i2c2, i2c3, i2cpmu, i2cvi, i2s1, i2s2, i2s3, i2s4a, i2s4b, 90 + i2s5a, i2s5b, iqc0, iqc1, jtag, pe, pe0, pe1, pmi, pwm0, 91 + pwm1, pwm2, pwm3, qspi, rsvd0, rsvd1, rsvd2, rsvd3, sata, 92 + sdmmc1, sdmmc3, shutdown, soc, sor0, sor1, spdif, spi1, spi2, 93 + spi3, spi4, sys, touch, uart, uarta, uartb, uartc, uartd, 94 + usb, vgp1, vgp2, vgp3, vgp4, vgp5, vgp6, vimclk, vimclk2 ] 95 + 96 + nvidia,pull: true 97 + nvidia,tristate: true 98 + nvidia,pull-down-strength: true 99 + nvidia,pull-up-strength: true 100 + nvidia,high-speed-mode: true 101 + nvidia,enable-input: true 102 + nvidia,open-drain: true 103 + nvidia,lock: true 104 + nvidia,drive-type: true 105 + nvidia,io-hv: true 106 + nvidia,slew-rate-rising: true 107 + nvidia,slew-rate-falling: true 108 + 109 + required: 110 + - nvidia,pins 111 + 112 + additionalProperties: false 113 + 114 + required: 115 + - compatible 116 + - reg 117 + 118 + examples: 119 + - | 120 + #include <dt-bindings/pinctrl/pinctrl-tegra.h> 121 + 122 + pinmux: pinmux@70000800 { 123 + compatible = "nvidia,tegra210-pinmux"; 124 + reg = <0x700008d4 0x02a8>, /* Pad control registers */ 125 + <0x70003000 0x1000>; /* Mux registers */ 126 + 127 + pinctrl-names = "boot"; 128 + pinctrl-0 = <&state_boot>; 129 + 130 + state_boot: pinmux { 131 + gen1_i2c_scl_pj1 { 132 + nvidia,pins = "gen1_i2c_scl_pj1"; 133 + nvidia,function = "i2c1"; 134 + nvidia,pull = <TEGRA_PIN_PULL_NONE>; 135 + nvidia,tristate = <TEGRA_PIN_DISABLE>; 136 + nvidia,enable-input = <TEGRA_PIN_ENABLE>; 137 + nvidia,open-drain = <TEGRA_PIN_ENABLE>; 138 + nvidia,io-hv = <TEGRA_PIN_ENABLE>; 139 + }; 140 + }; 141 + }; 142 + ...
-144
Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt
··· 1 - NVIDIA Tegra30 pinmux controller 2 - 3 - The Tegra30 pinctrl binding is very similar to the Tegra20 pinctrl binding, 4 - as described in nvidia,tegra20-pinmux.txt. In fact, this document assumes 5 - that binding as a baseline, and only documents the differences between the 6 - two bindings. 7 - 8 - Required properties: 9 - - compatible: "nvidia,tegra30-pinmux" 10 - - reg: Should contain the register physical address and length for each of 11 - the pad control and mux registers. 12 - 13 - Tegra30 adds the following optional properties for pin configuration subnodes: 14 - - nvidia,enable-input: Integer. Enable the pin's input path. 0: no, 1: yes. 15 - - nvidia,open-drain: Integer. Enable open drain mode. 0: no, 1: yes. 16 - - nvidia,lock: Integer. Lock the pin configuration against further changes 17 - until reset. 0: no, 1: yes. 18 - - nvidia,io-reset: Integer. Reset the IO path. 0: no, 1: yes. 19 - 20 - As with Tegra20, see the Tegra TRM for complete details regarding which groups 21 - support which functionality. 22 - 23 - Valid values for pin and group names are: 24 - 25 - per-pin mux groups: 26 - 27 - These all support nvidia,function, nvidia,tristate, nvidia,pull, 28 - nvidia,enable-input, nvidia,lock. Some support nvidia,open-drain, 29 - nvidia,io-reset. 30 - 31 - clk_32k_out_pa0, uart3_cts_n_pa1, dap2_fs_pa2, dap2_sclk_pa3, 32 - dap2_din_pa4, dap2_dout_pa5, sdmmc3_clk_pa6, sdmmc3_cmd_pa7, gmi_a17_pb0, 33 - gmi_a18_pb1, lcd_pwr0_pb2, lcd_pclk_pb3, sdmmc3_dat3_pb4, sdmmc3_dat2_pb5, 34 - sdmmc3_dat1_pb6, sdmmc3_dat0_pb7, uart3_rts_n_pc0, lcd_pwr1_pc1, 35 - uart2_txd_pc2, uart2_rxd_pc3, gen1_i2c_scl_pc4, gen1_i2c_sda_pc5, 36 - lcd_pwr2_pc6, gmi_wp_n_pc7, sdmmc3_dat5_pd0, sdmmc3_dat4_pd1, lcd_dc1_pd2, 37 - sdmmc3_dat6_pd3, sdmmc3_dat7_pd4, vi_d1_pd5, vi_vsync_pd6, vi_hsync_pd7, 38 - lcd_d0_pe0, lcd_d1_pe1, lcd_d2_pe2, lcd_d3_pe3, lcd_d4_pe4, lcd_d5_pe5, 39 - lcd_d6_pe6, lcd_d7_pe7, lcd_d8_pf0, lcd_d9_pf1, lcd_d10_pf2, lcd_d11_pf3, 40 - lcd_d12_pf4, lcd_d13_pf5, lcd_d14_pf6, lcd_d15_pf7, gmi_ad0_pg0, 41 - gmi_ad1_pg1, gmi_ad2_pg2, gmi_ad3_pg3, gmi_ad4_pg4, gmi_ad5_pg5, 42 - gmi_ad6_pg6, gmi_ad7_pg7, gmi_ad8_ph0, gmi_ad9_ph1, gmi_ad10_ph2, 43 - gmi_ad11_ph3, gmi_ad12_ph4, gmi_ad13_ph5, gmi_ad14_ph6, gmi_ad15_ph7, 44 - gmi_wr_n_pi0, gmi_oe_n_pi1, gmi_dqs_pi2, gmi_cs6_n_pi3, gmi_rst_n_pi4, 45 - gmi_iordy_pi5, gmi_cs7_n_pi6, gmi_wait_pi7, gmi_cs0_n_pj0, lcd_de_pj1, 46 - gmi_cs1_n_pj2, lcd_hsync_pj3, lcd_vsync_pj4, uart2_cts_n_pj5, 47 - uart2_rts_n_pj6, gmi_a16_pj7, gmi_adv_n_pk0, gmi_clk_pk1, gmi_cs4_n_pk2, 48 - gmi_cs2_n_pk3, gmi_cs3_n_pk4, spdif_out_pk5, spdif_in_pk6, gmi_a19_pk7, 49 - vi_d2_pl0, vi_d3_pl1, vi_d4_pl2, vi_d5_pl3, vi_d6_pl4, vi_d7_pl5, 50 - vi_d8_pl6, vi_d9_pl7, lcd_d16_pm0, lcd_d17_pm1, lcd_d18_pm2, lcd_d19_pm3, 51 - lcd_d20_pm4, lcd_d21_pm5, lcd_d22_pm6, lcd_d23_pm7, dap1_fs_pn0, 52 - dap1_din_pn1, dap1_dout_pn2, dap1_sclk_pn3, lcd_cs0_n_pn4, lcd_sdout_pn5, 53 - lcd_dc0_pn6, hdmi_int_pn7, ulpi_data7_po0, ulpi_data0_po1, ulpi_data1_po2, 54 - ulpi_data2_po3, ulpi_data3_po4, ulpi_data4_po5, ulpi_data5_po6, 55 - ulpi_data6_po7, dap3_fs_pp0, dap3_din_pp1, dap3_dout_pp2, dap3_sclk_pp3, 56 - dap4_fs_pp4, dap4_din_pp5, dap4_dout_pp6, dap4_sclk_pp7, kb_col0_pq0, 57 - kb_col1_pq1, kb_col2_pq2, kb_col3_pq3, kb_col4_pq4, kb_col5_pq5, 58 - kb_col6_pq6, kb_col7_pq7, kb_row0_pr0, kb_row1_pr1, kb_row2_pr2, 59 - kb_row3_pr3, kb_row4_pr4, kb_row5_pr5, kb_row6_pr6, kb_row7_pr7, 60 - kb_row8_ps0, kb_row9_ps1, kb_row10_ps2, kb_row11_ps3, kb_row12_ps4, 61 - kb_row13_ps5, kb_row14_ps6, kb_row15_ps7, vi_pclk_pt0, vi_mclk_pt1, 62 - vi_d10_pt2, vi_d11_pt3, vi_d0_pt4, gen2_i2c_scl_pt5, gen2_i2c_sda_pt6, 63 - sdmmc4_cmd_pt7, pu0, pu1, pu2, pu3, pu4, pu5, pu6, jtag_rtck_pu7, pv0, 64 - pv1, pv2, pv3, ddc_scl_pv4, ddc_sda_pv5, crt_hsync_pv6, crt_vsync_pv7, 65 - lcd_cs1_n_pw0, lcd_m1_pw1, spi2_cs1_n_pw2, spi2_cs2_n_pw3, clk1_out_pw4, 66 - clk2_out_pw5, uart3_txd_pw6, uart3_rxd_pw7, spi2_mosi_px0, spi2_miso_px1, 67 - spi2_sck_px2, spi2_cs0_n_px3, spi1_mosi_px4, spi1_sck_px5, spi1_cs0_n_px6, 68 - spi1_miso_px7, ulpi_clk_py0, ulpi_dir_py1, ulpi_nxt_py2, ulpi_stp_py3, 69 - sdmmc1_dat3_py4, sdmmc1_dat2_py5, sdmmc1_dat1_py6, sdmmc1_dat0_py7, 70 - sdmmc1_clk_pz0, sdmmc1_cmd_pz1, lcd_sdin_pz2, lcd_wr_n_pz3, lcd_sck_pz4, 71 - sys_clk_req_pz5, pwr_i2c_scl_pz6, pwr_i2c_sda_pz7, sdmmc4_dat0_paa0, 72 - sdmmc4_dat1_paa1, sdmmc4_dat2_paa2, sdmmc4_dat3_paa3, sdmmc4_dat4_paa4, 73 - sdmmc4_dat5_paa5, sdmmc4_dat6_paa6, sdmmc4_dat7_paa7, pbb0, 74 - cam_i2c_scl_pbb1, cam_i2c_sda_pbb2, pbb3, pbb4, pbb5, pbb6, pbb7, 75 - cam_mclk_pcc0, pcc1, pcc2, sdmmc4_rst_n_pcc3, sdmmc4_clk_pcc4, 76 - clk2_req_pcc5, pex_l2_rst_n_pcc6, pex_l2_clkreq_n_pcc7, 77 - pex_l0_prsnt_n_pdd0, pex_l0_rst_n_pdd1, pex_l0_clkreq_n_pdd2, 78 - pex_wake_n_pdd3, pex_l1_prsnt_n_pdd4, pex_l1_rst_n_pdd5, 79 - pex_l1_clkreq_n_pdd6, pex_l2_prsnt_n_pdd7, clk3_out_pee0, clk3_req_pee1, 80 - clk1_req_pee2, hdmi_cec_pee3, clk_32k_in, core_pwr_req, cpu_pwr_req, owr, 81 - pwr_int_n. 82 - 83 - drive groups: 84 - 85 - These all support nvidia,pull-down-strength, nvidia,pull-up-strength, 86 - nvidia,slew-rate-rising, nvidia,slew-rate-falling. Most but not all 87 - support nvidia,high-speed-mode, nvidia,schmitt, nvidia,low-power-mode. 88 - 89 - ao1, ao2, at1, at2, at3, at4, at5, cdev1, cdev2, cec, crt, csus, dap1, 90 - dap2, dap3, dap4, dbg, ddc, dev3, gma, gmb, gmc, gmd, gme, gmf, gmg, 91 - gmh, gpv, lcd1, lcd2, owr, sdio1, sdio2, sdio3, spi, uaa, uab, uart2, 92 - uart3, uda, vi1. 93 - 94 - Valid values for nvidia,functions are: 95 - 96 - blink, cec, clk_12m_out, clk_32k_in, core_pwr_req, cpu_pwr_req, crt, 97 - dap, ddr, dev3, displaya, displayb, dtv, extperiph1, extperiph2, 98 - extperiph3, gmi, gmi_alt, hda, hdcp, hdmi, hsi, i2c1, i2c2, i2c3, 99 - i2c4, i2cpwr, i2s0, i2s1, i2s2, i2s3, i2s4, invalid, kbc, mio, nand, 100 - nand_alt, owr, pcie, pwm0, pwm1, pwm2, pwm3, pwr_int_n, rsvd1, rsvd2, 101 - rsvd3, rsvd4, rtck, sata, sdmmc1, sdmmc2, sdmmc3, sdmmc4, spdif, spi1, 102 - spi2, spi2_alt, spi3, spi4, spi5, spi6, sysclk, test, trace, uarta, 103 - uartb, uartc, uartd, uarte, ulpi, vgp1, vgp2, vgp3, vgp4, vgp5, vgp6, 104 - vi, vi_alt1, vi_alt2, vi_alt3 105 - 106 - Example: 107 - 108 - pinctrl@70000000 { 109 - compatible = "nvidia,tegra30-pinmux"; 110 - reg = < 0x70000868 0xd0 /* Pad control registers */ 111 - 0x70003000 0x3e0 >; /* Mux registers */ 112 - }; 113 - 114 - Example board file extract: 115 - 116 - pinctrl@70000000 { 117 - sdmmc4_default: pinmux { 118 - sdmmc4_clk_pcc4 { 119 - nvidia,pins = "sdmmc4_clk_pcc4", 120 - "sdmmc4_rst_n_pcc3"; 121 - nvidia,function = "sdmmc4"; 122 - nvidia,pull = <0>; 123 - nvidia,tristate = <0>; 124 - }; 125 - sdmmc4_dat0_paa0 { 126 - nvidia,pins = "sdmmc4_dat0_paa0", 127 - "sdmmc4_dat1_paa1", 128 - "sdmmc4_dat2_paa2", 129 - "sdmmc4_dat3_paa3", 130 - "sdmmc4_dat4_paa4", 131 - "sdmmc4_dat5_paa5", 132 - "sdmmc4_dat6_paa6", 133 - "sdmmc4_dat7_paa7"; 134 - nvidia,function = "sdmmc4"; 135 - nvidia,pull = <2>; 136 - nvidia,tristate = <0>; 137 - }; 138 - }; 139 - }; 140 - 141 - sdhci@78000400 { 142 - pinctrl-names = "default"; 143 - pinctrl-0 = <&sdmmc4_default>; 144 - };
+176
Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/pinctrl/nvidia,tegra30-pinmux.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: NVIDIA Tegra30 pinmux Controller 8 + 9 + maintainers: 10 + - Thierry Reding <thierry.reding@gmail.com> 11 + - Jon Hunter <jonathanh@nvidia.com> 12 + 13 + properties: 14 + compatible: 15 + const: nvidia,tegra30-pinmux 16 + 17 + reg: 18 + items: 19 + - description: pad control registers 20 + - description: mux registers 21 + 22 + patternProperties: 23 + "^pinmux(-[a-z0-9-_]+)?$": 24 + type: object 25 + properties: 26 + phandle: true 27 + 28 + # pin groups 29 + additionalProperties: 30 + $ref: nvidia,tegra-pinmux-common.yaml 31 + additionalProperties: false 32 + properties: 33 + nvidia,pins: 34 + items: 35 + enum: [ clk_32k_out_pa0, uart3_cts_n_pa1, dap2_fs_pa2, 36 + dap2_sclk_pa3, dap2_din_pa4, dap2_dout_pa5, sdmmc3_clk_pa6, 37 + sdmmc3_cmd_pa7, gmi_a17_pb0, gmi_a18_pb1, lcd_pwr0_pb2, 38 + lcd_pclk_pb3, sdmmc3_dat3_pb4, sdmmc3_dat2_pb5, 39 + sdmmc3_dat1_pb6, sdmmc3_dat0_pb7, uart3_rts_n_pc0, 40 + lcd_pwr1_pc1, uart2_txd_pc2, uart2_rxd_pc3, 41 + gen1_i2c_scl_pc4, gen1_i2c_sda_pc5, lcd_pwr2_pc6, 42 + gmi_wp_n_pc7, sdmmc3_dat5_pd0, sdmmc3_dat4_pd1, 43 + lcd_dc1_pd2, sdmmc3_dat6_pd3, sdmmc3_dat7_pd4, vi_d1_pd5, 44 + vi_vsync_pd6, vi_hsync_pd7, lcd_d0_pe0, lcd_d1_pe1, 45 + lcd_d2_pe2, lcd_d3_pe3, lcd_d4_pe4, lcd_d5_pe5, lcd_d6_pe6, 46 + lcd_d7_pe7, lcd_d8_pf0, lcd_d9_pf1, lcd_d10_pf2, 47 + lcd_d11_pf3, lcd_d12_pf4, lcd_d13_pf5, lcd_d14_pf6, 48 + lcd_d15_pf7, gmi_ad0_pg0, gmi_ad1_pg1, gmi_ad2_pg2, 49 + gmi_ad3_pg3, gmi_ad4_pg4, gmi_ad5_pg5, gmi_ad6_pg6, 50 + gmi_ad7_pg7, gmi_ad8_ph0, gmi_ad9_ph1, gmi_ad10_ph2, 51 + gmi_ad11_ph3, gmi_ad12_ph4, gmi_ad13_ph5, gmi_ad14_ph6, 52 + gmi_ad15_ph7, gmi_wr_n_pi0, gmi_oe_n_pi1, gmi_dqs_pi2, 53 + gmi_cs6_n_pi3, gmi_rst_n_pi4, gmi_iordy_pi5, gmi_cs7_n_pi6, 54 + gmi_wait_pi7, gmi_cs0_n_pj0, lcd_de_pj1, gmi_cs1_n_pj2, 55 + lcd_hsync_pj3, lcd_vsync_pj4, uart2_cts_n_pj5, 56 + uart2_rts_n_pj6, gmi_a16_pj7, gmi_adv_n_pk0, gmi_clk_pk1, 57 + gmi_cs4_n_pk2, gmi_cs2_n_pk3, gmi_cs3_n_pk4, spdif_out_pk5, 58 + spdif_in_pk6, gmi_a19_pk7, vi_d2_pl0, vi_d3_pl1, vi_d4_pl2, 59 + vi_d5_pl3, vi_d6_pl4, vi_d7_pl5, vi_d8_pl6, vi_d9_pl7, 60 + lcd_d16_pm0, lcd_d17_pm1, lcd_d18_pm2, lcd_d19_pm3, 61 + lcd_d20_pm4, lcd_d21_pm5, lcd_d22_pm6, lcd_d23_pm7, 62 + dap1_fs_pn0, dap1_din_pn1, dap1_dout_pn2, dap1_sclk_pn3, 63 + lcd_cs0_n_pn4, lcd_sdout_pn5, lcd_dc0_pn6, hdmi_int_pn7, 64 + ulpi_data7_po0, ulpi_data0_po1, ulpi_data1_po2, 65 + ulpi_data2_po3, ulpi_data3_po4, ulpi_data4_po5, 66 + ulpi_data5_po6, ulpi_data6_po7, dap3_fs_pp0, dap3_din_pp1, 67 + dap3_dout_pp2, dap3_sclk_pp3, dap4_fs_pp4, dap4_din_pp5, 68 + dap4_dout_pp6, dap4_sclk_pp7, kb_col0_pq0, kb_col1_pq1, 69 + kb_col2_pq2, kb_col3_pq3, kb_col4_pq4, kb_col5_pq5, 70 + kb_col6_pq6, kb_col7_pq7, kb_row0_pr0, kb_row1_pr1, 71 + kb_row2_pr2, kb_row3_pr3, kb_row4_pr4, kb_row5_pr5, 72 + kb_row6_pr6, kb_row7_pr7, kb_row8_ps0, kb_row9_ps1, 73 + kb_row10_ps2, kb_row11_ps3, kb_row12_ps4, kb_row13_ps5, 74 + kb_row14_ps6, kb_row15_ps7, vi_pclk_pt0, vi_mclk_pt1, 75 + vi_d10_pt2, vi_d11_pt3, vi_d0_pt4, gen2_i2c_scl_pt5, 76 + gen2_i2c_sda_pt6, sdmmc4_cmd_pt7, pu0, pu1, pu2, pu3, pu4, 77 + pu5, pu6, jtag_rtck_pu7, pv0, pv1, pv2, pv3, ddc_scl_pv4, 78 + ddc_sda_pv5, crt_hsync_pv6, crt_vsync_pv7, lcd_cs1_n_pw0, 79 + lcd_m1_pw1, spi2_cs1_n_pw2, spi2_cs2_n_pw3, clk1_out_pw4, 80 + clk2_out_pw5, uart3_txd_pw6, uart3_rxd_pw7, spi2_mosi_px0, 81 + spi2_miso_px1, spi2_sck_px2, spi2_cs0_n_px3, spi1_mosi_px4, 82 + spi1_sck_px5, spi1_cs0_n_px6, spi1_miso_px7, ulpi_clk_py0, 83 + ulpi_dir_py1, ulpi_nxt_py2, ulpi_stp_py3, sdmmc1_dat3_py4, 84 + sdmmc1_dat2_py5, sdmmc1_dat1_py6, sdmmc1_dat0_py7, 85 + sdmmc1_clk_pz0, sdmmc1_cmd_pz1, lcd_sdin_pz2, lcd_wr_n_pz3, 86 + lcd_sck_pz4, sys_clk_req_pz5, pwr_i2c_scl_pz6, 87 + pwr_i2c_sda_pz7, sdmmc4_dat0_paa0, sdmmc4_dat1_paa1, 88 + sdmmc4_dat2_paa2, sdmmc4_dat3_paa3, sdmmc4_dat4_paa4, 89 + sdmmc4_dat5_paa5, sdmmc4_dat6_paa6, sdmmc4_dat7_paa7, pbb0, 90 + cam_i2c_scl_pbb1, cam_i2c_sda_pbb2, pbb3, pbb4, pbb5, pbb6, 91 + pbb7, cam_mclk_pcc0, pcc1, pcc2, sdmmc4_rst_n_pcc3, 92 + sdmmc4_clk_pcc4, clk2_req_pcc5, pex_l2_rst_n_pcc6, 93 + pex_l2_clkreq_n_pcc7, pex_l0_prsnt_n_pdd0, 94 + pex_l0_rst_n_pdd1, pex_l0_clkreq_n_pdd2, pex_wake_n_pdd3, 95 + pex_l1_prsnt_n_pdd4, pex_l1_rst_n_pdd5, 96 + pex_l1_clkreq_n_pdd6, pex_l2_prsnt_n_pdd7, clk3_out_pee0, 97 + clk3_req_pee1, clk1_req_pee2, hdmi_cec_pee3, clk_32k_in, 98 + core_pwr_req, cpu_pwr_req, owr, pwr_int_n, 99 + # drive groups 100 + drive_ao1, drive_ao2, drive_at1, drive_at2, drive_at3, 101 + drive_at4, drive_at5, drive_cdev1, drive_cdev2, drive_cec, 102 + drive_crt, drive_csus, drive_dap1, drive_dap2, drive_dap3, 103 + drive_dap4, drive_dbg, drive_ddc, drive_dev3, drive_gma, 104 + drive_gmb, drive_gmc, drive_gmd, drive_gme, drive_gmf, 105 + drive_gmg, drive_gmh, drive_gpv, drive_lcd1, drive_lcd2, 106 + drive_owr, drive_sdio1, drive_sdio2, drive_sdio3, 107 + drive_spi, drive_uaa, drive_uab, drive_uart2, drive_uart3, 108 + drive_uda, drive_vi1 ] 109 + 110 + nvidia,function: 111 + enum: [ blink, cec, clk_12m_out, clk_32k_in, core_pwr_req, 112 + cpu_pwr_req, crt, dap, ddr, dev3, displaya, displayb, dtv, 113 + extperiph1, extperiph2, extperiph3, gmi, gmi_alt, hda, hdcp, 114 + hdmi, hsi, i2c1, i2c2, i2c3, i2c4, i2cpwr, i2s0, i2s1, i2s2, 115 + i2s3, i2s4, invalid, kbc, mio, nand, nand_alt, owr, pcie, 116 + pwm0, pwm1, pwm2, pwm3, pwr_int_n, rsvd1, rsvd2, rsvd3, 117 + rsvd4, rtck, sata, sdmmc1, sdmmc2, sdmmc3, sdmmc4, spdif, 118 + spi1, spi2, spi2_alt, spi3, spi4, spi5, spi6, sysclk, test, 119 + trace, uarta, uartb, uartc, uartd, uarte, ulpi, vgp1, vgp2, 120 + vgp3, vgp4, vgp5, vgp6, vi, vi_alt1, vi_alt2, vi_alt3 ] 121 + 122 + nvidia,pull: true 123 + nvidia,tristate: true 124 + nvidia,schmitt: true 125 + nvidia,pull-down-strength: true 126 + nvidia,pull-up-strength: true 127 + nvidia,high-speed-mode: true 128 + nvidia,low-power-mode: true 129 + nvidia,enable-input: true 130 + nvidia,open-drain: true 131 + nvidia,lock: true 132 + nvidia,io-reset: true 133 + nvidia,slew-rate-rising: true 134 + nvidia,slew-rate-falling: true 135 + 136 + required: 137 + - nvidia,pins 138 + 139 + additionalProperties: false 140 + 141 + required: 142 + - compatible 143 + - reg 144 + 145 + examples: 146 + - | 147 + pinctrl@70000000 { 148 + compatible = "nvidia,tegra30-pinmux"; 149 + reg = <0x70000868 0x0d0>, /* Pad control registers */ 150 + <0x70003000 0x3e0>; /* Mux registers */ 151 + 152 + pinmux { 153 + sdmmc4_clk_pcc4 { 154 + nvidia,pins = "sdmmc4_clk_pcc4", 155 + "sdmmc4_rst_n_pcc3"; 156 + nvidia,function = "sdmmc4"; 157 + nvidia,pull = <0>; 158 + nvidia,tristate = <0>; 159 + }; 160 + 161 + sdmmc4_dat0_paa0 { 162 + nvidia,pins = "sdmmc4_dat0_paa0", 163 + "sdmmc4_dat1_paa1", 164 + "sdmmc4_dat2_paa2", 165 + "sdmmc4_dat3_paa3", 166 + "sdmmc4_dat4_paa4", 167 + "sdmmc4_dat5_paa5", 168 + "sdmmc4_dat6_paa6", 169 + "sdmmc4_dat7_paa7"; 170 + nvidia,function = "sdmmc4"; 171 + nvidia,pull = <2>; 172 + nvidia,tristate = <0>; 173 + }; 174 + }; 175 + }; 176 + ...
-77
Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt
··· 1 - Tegra SoC PWFM controller 2 - 3 - Required properties: 4 - - compatible: Must be: 5 - - "nvidia,tegra20-pwm": for Tegra20 6 - - "nvidia,tegra30-pwm", "nvidia,tegra20-pwm": for Tegra30 7 - - "nvidia,tegra114-pwm", "nvidia,tegra20-pwm": for Tegra114 8 - - "nvidia,tegra124-pwm", "nvidia,tegra20-pwm": for Tegra124 9 - - "nvidia,tegra132-pwm", "nvidia,tegra20-pwm": for Tegra132 10 - - "nvidia,tegra210-pwm", "nvidia,tegra20-pwm": for Tegra210 11 - - "nvidia,tegra186-pwm": for Tegra186 12 - - "nvidia,tegra194-pwm": for Tegra194 13 - - reg: physical base address and length of the controller's registers 14 - - #pwm-cells: should be 2. See pwm.yaml in this directory for a description of 15 - the cells format. 16 - - clocks: Must contain one entry, for the module clock. 17 - See ../clocks/clock-bindings.txt for details. 18 - - resets: Must contain an entry for each entry in reset-names. 19 - See ../reset/reset.txt for details. 20 - - reset-names: Must include the following entries: 21 - - pwm 22 - 23 - Optional properties: 24 - ============================ 25 - In some of the interface like PWM based regulator device, it is required 26 - to configure the pins differently in different states, especially in suspend 27 - state of the system. The configuration of pin is provided via the pinctrl 28 - DT node as detailed in the pinctrl DT binding document 29 - Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt 30 - 31 - The PWM node will have following optional properties. 32 - pinctrl-names: Pin state names. Must be "default" and "sleep". 33 - pinctrl-0: phandle for the default/active state of pin configurations. 34 - pinctrl-1: phandle for the sleep state of pin configurations. 35 - 36 - Example: 37 - 38 - pwm: pwm@7000a000 { 39 - compatible = "nvidia,tegra20-pwm"; 40 - reg = <0x7000a000 0x100>; 41 - #pwm-cells = <2>; 42 - clocks = <&tegra_car 17>; 43 - resets = <&tegra_car 17>; 44 - reset-names = "pwm"; 45 - }; 46 - 47 - 48 - Example with the pin configuration for suspend and resume: 49 - ========================================================= 50 - Suppose pin PE7 (On Tegra210) interfaced with the regulator device and 51 - it requires PWM output to be tristated when system enters suspend. 52 - Following will be DT binding to achieve this: 53 - 54 - #include <dt-bindings/pinctrl/pinctrl-tegra.h> 55 - 56 - pinmux@700008d4 { 57 - pwm_active_state: pwm_active_state { 58 - pe7 { 59 - nvidia,pins = "pe7"; 60 - nvidia,tristate = <TEGRA_PIN_DISABLE>; 61 - }; 62 - }; 63 - 64 - pwm_sleep_state: pwm_sleep_state { 65 - pe7 { 66 - nvidia,pins = "pe7"; 67 - nvidia,tristate = <TEGRA_PIN_ENABLE>; 68 - }; 69 - }; 70 - }; 71 - 72 - pwm@7000a000 { 73 - /* Mandatory PWM properties */ 74 - pinctrl-names = "default", "sleep"; 75 - pinctrl-0 = <&pwm_active_state>; 76 - pinctrl-1 = <&pwm_sleep_state>; 77 - };
+96
Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/pwm/nvidia,tegra20-pwm.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: NVIDIA Tegra PWFM controller 8 + 9 + maintainers: 10 + - Thierry Reding <thierry.reding@gmail.com> 11 + - Jon Hunter <jonathanh@nvidia.com> 12 + 13 + properties: 14 + compatible: 15 + oneOf: 16 + - enum: 17 + - nvidia,tegra20-pwm 18 + - nvidia,tegra186-pwm 19 + 20 + - items: 21 + - enum: 22 + - nvidia,tegra30-pwm 23 + - nvidia,tegra114-pwm 24 + - nvidia,tegra124-pwm 25 + - nvidia,tegra132-pwm 26 + - nvidia,tegra210-pwm 27 + - enum: 28 + - nvidia,tegra20-pwm 29 + 30 + - items: 31 + - const: nvidia,tegra194-pwm 32 + - const: nvidia,tegra186-pwm 33 + 34 + - items: 35 + - const: nvidia,tegra234-pwm 36 + - const: nvidia,tegra194-pwm 37 + 38 + reg: 39 + maxItems: 1 40 + 41 + clocks: 42 + maxItems: 1 43 + 44 + resets: 45 + items: 46 + - description: module reset 47 + 48 + reset-names: 49 + items: 50 + - const: pwm 51 + 52 + "#pwm-cells": 53 + const: 2 54 + 55 + pinctrl-names: 56 + items: 57 + - const: default 58 + - const: sleep 59 + 60 + pinctrl-0: 61 + description: configuration for the default/active state 62 + 63 + pinctrl-1: 64 + description: configuration for the sleep state 65 + 66 + operating-points-v2: 67 + $ref: /schemas/types.yaml#/definitions/phandle 68 + 69 + power-domains: 70 + items: 71 + - description: phandle to the core power domain 72 + 73 + allOf: 74 + - $ref: pwm.yaml 75 + 76 + required: 77 + - compatible 78 + - reg 79 + - clocks 80 + - resets 81 + - reset-names 82 + 83 + additionalProperties: false 84 + 85 + examples: 86 + - | 87 + #include <dt-bindings/clock/tegra20-car.h> 88 + 89 + pwm: pwm@7000a000 { 90 + compatible = "nvidia,tegra20-pwm"; 91 + reg = <0x7000a000 0x100>; 92 + #pwm-cells = <2>; 93 + clocks = <&tegra_car TEGRA20_CLK_PWM>; 94 + resets = <&tegra_car 17>; 95 + reset-names = "pwm"; 96 + };
-132
Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.txt
··· 1 - NVIDIA Tegra xHCI controller 2 - ============================ 3 - 4 - The Tegra xHCI controller supports both USB2 and USB3 interfaces exposed by 5 - the Tegra XUSB pad controller. 6 - 7 - Required properties: 8 - -------------------- 9 - - compatible: Must be: 10 - - Tegra124: "nvidia,tegra124-xusb" 11 - - Tegra132: "nvidia,tegra132-xusb", "nvidia,tegra124-xusb" 12 - - Tegra210: "nvidia,tegra210-xusb" 13 - - Tegra186: "nvidia,tegra186-xusb" 14 - - reg: Must contain the base and length of the xHCI host registers, XUSB FPCI 15 - registers and XUSB IPFS registers. 16 - - reg-names: Must contain the following entries: 17 - - "hcd" 18 - - "fpci" 19 - - "ipfs" 20 - - interrupts: Must contain the xHCI host interrupt and the mailbox interrupt. 21 - - clocks: Must contain an entry for each entry in clock-names. 22 - See ../clock/clock-bindings.txt for details. 23 - - clock-names: Must include the following entries: 24 - - xusb_host 25 - - xusb_host_src 26 - - xusb_falcon_src 27 - - xusb_ss 28 - - xusb_ss_src 29 - - xusb_ss_div2 30 - - xusb_hs_src 31 - - xusb_fs_src 32 - - pll_u_480m 33 - - clk_m 34 - - pll_e 35 - - resets: Must contain an entry for each entry in reset-names. 36 - See ../reset/reset.txt for details. 37 - - reset-names: Must include the following entries: 38 - - xusb_host 39 - - xusb_ss 40 - - xusb_src 41 - Note that xusb_src is the shared reset for xusb_{ss,hs,fs,falcon,host}_src. 42 - - nvidia,xusb-padctl: phandle to the XUSB pad controller that is used to 43 - configure the USB pads used by the XHCI controller 44 - 45 - For Tegra124 and Tegra132: 46 - - avddio-pex-supply: PCIe/USB3 analog logic power supply. Must supply 1.05 V. 47 - - dvddio-pex-supply: PCIe/USB3 digital logic power supply. Must supply 1.05 V. 48 - - avdd-usb-supply: USB controller power supply. Must supply 3.3 V. 49 - - avdd-pll-utmip-supply: UTMI PLL power supply. Must supply 1.8 V. 50 - - avdd-pll-erefe-supply: PLLE reference PLL power supply. Must supply 1.05 V. 51 - - avdd-usb-ss-pll-supply: PCIe/USB3 PLL power supply. Must supply 1.05 V. 52 - - hvdd-usb-ss-supply: High-voltage PCIe/USB3 power supply. Must supply 3.3 V. 53 - - hvdd-usb-ss-pll-e-supply: High-voltage PLLE power supply. Must supply 3.3 V. 54 - 55 - For Tegra210: 56 - - dvddio-pex-supply: PCIe/USB3 analog logic power supply. Must supply 1.05 V. 57 - - hvddio-pex-supply: High-voltage PCIe/USB3 power supply. Must supply 1.8 V. 58 - - avdd-usb-supply: USB controller power supply. Must supply 3.3 V. 59 - - avdd-pll-utmip-supply: UTMI PLL power supply. Must supply 1.8 V. 60 - - avdd-pll-uerefe-supply: PLLE reference PLL power supply. Must supply 1.05 V. 61 - - dvdd-pex-pll-supply: PCIe/USB3 PLL power supply. Must supply 1.05 V. 62 - - hvdd-pex-pll-e-supply: High-voltage PLLE power supply. Must supply 1.8 V. 63 - 64 - For Tegra210 and Tegra186: 65 - - power-domains: A list of PM domain specifiers that reference each power-domain 66 - used by the xHCI controller. This list must comprise of a specifier for the 67 - XUSBA and XUSBC power-domains. See ../power/power_domain.txt and 68 - ../arm/tegra/nvidia,tegra20-pmc.txt for details. 69 - - power-domain-names: A list of names that represent each of the specifiers in 70 - the 'power-domains' property. Must include 'xusb_ss' and 'xusb_host' which 71 - represent the power-domains XUSBA and XUSBC, respectively. See 72 - ../power/power_domain.txt for details. 73 - 74 - Optional properties: 75 - -------------------- 76 - - phys: Must contain an entry for each entry in phy-names. 77 - See ../phy/phy-bindings.txt for details. 78 - - phy-names: Should include an entry for each PHY used by the controller. The 79 - following PHYs are available: 80 - - Tegra124: usb2-0, usb2-1, usb2-2, hsic-0, hsic-1, usb3-0, usb3-1 81 - - Tegra132: usb2-0, usb2-1, usb2-2, hsic-0, hsic-1, usb3-0, usb3-1 82 - - Tegra210: usb2-0, usb2-1, usb2-2, usb2-3, hsic-0, usb3-0, usb3-1, usb3-2, 83 - usb3-3 84 - - Tegra186: usb2-0, usb2-1, usb2-2, hsic-0, usb3-0, usb3-1, usb3-2 85 - 86 - Example: 87 - -------- 88 - 89 - usb@0,70090000 { 90 - compatible = "nvidia,tegra124-xusb"; 91 - reg = <0x0 0x70090000 0x0 0x8000>, 92 - <0x0 0x70098000 0x0 0x1000>, 93 - <0x0 0x70099000 0x0 0x1000>; 94 - reg-names = "hcd", "fpci", "ipfs"; 95 - 96 - interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 97 - <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 98 - 99 - clocks = <&tegra_car TEGRA124_CLK_XUSB_HOST>, 100 - <&tegra_car TEGRA124_CLK_XUSB_HOST_SRC>, 101 - <&tegra_car TEGRA124_CLK_XUSB_FALCON_SRC>, 102 - <&tegra_car TEGRA124_CLK_XUSB_SS>, 103 - <&tegra_car TEGRA124_CLK_XUSB_SS_DIV2>, 104 - <&tegra_car TEGRA124_CLK_XUSB_SS_SRC>, 105 - <&tegra_car TEGRA124_CLK_XUSB_HS_SRC>, 106 - <&tegra_car TEGRA124_CLK_XUSB_FS_SRC>, 107 - <&tegra_car TEGRA124_CLK_PLL_U_480M>, 108 - <&tegra_car TEGRA124_CLK_CLK_M>, 109 - <&tegra_car TEGRA124_CLK_PLL_E>; 110 - clock-names = "xusb_host", "xusb_host_src", "xusb_falcon_src", 111 - "xusb_ss", "xusb_ss_div2", "xusb_ss_src", 112 - "xusb_hs_src", "xusb_fs_src", "pll_u_480m", 113 - "clk_m", "pll_e"; 114 - resets = <&tegra_car 89>, <&tegra_car 156>, <&tegra_car 143>; 115 - reset-names = "xusb_host", "xusb_ss", "xusb_src"; 116 - 117 - nvidia,xusb-padctl = <&padctl>; 118 - 119 - phys = <&{/padctl@0,7009f000/pads/usb2/lanes/usb2-1}>, /* mini-PCIe USB */ 120 - <&{/padctl@0,7009f000/pads/usb2/lanes/usb2-2}>, /* USB A */ 121 - <&{/padctl@0,7009f000/pads/pcie/lanes/pcie-0}>; /* USB A */ 122 - phy-names = "usb2-1", "usb2-2", "usb3-0"; 123 - 124 - avddio-pex-supply = <&vdd_1v05_run>; 125 - dvddio-pex-supply = <&vdd_1v05_run>; 126 - avdd-usb-supply = <&vdd_3v3_lp0>; 127 - avdd-pll-utmip-supply = <&vddio_1v8>; 128 - avdd-pll-erefe-supply = <&avdd_1v05_run>; 129 - avdd-usb-ss-pll-supply = <&vdd_1v05_run>; 130 - hvdd-usb-ss-supply = <&vdd_3v3_lp0>; 131 - hvdd-usb-ss-pll-e-supply = <&vdd_3v3_lp0>; 132 - };
+202
Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/usb/nvidia,tegra124-xusb.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: NVIDIA Tegra124 xHCI controller 8 + 9 + maintainers: 10 + - Thierry Reding <thierry.reding@gmail.com> 11 + - Jon Hunter <jonathanh@nvidia.com> 12 + 13 + description: The Tegra xHCI controller supports both USB2 and USB3 interfaces 14 + exposed by the Tegra XUSB pad controller. 15 + 16 + properties: 17 + # required 18 + compatible: 19 + oneOf: 20 + - description: NVIDIA Tegra124 21 + const: nvidia,tegra124-xusb 22 + 23 + - description: NVIDIA Tegra132 24 + items: 25 + - const: nvidia,tegra132-xusb 26 + - const: nvidia,tegra124-xusb 27 + 28 + reg: 29 + items: 30 + - description: base and length of the xHCI host registers 31 + - description: base and length of the XUSB FPCI registers 32 + - description: base and length of the XUSB IPFS registers 33 + 34 + reg-names: 35 + items: 36 + - const: hcd 37 + - const: fpci 38 + - const: ipfs 39 + 40 + interrupts: 41 + items: 42 + - description: xHCI host interrupt 43 + - description: mailbox interrupt 44 + 45 + clocks: 46 + items: 47 + - description: XUSB host clock 48 + - description: XUSB host source clock 49 + - description: XUSB Falcon source clock 50 + - description: XUSB SuperSpeed clock 51 + - description: XUSB SuperSpeed clock divider 52 + - description: XUSB SuperSpeed source clock 53 + - description: XUSB HighSpeed clock source 54 + - description: XUSB FullSpeed clock source 55 + - description: USB PLL 56 + - description: reference clock 57 + - description: I/O PLL 58 + 59 + clock-names: 60 + items: 61 + - const: xusb_host 62 + - const: xusb_host_src 63 + - const: xusb_falcon_src 64 + - const: xusb_ss 65 + - const: xusb_ss_div2 66 + - const: xusb_ss_src 67 + - const: xusb_hs_src 68 + - const: xusb_fs_src 69 + - const: pll_u_480m 70 + - const: clk_m 71 + - const: pll_e 72 + 73 + resets: 74 + items: 75 + - description: reset for the XUSB host controller 76 + - description: reset for the SuperSpeed logic 77 + - description: shared reset for xusb_{ss,hs,fs,falcon,host}_src. 78 + 79 + reset-names: 80 + items: 81 + - const: xusb_host 82 + - const: xusb_ss 83 + - const: xusb_src 84 + 85 + nvidia,xusb-padctl: 86 + $ref: /schemas/types.yaml#/definitions/phandle 87 + description: phandle to the XUSB pad controller that is used to configure 88 + the USB pads used by the XHCI controller 89 + 90 + # optional 91 + phys: 92 + minItems: 1 93 + maxItems: 7 94 + 95 + phy-names: 96 + minItems: 1 97 + maxItems: 7 98 + items: 99 + enum: 100 + - usb2-0 101 + - usb2-1 102 + - usb2-2 103 + - hsic-0 104 + - hsic-1 105 + - usb3-0 106 + - usb3-1 107 + 108 + avddio-pex-supply: 109 + description: PCIe/USB3 analog logic power supply. Must supply 1.05 V. 110 + 111 + dvddio-pex-supply: 112 + description: PCIe/USB3 digital logic power supply. Must supply 1.05 V. 113 + 114 + avdd-usb-supply: 115 + description: USB controller power supply. Must supply 3.3 V. 116 + 117 + avdd-pll-utmip-supply: 118 + description: UTMI PLL power supply. Must supply 1.8 V. 119 + 120 + avdd-pll-erefe-supply: 121 + description: PLLE reference PLL power supply. Must supply 1.05 V. 122 + 123 + avdd-usb-ss-pll-supply: 124 + description: PCIe/USB3 PLL power supply. Must supply 1.05 V. 125 + 126 + hvdd-usb-ss-supply: 127 + description: High-voltage PCIe/USB3 power supply. Must supply 3.3 V. 128 + 129 + hvdd-usb-ss-pll-e-supply: 130 + description: High-voltage PLLE power supply. Must supply 3.3 V. 131 + 132 + allOf: 133 + - $ref: usb-xhci.yaml 134 + 135 + unevaluatedProperties: false 136 + 137 + required: 138 + - compatible 139 + - reg 140 + - reg-names 141 + - interrupts 142 + - clocks 143 + - clock-names 144 + - resets 145 + - reset-names 146 + - nvidia,xusb-padctl 147 + - phys 148 + - phy-names 149 + - avddio-pex-supply 150 + - dvddio-pex-supply 151 + - avdd-usb-supply 152 + - hvdd-usb-ss-supply 153 + 154 + examples: 155 + - | 156 + #include <dt-bindings/clock/tegra124-car.h> 157 + #include <dt-bindings/interrupt-controller/arm-gic.h> 158 + 159 + usb@70090000 { 160 + compatible = "nvidia,tegra124-xusb"; 161 + reg = <0x70090000 0x8000>, 162 + <0x70098000 0x1000>, 163 + <0x70099000 0x1000>; 164 + reg-names = "hcd", "fpci", "ipfs"; 165 + 166 + interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 167 + <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 168 + 169 + clocks = <&tegra_car TEGRA124_CLK_XUSB_HOST>, 170 + <&tegra_car TEGRA124_CLK_XUSB_HOST_SRC>, 171 + <&tegra_car TEGRA124_CLK_XUSB_FALCON_SRC>, 172 + <&tegra_car TEGRA124_CLK_XUSB_SS>, 173 + <&tegra_car TEGRA124_CLK_XUSB_SS_DIV2>, 174 + <&tegra_car TEGRA124_CLK_XUSB_SS_SRC>, 175 + <&tegra_car TEGRA124_CLK_XUSB_HS_SRC>, 176 + <&tegra_car TEGRA124_CLK_XUSB_FS_SRC>, 177 + <&tegra_car TEGRA124_CLK_PLL_U_480M>, 178 + <&tegra_car TEGRA124_CLK_CLK_M>, 179 + <&tegra_car TEGRA124_CLK_PLL_E>; 180 + clock-names = "xusb_host", "xusb_host_src", "xusb_falcon_src", 181 + "xusb_ss", "xusb_ss_div2", "xusb_ss_src", 182 + "xusb_hs_src", "xusb_fs_src", "pll_u_480m", 183 + "clk_m", "pll_e"; 184 + resets = <&tegra_car 89>, <&tegra_car 156>, <&tegra_car 143>; 185 + reset-names = "xusb_host", "xusb_ss", "xusb_src"; 186 + 187 + nvidia,xusb-padctl = <&padctl>; 188 + 189 + phys = <&{/padctl@0,7009f000/pads/usb2/lanes/usb2-1}>, /* mini-PCIe USB */ 190 + <&{/padctl@0,7009f000/pads/usb2/lanes/usb2-2}>, /* USB A */ 191 + <&{/padctl@0,7009f000/pads/pcie/lanes/pcie-0}>; /* USB A */ 192 + phy-names = "usb2-1", "usb2-2", "usb3-0"; 193 + 194 + avddio-pex-supply = <&vdd_1v05_run>; 195 + dvddio-pex-supply = <&vdd_1v05_run>; 196 + avdd-usb-supply = <&vdd_3v3_lp0>; 197 + avdd-pll-utmip-supply = <&vddio_1v8>; 198 + avdd-pll-erefe-supply = <&avdd_1v05_run>; 199 + avdd-usb-ss-pll-supply = <&vdd_1v05_run>; 200 + hvdd-usb-ss-supply = <&vdd_3v3_lp0>; 201 + hvdd-usb-ss-pll-e-supply = <&vdd_3v3_lp0>; 202 + };
+173
Documentation/devicetree/bindings/usb/nvidia,tegra186-xusb.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/usb/nvidia,tegra186-xusb.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: NVIDIA Tegra186 xHCI controller 8 + 9 + maintainers: 10 + - Thierry Reding <thierry.reding@gmail.com> 11 + - Jon Hunter <jonathanh@nvidia.com> 12 + 13 + description: The Tegra xHCI controller supports both USB2 and USB3 interfaces 14 + exposed by the Tegra XUSB pad controller. 15 + 16 + properties: 17 + compatible: 18 + const: nvidia,tegra186-xusb 19 + 20 + reg: 21 + items: 22 + - description: base and length of the xHCI host registers 23 + - description: base and length of the XUSB FPCI registers 24 + 25 + reg-names: 26 + items: 27 + - const: hcd 28 + - const: fpci 29 + 30 + interrupts: 31 + items: 32 + - description: xHCI host interrupt 33 + - description: mailbox interrupt 34 + 35 + clocks: 36 + items: 37 + - description: XUSB host clock 38 + - description: XUSB Falcon source clock 39 + - description: XUSB SuperSpeed clock 40 + - description: XUSB SuperSpeed source clock 41 + - description: XUSB HighSpeed clock source 42 + - description: XUSB FullSpeed clock source 43 + - description: USB PLL 44 + - description: reference clock 45 + - description: I/O PLL 46 + 47 + clock-names: 48 + items: 49 + - const: xusb_host 50 + - const: xusb_falcon_src 51 + - const: xusb_ss 52 + - const: xusb_ss_src 53 + - const: xusb_hs_src 54 + - const: xusb_fs_src 55 + - const: pll_u_480m 56 + - const: clk_m 57 + - const: pll_e 58 + 59 + interconnects: 60 + items: 61 + - description: read client 62 + - description: write client 63 + 64 + interconnect-names: 65 + items: 66 + - const: dma-mem # read 67 + - const: write 68 + 69 + iommus: 70 + maxItems: 1 71 + 72 + nvidia,xusb-padctl: 73 + $ref: /schemas/types.yaml#/definitions/phandle 74 + description: phandle to the XUSB pad controller that is used to configure 75 + the USB pads used by the XHCI controller 76 + 77 + phys: 78 + minItems: 1 79 + maxItems: 7 80 + 81 + phy-names: 82 + minItems: 1 83 + maxItems: 7 84 + items: 85 + enum: 86 + - usb2-0 87 + - usb2-1 88 + - usb2-2 89 + - hsic-0 90 + - usb3-0 91 + - usb3-1 92 + - usb3-2 93 + 94 + power-domains: 95 + items: 96 + - description: XUSBC power domain (for Host and USB 2.0) 97 + - description: XUSBA power domain (for SuperSpeed) 98 + 99 + power-domain-names: 100 + items: 101 + - const: xusb_host 102 + - const: xusb_ss 103 + 104 + dvddio-pex-supply: 105 + description: PCIe/USB3 analog logic power supply. Must supply 1.05 V. 106 + 107 + hvddio-pex-supply: 108 + description: High-voltage PCIe/USB3 power supply. Must supply 1.8 V. 109 + 110 + avdd-usb-supply: 111 + description: USB controller power supply. Must supply 3.3 V. 112 + 113 + avdd-pll-utmip-supply: 114 + description: UTMI PLL power supply. Must supply 1.8 V. 115 + 116 + avdd-pll-uerefe-supply: 117 + description: PLLE reference PLL power supply. Must supply 1.05 V. 118 + 119 + dvdd-usb-ss-pll-supply: 120 + description: PCIe/USB3 PLL power supply. Must supply 1.05 V. 121 + 122 + hvdd-usb-ss-pll-e-supply: 123 + description: High-voltage PLLE power supply. Must supply 1.8 V. 124 + 125 + allOf: 126 + - $ref: usb-xhci.yaml 127 + 128 + unevaluatedProperties: false 129 + 130 + examples: 131 + - | 132 + #include <dt-bindings/clock/tegra186-clock.h> 133 + #include <dt-bindings/interrupt-controller/arm-gic.h> 134 + #include <dt-bindings/memory/tegra186-mc.h> 135 + #include <dt-bindings/power/tegra186-powergate.h> 136 + #include <dt-bindings/reset/tegra186-reset.h> 137 + 138 + usb@3530000 { 139 + compatible = "nvidia,tegra186-xusb"; 140 + reg = <0x03530000 0x8000>, 141 + <0x03538000 0x1000>; 142 + reg-names = "hcd", "fpci"; 143 + interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>, 144 + <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>; 145 + clocks = <&bpmp TEGRA186_CLK_XUSB_HOST>, 146 + <&bpmp TEGRA186_CLK_XUSB_FALCON>, 147 + <&bpmp TEGRA186_CLK_XUSB_SS>, 148 + <&bpmp TEGRA186_CLK_XUSB_CORE_SS>, 149 + <&bpmp TEGRA186_CLK_CLK_M>, 150 + <&bpmp TEGRA186_CLK_XUSB_FS>, 151 + <&bpmp TEGRA186_CLK_PLLU>, 152 + <&bpmp TEGRA186_CLK_CLK_M>, 153 + <&bpmp TEGRA186_CLK_PLLE>; 154 + clock-names = "xusb_host", "xusb_falcon_src", "xusb_ss", 155 + "xusb_ss_src", "xusb_hs_src", "xusb_fs_src", 156 + "pll_u_480m", "clk_m", "pll_e"; 157 + power-domains = <&bpmp TEGRA186_POWER_DOMAIN_XUSBC>, 158 + <&bpmp TEGRA186_POWER_DOMAIN_XUSBA>; 159 + power-domain-names = "xusb_host", "xusb_ss"; 160 + interconnects = <&mc TEGRA186_MEMORY_CLIENT_XUSB_HOSTR &emc>, 161 + <&mc TEGRA186_MEMORY_CLIENT_XUSB_HOSTW &emc>; 162 + interconnect-names = "dma-mem", "write"; 163 + iommus = <&smmu TEGRA186_SID_XUSB_HOST>; 164 + nvidia,xusb-padctl = <&padctl>; 165 + 166 + #address-cells = <1>; 167 + #size-cells = <0>; 168 + 169 + phys = <&{/padctl@3520000/pads/usb2/lanes/usb2-0}>, 170 + <&{/padctl@3520000/pads/usb2/lanes/usb2-1}>, 171 + <&{/padctl@3520000/pads/usb3/lanes/usb3-0}>; 172 + phy-names = "usb2-0", "usb2-1", "usb3-0"; 173 + };
+179
Documentation/devicetree/bindings/usb/nvidia,tegra194-xusb.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/usb/nvidia,tegra194-xusb.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: NVIDIA Tegra194 xHCI controller 8 + 9 + maintainers: 10 + - Thierry Reding <thierry.reding@gmail.com> 11 + - Jon Hunter <jonathanh@nvidia.com> 12 + 13 + description: The Tegra xHCI controller supports both USB2 and USB3 interfaces 14 + exposed by the Tegra XUSB pad controller. 15 + 16 + properties: 17 + compatible: 18 + const: nvidia,tegra194-xusb 19 + 20 + reg: 21 + items: 22 + - description: base and length of the xHCI host registers 23 + - description: base and length of the XUSB FPCI registers 24 + 25 + reg-names: 26 + items: 27 + - const: hcd 28 + - const: fpci 29 + 30 + interrupts: 31 + items: 32 + - description: xHCI host interrupt 33 + - description: mailbox interrupt 34 + 35 + clocks: 36 + items: 37 + - description: XUSB host clock 38 + - description: XUSB Falcon source clock 39 + - description: XUSB SuperSpeed clock 40 + - description: XUSB SuperSpeed source clock 41 + - description: XUSB HighSpeed clock source 42 + - description: XUSB FullSpeed clock source 43 + - description: USB PLL 44 + - description: reference clock 45 + - description: I/O PLL 46 + 47 + clock-names: 48 + items: 49 + - const: xusb_host 50 + - const: xusb_falcon_src 51 + - const: xusb_ss 52 + - const: xusb_ss_src 53 + - const: xusb_hs_src 54 + - const: xusb_fs_src 55 + - const: pll_u_480m 56 + - const: clk_m 57 + - const: pll_e 58 + 59 + interconnects: 60 + items: 61 + - description: read client 62 + - description: write client 63 + 64 + interconnect-names: 65 + items: 66 + - const: dma-mem # read 67 + - const: write 68 + 69 + iommus: 70 + maxItems: 1 71 + 72 + nvidia,xusb-padctl: 73 + $ref: /schemas/types.yaml#/definitions/phandle 74 + description: phandle to the XUSB pad controller that is used to configure 75 + the USB pads used by the XHCI controller 76 + 77 + phys: 78 + minItems: 1 79 + maxItems: 8 80 + 81 + phy-names: 82 + minItems: 1 83 + maxItems: 8 84 + items: 85 + enum: 86 + - usb2-0 87 + - usb2-1 88 + - usb2-2 89 + - usb2-3 90 + - usb3-0 91 + - usb3-1 92 + - usb3-2 93 + - usb3-3 94 + 95 + power-domains: 96 + items: 97 + - description: XUSBC power domain (for Host and USB 2.0) 98 + - description: XUSBA power domain (for SuperSpeed) 99 + 100 + power-domain-names: 101 + items: 102 + - const: xusb_host 103 + - const: xusb_ss 104 + 105 + dvddio-pex-supply: 106 + description: PCIe/USB3 analog logic power supply. Must supply 1.05 V. 107 + 108 + hvddio-pex-supply: 109 + description: High-voltage PCIe/USB3 power supply. Must supply 1.8 V. 110 + 111 + avdd-usb-supply: 112 + description: USB controller power supply. Must supply 3.3 V. 113 + 114 + avdd-pll-utmip-supply: 115 + description: UTMI PLL power supply. Must supply 1.8 V. 116 + 117 + avdd-pll-uerefe-supply: 118 + description: PLLE reference PLL power supply. Must supply 1.05 V. 119 + 120 + dvdd-usb-ss-pll-supply: 121 + description: PCIe/USB3 PLL power supply. Must supply 1.05 V. 122 + 123 + hvdd-usb-ss-pll-e-supply: 124 + description: High-voltage PLLE power supply. Must supply 1.8 V. 125 + 126 + allOf: 127 + - $ref: usb-xhci.yaml 128 + 129 + unevaluatedProperties: false 130 + 131 + examples: 132 + - | 133 + #include <dt-bindings/clock/tegra194-clock.h> 134 + #include <dt-bindings/interrupt-controller/arm-gic.h> 135 + #include <dt-bindings/memory/tegra194-mc.h> 136 + #include <dt-bindings/power/tegra194-powergate.h> 137 + #include <dt-bindings/reset/tegra194-reset.h> 138 + 139 + usb@3610000 { 140 + compatible = "nvidia,tegra194-xusb"; 141 + reg = <0x03610000 0x40000>, 142 + <0x03600000 0x10000>; 143 + reg-names = "hcd", "fpci"; 144 + 145 + interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>, 146 + <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>; 147 + 148 + clocks = <&bpmp TEGRA194_CLK_XUSB_CORE_HOST>, 149 + <&bpmp TEGRA194_CLK_XUSB_FALCON>, 150 + <&bpmp TEGRA194_CLK_XUSB_CORE_SS>, 151 + <&bpmp TEGRA194_CLK_XUSB_SS>, 152 + <&bpmp TEGRA194_CLK_CLK_M>, 153 + <&bpmp TEGRA194_CLK_XUSB_FS>, 154 + <&bpmp TEGRA194_CLK_UTMIPLL>, 155 + <&bpmp TEGRA194_CLK_CLK_M>, 156 + <&bpmp TEGRA194_CLK_PLLE>; 157 + clock-names = "xusb_host", "xusb_falcon_src", 158 + "xusb_ss", "xusb_ss_src", "xusb_hs_src", 159 + "xusb_fs_src", "pll_u_480m", "clk_m", 160 + "pll_e"; 161 + interconnects = <&mc TEGRA194_MEMORY_CLIENT_XUSB_HOSTR &emc>, 162 + <&mc TEGRA194_MEMORY_CLIENT_XUSB_HOSTW &emc>; 163 + interconnect-names = "dma-mem", "write"; 164 + iommus = <&smmu TEGRA194_SID_XUSB_HOST>; 165 + 166 + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_XUSBC>, 167 + <&bpmp TEGRA194_POWER_DOMAIN_XUSBA>; 168 + power-domain-names = "xusb_host", "xusb_ss"; 169 + 170 + nvidia,xusb-padctl = <&xusb_padctl>; 171 + 172 + phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>, 173 + <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>, 174 + <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-3}>, 175 + <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>, 176 + <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>, 177 + <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-3}>; 178 + phy-names = "usb2-0", "usb2-1", "usb2-3", "usb3-0", "usb3-2", "usb3-3"; 179 + };
+199
Documentation/devicetree/bindings/usb/nvidia,tegra210-xusb.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/usb/nvidia,tegra210-xusb.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: NVIDIA Tegra210 xHCI controller 8 + 9 + maintainers: 10 + - Thierry Reding <thierry.reding@gmail.com> 11 + - Jon Hunter <jonathanh@nvidia.com> 12 + 13 + description: The Tegra xHCI controller supports both USB2 and USB3 interfaces 14 + exposed by the Tegra XUSB pad controller. 15 + 16 + properties: 17 + compatible: 18 + const: nvidia,tegra210-xusb 19 + 20 + reg: 21 + items: 22 + - description: base and length of the xHCI host registers 23 + - description: base and length of the XUSB FPCI registers 24 + - description: base and length of the XUSB IPFS registers 25 + 26 + reg-names: 27 + items: 28 + - const: hcd 29 + - const: fpci 30 + - const: ipfs 31 + 32 + interrupts: 33 + items: 34 + - description: xHCI host interrupt 35 + - description: mailbox interrupt 36 + 37 + clocks: 38 + items: 39 + - description: XUSB host clock 40 + - description: XUSB host source clock 41 + - description: XUSB Falcon source clock 42 + - description: XUSB SuperSpeed clock 43 + - description: XUSB SuperSpeed clock divider 44 + - description: XUSB SuperSpeed source clock 45 + - description: XUSB HighSpeed clock source 46 + - description: XUSB FullSpeed clock source 47 + - description: USB PLL 48 + - description: reference clock 49 + - description: I/O PLL 50 + 51 + clock-names: 52 + items: 53 + - const: xusb_host 54 + - const: xusb_host_src 55 + - const: xusb_falcon_src 56 + - const: xusb_ss 57 + - const: xusb_ss_div2 58 + - const: xusb_ss_src 59 + - const: xusb_hs_src 60 + - const: xusb_fs_src 61 + - const: pll_u_480m 62 + - const: clk_m 63 + - const: pll_e 64 + 65 + resets: 66 + items: 67 + - description: reset for the XUSB host controller 68 + - description: reset for the SuperSpeed logic 69 + - description: shared reset for xusb_{ss,hs,fs,falcon,host}_src. 70 + 71 + reset-names: 72 + items: 73 + - const: xusb_host 74 + - const: xusb_ss 75 + - const: xusb_src 76 + 77 + nvidia,xusb-padctl: 78 + $ref: /schemas/types.yaml#/definitions/phandle 79 + description: phandle to the XUSB pad controller that is used to configure 80 + the USB pads used by the XHCI controller 81 + 82 + phys: 83 + minItems: 1 84 + maxItems: 9 85 + 86 + phy-names: 87 + minItems: 1 88 + maxItems: 9 89 + items: 90 + enum: 91 + - usb2-0 92 + - usb2-1 93 + - usb2-2 94 + - usb2-3 95 + - hsic-0 96 + - usb3-0 97 + - usb3-1 98 + - usb3-2 99 + - usb3-3 100 + 101 + power-domains: 102 + items: 103 + - description: XUSBC power domain (for Host and USB 2.0) 104 + - description: XUSBA power domain (for SuperSpeed) 105 + 106 + power-domain-names: 107 + items: 108 + - const: xusb_host 109 + - const: xusb_ss 110 + 111 + dvddio-pex-supply: 112 + description: PCIe/USB3 analog logic power supply. Must supply 1.05 V. 113 + 114 + hvddio-pex-supply: 115 + description: High-voltage PCIe/USB3 power supply. Must supply 1.8 V. 116 + 117 + avdd-usb-supply: 118 + description: USB controller power supply. Must supply 3.3 V. 119 + 120 + avdd-pll-utmip-supply: 121 + description: UTMI PLL power supply. Must supply 1.8 V. 122 + 123 + avdd-pll-uerefe-supply: 124 + description: PLLE reference PLL power supply. Must supply 1.05 V. 125 + 126 + dvdd-usb-ss-pll-supply: 127 + description: PCIe/USB3 PLL power supply. Must supply 1.05 V. 128 + 129 + hvdd-usb-ss-pll-e-supply: 130 + description: High-voltage PLLE power supply. Must supply 1.8 V. 131 + 132 + allOf: 133 + - $ref: usb-xhci.yaml 134 + 135 + unevaluatedProperties: false 136 + 137 + examples: 138 + - | 139 + #include <dt-bindings/clock/tegra210-car.h> 140 + #include <dt-bindings/interrupt-controller/arm-gic.h> 141 + 142 + usb@70090000 { 143 + compatible = "nvidia,tegra210-xusb"; 144 + reg = <0x70090000 0x8000>, 145 + <0x70098000 0x1000>, 146 + <0x70099000 0x1000>; 147 + reg-names = "hcd", "fpci", "ipfs"; 148 + 149 + interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 150 + <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 151 + 152 + clocks = <&tegra_car TEGRA210_CLK_XUSB_HOST>, 153 + <&tegra_car TEGRA210_CLK_XUSB_HOST_SRC>, 154 + <&tegra_car TEGRA210_CLK_XUSB_FALCON_SRC>, 155 + <&tegra_car TEGRA210_CLK_XUSB_SS>, 156 + <&tegra_car TEGRA210_CLK_XUSB_SS_DIV2>, 157 + <&tegra_car TEGRA210_CLK_XUSB_SS_SRC>, 158 + <&tegra_car TEGRA210_CLK_XUSB_HS_SRC>, 159 + <&tegra_car TEGRA210_CLK_XUSB_FS_SRC>, 160 + <&tegra_car TEGRA210_CLK_PLL_U_480M>, 161 + <&tegra_car TEGRA210_CLK_CLK_M>, 162 + <&tegra_car TEGRA210_CLK_PLL_E>; 163 + clock-names = "xusb_host", "xusb_host_src", 164 + "xusb_falcon_src", "xusb_ss", 165 + "xusb_ss_div2", "xusb_ss_src", 166 + "xusb_hs_src", "xusb_fs_src", 167 + "pll_u_480m", "clk_m", "pll_e"; 168 + resets = <&tegra_car 89>, <&tegra_car 156>, 169 + <&tegra_car 143>; 170 + reset-names = "xusb_host", "xusb_ss", "xusb_src"; 171 + power-domains = <&pd_xusbhost>, <&pd_xusbss>; 172 + power-domain-names = "xusb_host", "xusb_ss"; 173 + 174 + nvidia,xusb-padctl = <&padctl>; 175 + 176 + phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, 177 + <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, 178 + <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, 179 + <&{/padctl@7009f000/pads/usb2/lanes/usb2-3}>, 180 + <&{/padctl@7009f000/pads/pcie/lanes/pcie-6}>, 181 + <&{/padctl@7009f000/pads/pcie/lanes/pcie-5}>; 182 + phy-names = "usb2-0", "usb2-1", "usb2-2", "usb2-3", "usb3-0", 183 + "usb3-1"; 184 + dvddio-pex-supply = <&vdd_pex_1v05>; 185 + hvddio-pex-supply = <&vdd_1v8>; 186 + avdd-usb-supply = <&vdd_3v3_sys>; 187 + avdd-pll-utmip-supply = <&vdd_1v8>; 188 + avdd-pll-uerefe-supply = <&vdd_pex_1v05>; 189 + dvdd-usb-ss-pll-supply = <&vdd_pex_1v05>; 190 + hvdd-usb-ss-pll-e-supply = <&vdd_1v8>; 191 + 192 + #address-cells = <1>; 193 + #size-cells = <0>; 194 + 195 + ethernet@1 { 196 + compatible = "usb955,9ff"; 197 + reg = <1>; 198 + }; 199 + };
+632 -7
include/dt-bindings/clock/tegra234-clock.h
··· 9 9 * @defgroup bpmp_clock_ids Clock ID's 10 10 * @{ 11 11 */ 12 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_ACTMON */ 13 + #define TEGRA234_CLK_ACTMON 1U 14 + /** @brief output of gate CLK_ENB_ADSP */ 15 + #define TEGRA234_CLK_ADSP 2U 16 + /** @brief output of gate CLK_ENB_ADSPNEON */ 17 + #define TEGRA234_CLK_ADSPNEON 3U 12 18 /** output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_AHUB */ 13 19 #define TEGRA234_CLK_AHUB 4U 14 20 /** @brief output of gate CLK_ENB_APB2APE */ ··· 23 17 #define TEGRA234_CLK_APE 6U 24 18 /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_AUD_MCLK */ 25 19 #define TEGRA234_CLK_AUD_MCLK 7U 20 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_AXI_CBB */ 21 + #define TEGRA234_CLK_AXI_CBB 8U 22 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_CAN1 */ 23 + #define TEGRA234_CLK_CAN1 9U 24 + /** @brief output of gate CLK_ENB_CAN1_HOST */ 25 + #define TEGRA234_CLK_CAN1_HOST 10U 26 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_CAN2 */ 27 + #define TEGRA234_CLK_CAN2 11U 28 + /** @brief output of gate CLK_ENB_CAN2_HOST */ 29 + #define TEGRA234_CLK_CAN2_HOST 12U 30 + /** @brief output of divider CLK_RST_CONTROLLER_CLK_M_DIVIDE */ 31 + #define TEGRA234_CLK_CLK_M 14U 26 32 /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_DMIC1 */ 27 33 #define TEGRA234_CLK_DMIC1 15U 28 34 /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_DMIC2 */ ··· 43 25 #define TEGRA234_CLK_DMIC3 17U 44 26 /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_DMIC4 */ 45 27 #define TEGRA234_CLK_DMIC4 18U 28 + /** @brief output of gate CLK_ENB_DPAUX */ 29 + #define TEGRA234_CLK_DPAUX 19U 30 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_NVJPG1 */ 31 + #define TEGRA234_CLK_NVJPG1 20U 32 + /** 33 + * @brief output of mux controlled by CLK_RST_CONTROLLER_ACLK_BURST_POLICY 34 + * divided by the divider controlled by ACLK_CLK_DIVISOR in 35 + * CLK_RST_CONTROLLER_SUPER_ACLK_DIVIDER 36 + */ 37 + #define TEGRA234_CLK_ACLK 21U 38 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_MSS_ENCRYPT switch divider output */ 39 + #define TEGRA234_CLK_MSS_ENCRYPT 22U 40 + /** @brief clock recovered from EAVB input */ 41 + #define TEGRA234_CLK_EQOS_RX_INPUT 23U 42 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_AON_APB switch divider output */ 43 + #define TEGRA234_CLK_AON_APB 25U 44 + /** @brief CLK_RST_CONTROLLER_AON_NIC_RATE divider output */ 45 + #define TEGRA234_CLK_AON_NIC 26U 46 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_AON_CPU_NIC switch divider output */ 47 + #define TEGRA234_CLK_AON_CPU_NIC 27U 48 + /** @brief PLL controlled by CLK_RST_CONTROLLER_PLLA1_BASE for use by audio clocks */ 49 + #define TEGRA234_CLK_PLLA1 28U 46 50 /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_DSPK1 */ 47 51 #define TEGRA234_CLK_DSPK1 29U 48 52 /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_DSPK2 */ ··· 78 38 * throughput and memory controller power. 79 39 */ 80 40 #define TEGRA234_CLK_EMC 31U 81 - /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_HOST1X */ 82 - #define TEGRA234_CLK_HOST1X 46U 41 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_EQOS_AXI_CLK_0 divider gated output */ 42 + #define TEGRA234_CLK_EQOS_AXI 32U 43 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_EQOS_PTP_REF_CLK_0 divider gated output */ 44 + #define TEGRA234_CLK_EQOS_PTP_REF 33U 45 + /** @brief output of gate CLK_ENB_EQOS_RX */ 46 + #define TEGRA234_CLK_EQOS_RX 34U 47 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_EQOS_TX_CLK divider gated output */ 48 + #define TEGRA234_CLK_EQOS_TX 35U 49 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_EXTPERIPH1 */ 50 + #define TEGRA234_CLK_EXTPERIPH1 36U 51 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_EXTPERIPH2 */ 52 + #define TEGRA234_CLK_EXTPERIPH2 37U 53 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_EXTPERIPH3 */ 54 + #define TEGRA234_CLK_EXTPERIPH3 38U 55 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_EXTPERIPH4 */ 56 + #define TEGRA234_CLK_EXTPERIPH4 39U 83 57 /** @brief output of gate CLK_ENB_FUSE */ 84 58 #define TEGRA234_CLK_FUSE 40U 59 + /** @brief output of GPU GPC0 clkGen (in 1x mode same rate as GPC0 MUX2 out) */ 60 + #define TEGRA234_CLK_GPC0CLK 41U 61 + /** @brief TODO */ 62 + #define TEGRA234_CLK_GPU_PWR 42U 63 + /** output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_HDA2CODEC_2X */ 64 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_HOST1X */ 65 + #define TEGRA234_CLK_HOST1X 46U 66 + /** @brief xusb_hs_hsicp_clk */ 67 + #define TEGRA234_CLK_XUSB_HS_HSICP 47U 85 68 /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_I2C1 */ 86 69 #define TEGRA234_CLK_I2C1 48U 87 70 /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_I2C2 */ ··· 145 82 #define TEGRA234_CLK_I2S6 66U 146 83 /** @brief clock recovered from I2S6 input */ 147 84 #define TEGRA234_CLK_I2S6_SYNC_INPUT 67U 85 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_ISP */ 86 + #define TEGRA234_CLK_ISP 69U 87 + /** @brief Monitored branch of EQOS_RX clock */ 88 + #define TEGRA234_CLK_EQOS_RX_M 70U 89 + /** @brief CLK_RST_CONTROLLER_MAUDCLK_OUT_SWITCH_DIVIDER switch divider output (maudclk) */ 90 + #define TEGRA234_CLK_MAUD 71U 91 + /** @brief output of gate CLK_ENB_MIPI_CAL */ 92 + #define TEGRA234_CLK_MIPI_CAL 72U 93 + /** @brief output of the divider CLK_RST_CONTROLLER_CLK_SOURCE_MPHY_CORE_PLL_FIXED */ 94 + #define TEGRA234_CLK_MPHY_CORE_PLL_FIXED 73U 95 + /** @brief output of gate CLK_ENB_MPHY_L0_RX_ANA */ 96 + #define TEGRA234_CLK_MPHY_L0_RX_ANA 74U 97 + /** @brief output of gate CLK_ENB_MPHY_L0_RX_LS_BIT */ 98 + #define TEGRA234_CLK_MPHY_L0_RX_LS_BIT 75U 99 + /** @brief output of gate CLK_ENB_MPHY_L0_RX_SYMB */ 100 + #define TEGRA234_CLK_MPHY_L0_RX_SYMB 76U 101 + /** @brief output of gate CLK_ENB_MPHY_L0_TX_LS_3XBIT */ 102 + #define TEGRA234_CLK_MPHY_L0_TX_LS_3XBIT 77U 103 + /** @brief output of gate CLK_ENB_MPHY_L0_TX_SYMB */ 104 + #define TEGRA234_CLK_MPHY_L0_TX_SYMB 78U 105 + /** @brief output of gate CLK_ENB_MPHY_L1_RX_ANA */ 106 + #define TEGRA234_CLK_MPHY_L1_RX_ANA 79U 107 + /** @brief output of the divider CLK_RST_CONTROLLER_CLK_SOURCE_MPHY_TX_1MHZ_REF */ 108 + #define TEGRA234_CLK_MPHY_TX_1MHZ_REF 80U 109 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_NVCSI */ 110 + #define TEGRA234_CLK_NVCSI 81U 111 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_NVCSILP */ 112 + #define TEGRA234_CLK_NVCSILP 82U 113 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_NVDEC */ 114 + #define TEGRA234_CLK_NVDEC 83U 115 + /** @brief CLK_RST_CONTROLLER_HUBCLK_OUT_SWITCH_DIVIDER switch divider output (hubclk) */ 116 + #define TEGRA234_CLK_HUB 84U 117 + /** @brief CLK_RST_CONTROLLER_DISPCLK_SWITCH_DIVIDER switch divider output (dispclk) */ 118 + #define TEGRA234_CLK_DISP 85U 119 + /** @brief RG_CLK_CTRL__0_DIV divider output (nvdisplay_p0_clk) */ 120 + #define TEGRA234_CLK_NVDISPLAY_P0 86U 121 + /** @brief RG_CLK_CTRL__1_DIV divider output (nvdisplay_p1_clk) */ 122 + #define TEGRA234_CLK_NVDISPLAY_P1 87U 123 + /** @brief DSC_CLK (DISPCLK ÷ 3) */ 124 + #define TEGRA234_CLK_DSC 88U 125 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_NVENC */ 126 + #define TEGRA234_CLK_NVENC 89U 127 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_NVJPG */ 128 + #define TEGRA234_CLK_NVJPG 90U 129 + /** @brief input from Tegra's XTAL_IN */ 130 + #define TEGRA234_CLK_OSC 91U 131 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_AON_TOUCH switch divider output */ 132 + #define TEGRA234_CLK_AON_TOUCH 92U 148 133 /** PLL controlled by CLK_RST_CONTROLLER_PLLA_BASE for use by audio clocks */ 149 134 #define TEGRA234_CLK_PLLA 93U 135 + /** @brief PLL controlled by CLK_RST_CONTROLLER_PLLAON_BASE for use by IP blocks in the AON domain */ 136 + #define TEGRA234_CLK_PLLAON 94U 137 + /** Fixed 100MHz PLL for PCIe, SATA and superspeed USB */ 138 + #define TEGRA234_CLK_PLLE 100U 139 + /** @brief PLLP vco output */ 140 + #define TEGRA234_CLK_PLLP 101U 150 141 /** @brief PLLP clk output */ 151 142 #define TEGRA234_CLK_PLLP_OUT0 102U 143 + /** Fixed frequency 960MHz PLL for USB and EAVB */ 144 + #define TEGRA234_CLK_UTMIP_PLL 103U 152 145 /** @brief output of the divider CLK_RST_CONTROLLER_PLLA_OUT */ 153 146 #define TEGRA234_CLK_PLLA_OUT0 104U 154 147 /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_PWM1 */ ··· 223 104 #define TEGRA234_CLK_PWM7 111U 224 105 /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_PWM8 */ 225 106 #define TEGRA234_CLK_PWM8 112U 107 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_RCE_CPU_NIC output */ 108 + #define TEGRA234_CLK_RCE_CPU_NIC 113U 109 + /** @brief CLK_RST_CONTROLLER_RCE_NIC_RATE divider output */ 110 + #define TEGRA234_CLK_RCE_NIC 114U 111 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_AON_I2C_SLOW switch divider output */ 112 + #define TEGRA234_CLK_AON_I2C_SLOW 117U 113 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_SCE_CPU_NIC */ 114 + #define TEGRA234_CLK_SCE_CPU_NIC 118U 115 + /** @brief output of divider CLK_RST_CONTROLLER_SCE_NIC_RATE */ 116 + #define TEGRA234_CLK_SCE_NIC 119U 117 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_SDMMC1 */ 118 + #define TEGRA234_CLK_SDMMC1 120U 119 + /** @brief Logical clk for setting the UPHY PLL3 rate */ 120 + #define TEGRA234_CLK_UPHY_PLL3 121U 226 121 /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_SDMMC4 */ 227 122 #define TEGRA234_CLK_SDMMC4 123U 123 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_SE switch divider gated output */ 124 + #define TEGRA234_CLK_SE 124U 125 + /** @brief VPLL select for sor0_ref clk driven by disp_2clk_sor0_head_sel signal */ 126 + #define TEGRA234_CLK_SOR0_PLL_REF 125U 127 + /** @brief Output of mux controlled by disp_2clk_sor0_pll_ref_clk_safe signal (sor0_ref_clk) */ 128 + #define TEGRA234_CLK_SOR0_REF 126U 129 + /** @brief VPLL select for sor1_ref clk driven by disp_2clk_sor0_head_sel signal */ 130 + #define TEGRA234_CLK_SOR1_PLL_REF 127U 131 + /** @brief SOR_PLL_REF_CLK_CTRL__0_DIV divider output */ 132 + #define TEGRA234_CLK_PRE_SOR0_REF 128U 133 + /** @brief Output of mux controlled by disp_2clk_sor1_pll_ref_clk_safe signal (sor1_ref_clk) */ 134 + #define TEGRA234_CLK_SOR1_REF 129U 135 + /** @brief SOR_PLL_REF_CLK_CTRL__1_DIV divider output */ 136 + #define TEGRA234_CLK_PRE_SOR1_REF 130U 137 + /** @brief output of gate CLK_ENB_SOR_SAFE */ 138 + #define TEGRA234_CLK_SOR_SAFE 131U 139 + /** @brief SOR_CLK_CTRL__0_DIV divider output */ 140 + #define TEGRA234_CLK_SOR0_DIV 132U 141 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_DMIC5 */ 142 + #define TEGRA234_CLK_DMIC5 134U 143 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_SPI1 */ 144 + #define TEGRA234_CLK_SPI1 135U 145 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_SPI2 */ 146 + #define TEGRA234_CLK_SPI2 136U 147 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_SPI3 */ 148 + #define TEGRA234_CLK_SPI3 137U 149 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_I2C_SLOW */ 150 + #define TEGRA234_CLK_I2C_SLOW 138U 228 151 /** @brief output of mux controlled by CLK_RST_CONTROLLER_AUDIO_SYNC_CLK_DMIC1 */ 229 152 #define TEGRA234_CLK_SYNC_DMIC1 139U 230 153 /** @brief output of mux controlled by CLK_RST_CONTROLLER_AUDIO_SYNC_CLK_DMIC2 */ ··· 291 130 #define TEGRA234_CLK_SYNC_I2S5 149U 292 131 /** @brief output of mux controlled by CLK_RST_CONTROLLER_AUDIO_SYNC_CLK_I2S6 */ 293 132 #define TEGRA234_CLK_SYNC_I2S6 150U 133 + /** @brief controls MPHY_FORCE_LS_MODE upon enable & disable */ 134 + #define TEGRA234_CLK_MPHY_FORCE_LS_MODE 151U 135 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_TACH0 */ 136 + #define TEGRA234_CLK_TACH0 152U 137 + /** output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_TSEC */ 138 + #define TEGRA234_CLK_TSEC 153U 139 + /** output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_PKA */ 140 + #define TEGRA234_CLK_TSEC_PKA 154U 294 141 /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_UARTA */ 295 142 #define TEGRA234_CLK_UARTA 155U 143 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_UARTB */ 144 + #define TEGRA234_CLK_UARTB 156U 145 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_UARTC */ 146 + #define TEGRA234_CLK_UARTC 157U 147 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_UARTD */ 148 + #define TEGRA234_CLK_UARTD 158U 149 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_UARTE */ 150 + #define TEGRA234_CLK_UARTE 159U 151 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_UARTF */ 152 + #define TEGRA234_CLK_UARTF 160U 296 153 /** @brief output of gate CLK_ENB_PEX1_CORE_6 */ 297 154 #define TEGRA234_CLK_PEX1_C6_CORE 161U 155 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_UART_FST_MIPI_CAL */ 156 + #define TEGRA234_CLK_UART_FST_MIPI_CAL 162U 157 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_UFSDEV_REF */ 158 + #define TEGRA234_CLK_UFSDEV_REF 163U 159 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_UFSHC_CG_SYS */ 160 + #define TEGRA234_CLK_UFSHC 164U 161 + /** @brief output of gate CLK_ENB_USB2_TRK */ 162 + #define TEGRA234_CLK_USB2_TRK 165U 163 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_VI */ 164 + #define TEGRA234_CLK_VI 166U 298 165 /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_VIC */ 299 - #define TEGRA234_CLK_VIC 167U 166 + #define TEGRA234_CLK_VIC 167U 167 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_CSITE switch divider output */ 168 + #define TEGRA234_CLK_CSITE 168U 169 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_IST switch divider output */ 170 + #define TEGRA234_CLK_IST 169U 171 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_IST_JTAG_REG_CLK_SEL */ 172 + #define TEGRA234_CLK_JTAG_INTFC_PRE_CG 170U 300 173 /** @brief output of gate CLK_ENB_PEX2_CORE_7 */ 301 174 #define TEGRA234_CLK_PEX2_C7_CORE 171U 302 175 /** @brief output of gate CLK_ENB_PEX2_CORE_8 */ 303 176 #define TEGRA234_CLK_PEX2_C8_CORE 172U 304 177 /** @brief output of gate CLK_ENB_PEX2_CORE_9 */ 305 178 #define TEGRA234_CLK_PEX2_C9_CORE 173U 179 + /** @brief dla0_falcon_clk */ 180 + #define TEGRA234_CLK_DLA0_FALCON 174U 181 + /** @brief dla0_core_clk */ 182 + #define TEGRA234_CLK_DLA0_CORE 175U 183 + /** @brief dla1_falcon_clk */ 184 + #define TEGRA234_CLK_DLA1_FALCON 176U 185 + /** @brief dla1_core_clk */ 186 + #define TEGRA234_CLK_DLA1_CORE 177U 187 + /** @brief Output of mux controlled by disp_2clk_sor0_clk_safe signal (sor0_clk) */ 188 + #define TEGRA234_CLK_SOR0 178U 189 + /** @brief Output of mux controlled by disp_2clk_sor1_clk_safe signal (sor1_clk) */ 190 + #define TEGRA234_CLK_SOR1 179U 191 + /** @brief DP macro feedback clock (same as LINKA_SYM CLKOUT) */ 192 + #define TEGRA234_CLK_SOR_PAD_INPUT 180U 193 + /** @brief Output of mux controlled by disp_2clk_h0_dsi_sel signal in sf0_clk path */ 194 + #define TEGRA234_CLK_PRE_SF0 181U 195 + /** @brief Output of mux controlled by disp_2clk_sf0_clk_safe signal (sf0_clk) */ 196 + #define TEGRA234_CLK_SF0 182U 197 + /** @brief Output of mux controlled by disp_2clk_sf1_clk_safe signal (sf1_clk) */ 198 + #define TEGRA234_CLK_SF1 183U 199 + /** @brief CLKOUT_AB output from DSI BRICK A (dsi_clkout_ab) */ 200 + #define TEGRA234_CLK_DSI_PAD_INPUT 184U 306 201 /** @brief output of gate CLK_ENB_PEX2_CORE_10 */ 307 202 #define TEGRA234_CLK_PEX2_C10_CORE 187U 308 - /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_QSPI0 switch divider output */ 203 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_UARTI switch divider output (uarti_r_clk) */ 204 + #define TEGRA234_CLK_UARTI 188U 205 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_UARTJ switch divider output (uartj_r_clk) */ 206 + #define TEGRA234_CLK_UARTJ 189U 207 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_UARTH switch divider output */ 208 + #define TEGRA234_CLK_UARTH 190U 209 + /** @brief ungated version of fuse clk */ 210 + #define TEGRA234_CLK_FUSE_SERIAL 191U 211 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_QSPI0 switch divider output (qspi0_2x_pm_clk) */ 309 212 #define TEGRA234_CLK_QSPI0_2X_PM 192U 310 - /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_QSPI1 switch divider output */ 213 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_QSPI1 switch divider output (qspi1_2x_pm_clk) */ 311 214 #define TEGRA234_CLK_QSPI1_2X_PM 193U 312 - /** @brief output of the divider QSPI_CLK_DIV2_SEL in CLK_RST_CONTROLLER_CLK_SOURCE_QSPI0 */ 215 + /** @brief output of the divider QSPI_CLK_DIV2_SEL in CLK_RST_CONTROLLER_CLK_SOURCE_QSPI0 (qspi0_pm_clk) */ 313 216 #define TEGRA234_CLK_QSPI0_PM 194U 314 - /** @brief output of the divider QSPI_CLK_DIV2_SEL in CLK_RST_CONTROLLER_CLK_SOURCE_QSPI1 */ 217 + /** @brief output of the divider QSPI_CLK_DIV2_SEL in CLK_RST_CONTROLLER_CLK_SOURCE_QSPI1 (qspi1_pm_clk) */ 315 218 #define TEGRA234_CLK_QSPI1_PM 195U 219 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_VI_CONST switch divider output */ 220 + #define TEGRA234_CLK_VI_CONST 196U 221 + /** @brief NAFLL clock source for BPMP */ 222 + #define TEGRA234_CLK_NAFLL_BPMP 197U 223 + /** @brief NAFLL clock source for SCE */ 224 + #define TEGRA234_CLK_NAFLL_SCE 198U 225 + /** @brief NAFLL clock source for NVDEC */ 226 + #define TEGRA234_CLK_NAFLL_NVDEC 199U 227 + /** @brief NAFLL clock source for NVJPG */ 228 + #define TEGRA234_CLK_NAFLL_NVJPG 200U 229 + /** @brief NAFLL clock source for TSEC */ 230 + #define TEGRA234_CLK_NAFLL_TSEC 201U 231 + /** @brief NAFLL clock source for VI */ 232 + #define TEGRA234_CLK_NAFLL_VI 203U 233 + /** @brief NAFLL clock source for SE */ 234 + #define TEGRA234_CLK_NAFLL_SE 204U 235 + /** @brief NAFLL clock source for NVENC */ 236 + #define TEGRA234_CLK_NAFLL_NVENC 205U 237 + /** @brief NAFLL clock source for ISP */ 238 + #define TEGRA234_CLK_NAFLL_ISP 206U 239 + /** @brief NAFLL clock source for VIC */ 240 + #define TEGRA234_CLK_NAFLL_VIC 207U 241 + /** @brief NAFLL clock source for AXICBB */ 242 + #define TEGRA234_CLK_NAFLL_AXICBB 209U 243 + /** @brief NAFLL clock source for NVJPG1 */ 244 + #define TEGRA234_CLK_NAFLL_NVJPG1 210U 245 + /** @brief NAFLL clock source for PVA core */ 246 + #define TEGRA234_CLK_NAFLL_PVA0_CORE 211U 247 + /** @brief NAFLL clock source for PVA VPS */ 248 + #define TEGRA234_CLK_NAFLL_PVA0_VPS 212U 249 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_DBGAPB_0 switch divider output (dbgapb_clk) */ 250 + #define TEGRA234_CLK_DBGAPB 213U 251 + /** @brief NAFLL clock source for RCE */ 252 + #define TEGRA234_CLK_NAFLL_RCE 214U 253 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_LA switch divider output (la_r_clk) */ 254 + #define TEGRA234_CLK_LA 215U 255 + /** @brief output of the divider CLK_RST_CONTROLLER_PLLP_OUTD */ 256 + #define TEGRA234_CLK_PLLP_OUT_JTAG 216U 257 + /** @brief AXI_CBB branch sharing gate control with SDMMC4 */ 258 + #define TEGRA234_CLK_SDMMC4_AXICIF 217U 316 259 /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_SDMMC_LEGACY_TM switch divider output */ 317 260 #define TEGRA234_CLK_SDMMC_LEGACY_TM 219U 318 261 /** @brief output of gate CLK_ENB_PEX0_CORE_0 */ ··· 431 166 #define TEGRA234_CLK_PEX0_C4_CORE 224U 432 167 /** @brief output of gate CLK_ENB_PEX1_CORE_5 */ 433 168 #define TEGRA234_CLK_PEX1_C5_CORE 225U 169 + /** @brief Monitored branch of PEX0_C0_CORE clock */ 170 + #define TEGRA234_CLK_PEX0_C0_CORE_M 229U 171 + /** @brief Monitored branch of PEX0_C1_CORE clock */ 172 + #define TEGRA234_CLK_PEX0_C1_CORE_M 230U 173 + /** @brief Monitored branch of PEX0_C2_CORE clock */ 174 + #define TEGRA234_CLK_PEX0_C2_CORE_M 231U 175 + /** @brief Monitored branch of PEX0_C3_CORE clock */ 176 + #define TEGRA234_CLK_PEX0_C3_CORE_M 232U 177 + /** @brief Monitored branch of PEX0_C4_CORE clock */ 178 + #define TEGRA234_CLK_PEX0_C4_CORE_M 233U 179 + /** @brief Monitored branch of PEX1_C5_CORE clock */ 180 + #define TEGRA234_CLK_PEX1_C5_CORE_M 234U 181 + /** @brief Monitored branch of PEX1_C6_CORE clock */ 182 + #define TEGRA234_CLK_PEX1_C6_CORE_M 235U 183 + /** @brief output of GPU GPC1 clkGen (in 1x mode same rate as GPC1 MUX2 out) */ 184 + #define TEGRA234_CLK_GPC1CLK 236U 434 185 /** @brief PLL controlled by CLK_RST_CONTROLLER_PLLC4_BASE */ 435 186 #define TEGRA234_CLK_PLLC4 237U 187 + /** @brief PLLC4 VCO followed by DIV3 path */ 188 + #define TEGRA234_CLK_PLLC4_OUT1 239U 189 + /** @brief PLLC4 VCO followed by DIV5 path */ 190 + #define TEGRA234_CLK_PLLC4_OUT2 240U 191 + /** @brief output of the mux controlled by PLLC4_CLK_SEL */ 192 + #define TEGRA234_CLK_PLLC4_MUXED 241U 193 + /** @brief PLLC4 VCO followed by DIV2 path */ 194 + #define TEGRA234_CLK_PLLC4_VCO_DIV2 242U 195 + /** @brief PLL controlled by CLK_RST_CONTROLLER_PLLNVHS_BASE */ 196 + #define TEGRA234_CLK_PLLNVHS 243U 197 + /** @brief Monitored branch of PEX2_C7_CORE clock */ 198 + #define TEGRA234_CLK_PEX2_C7_CORE_M 244U 199 + /** @brief Monitored branch of PEX2_C8_CORE clock */ 200 + #define TEGRA234_CLK_PEX2_C8_CORE_M 245U 201 + /** @brief Monitored branch of PEX2_C9_CORE clock */ 202 + #define TEGRA234_CLK_PEX2_C9_CORE_M 246U 203 + /** @brief Monitored branch of PEX2_C10_CORE clock */ 204 + #define TEGRA234_CLK_PEX2_C10_CORE_M 247U 436 205 /** @brief RX clock recovered from MGBE0 lane input */ 437 206 #define TEGRA234_CLK_MGBE0_RX_INPUT 248U 438 207 /** @brief RX clock recovered from MGBE1 lane input */ ··· 475 176 #define TEGRA234_CLK_MGBE2_RX_INPUT 250U 476 177 /** @brief RX clock recovered from MGBE3 lane input */ 477 178 #define TEGRA234_CLK_MGBE3_RX_INPUT 251U 179 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_PEX_SATA_USB_RX_BYP switch divider output */ 180 + #define TEGRA234_CLK_PEX_SATA_USB_RX_BYP 254U 181 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_PEX_USB_PAD_PLL0_MGMT switch divider output */ 182 + #define TEGRA234_CLK_PEX_USB_PAD_PLL0_MGMT 255U 183 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_PEX_USB_PAD_PLL1_MGMT switch divider output */ 184 + #define TEGRA234_CLK_PEX_USB_PAD_PLL1_MGMT 256U 185 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_PEX_USB_PAD_PLL2_MGMT switch divider output */ 186 + #define TEGRA234_CLK_PEX_USB_PAD_PLL2_MGMT 257U 187 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_PEX_USB_PAD_PLL3_MGMT switch divider output */ 188 + #define TEGRA234_CLK_PEX_USB_PAD_PLL3_MGMT 258U 189 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_NVHS_RX_BYP switch divider output */ 190 + #define TEGRA234_CLK_NVHS_RX_BYP_REF 263U 191 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_NVHS_PLL0_MGMT switch divider output */ 192 + #define TEGRA234_CLK_NVHS_PLL0_MGMT 264U 193 + /** @brief xusb_core_dev_clk */ 194 + #define TEGRA234_CLK_XUSB_CORE_DEV 265U 195 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_XUSB_CORE_HOST switch divider output */ 196 + #define TEGRA234_CLK_XUSB_CORE_MUX 266U 197 + /** @brief xusb_core_host_clk */ 198 + #define TEGRA234_CLK_XUSB_CORE_HOST 267U 199 + /** @brief xusb_core_superspeed_clk */ 200 + #define TEGRA234_CLK_XUSB_CORE_SS 268U 201 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_XUSB_FALCON switch divider output */ 202 + #define TEGRA234_CLK_XUSB_FALCON 269U 203 + /** @brief xusb_falcon_host_clk */ 204 + #define TEGRA234_CLK_XUSB_FALCON_HOST 270U 205 + /** @brief xusb_falcon_superspeed_clk */ 206 + #define TEGRA234_CLK_XUSB_FALCON_SS 271U 207 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_XUSB_FS switch divider output */ 208 + #define TEGRA234_CLK_XUSB_FS 272U 209 + /** @brief xusb_fs_host_clk */ 210 + #define TEGRA234_CLK_XUSB_FS_HOST 273U 211 + /** @brief xusb_fs_dev_clk */ 212 + #define TEGRA234_CLK_XUSB_FS_DEV 274U 213 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_XUSB_SS switch divider output */ 214 + #define TEGRA234_CLK_XUSB_SS 275U 215 + /** @brief xusb_ss_dev_clk */ 216 + #define TEGRA234_CLK_XUSB_SS_DEV 276U 217 + /** @brief xusb_ss_superspeed_clk */ 218 + #define TEGRA234_CLK_XUSB_SS_SUPERSPEED 277U 219 + /** @brief NAFLL clock source for CPU cluster 0 */ 220 + #define TEGRA234_CLK_NAFLL_CLUSTER0 280U /* TODO: remove */ 221 + #define TEGRA234_CLK_NAFLL_CLUSTER0_CORE 280U 222 + /** @brief NAFLL clock source for CPU cluster 1 */ 223 + #define TEGRA234_CLK_NAFLL_CLUSTER1 281U /* TODO: remove */ 224 + #define TEGRA234_CLK_NAFLL_CLUSTER1_CORE 281U 225 + /** @brief NAFLL clock source for CPU cluster 2 */ 226 + #define TEGRA234_CLK_NAFLL_CLUSTER2 282U /* TODO: remove */ 227 + #define TEGRA234_CLK_NAFLL_CLUSTER2_CORE 282U 228 + /** @brief CLK_RST_CONTROLLER_CAN1_CORE_RATE divider output */ 229 + #define TEGRA234_CLK_CAN1_CORE 284U 230 + /** @brief CLK_RST_CONTROLLER_CAN2_CORE_RATE divider outputt */ 231 + #define TEGRA234_CLK_CAN2_CORE 285U 232 + /** @brief CLK_RST_CONTROLLER_PLLA1_OUT1 switch divider output */ 233 + #define TEGRA234_CLK_PLLA1_OUT1 286U 234 + /** @brief NVHS PLL hardware power sequencer (overrides 'manual' programming of PLL) */ 235 + #define TEGRA234_CLK_PLLNVHS_HPS 287U 236 + /** @brief PLL controlled by CLK_RST_CONTROLLER_PLLREFE_BASE */ 237 + #define TEGRA234_CLK_PLLREFE_VCOOUT 288U 478 238 /** @brief 32K input clock provided by PMIC */ 479 239 #define TEGRA234_CLK_CLK_32K 289U 240 + /** @brief Fixed 48MHz clock divided down from utmipll */ 241 + #define TEGRA234_CLK_UTMIPLL_CLKOUT48 291U 242 + /** @brief Fixed 480MHz clock divided down from utmipll */ 243 + #define TEGRA234_CLK_UTMIPLL_CLKOUT480 292U 244 + /** @brief PLL controlled by CLK_RST_CONTROLLER_PLLNVCSI_BASE */ 245 + #define TEGRA234_CLK_PLLNVCSI 294U 246 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_PVA0_CPU_AXI switch divider output */ 247 + #define TEGRA234_CLK_PVA0_CPU_AXI 295U 248 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_PVA0_VPS switch divider output */ 249 + #define TEGRA234_CLK_PVA0_VPS 297U 250 + /** @brief DLA0_CORE_NAFLL */ 251 + #define TEGRA234_CLK_NAFLL_DLA0_CORE 299U 252 + /** @brief DLA0_FALCON_NAFLL */ 253 + #define TEGRA234_CLK_NAFLL_DLA0_FALCON 300U 254 + /** @brief DLA1_CORE_NAFLL */ 255 + #define TEGRA234_CLK_NAFLL_DLA1_CORE 301U 256 + /** @brief DLA1_FALCON_NAFLL */ 257 + #define TEGRA234_CLK_NAFLL_DLA1_FALCON 302U 258 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_AON_UART_FST_MIPI_CAL */ 259 + #define TEGRA234_CLK_AON_UART_FST_MIPI_CAL 303U 260 + /** @brief GPU system clock */ 261 + #define TEGRA234_CLK_GPUSYS 304U 262 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_I2C5 */ 263 + #define TEGRA234_CLK_I2C5 305U 264 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_SE switch divider free running clk */ 265 + #define TEGRA234_CLK_FR_SE 306U 266 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_BPMP_CPU_NIC switch divider output */ 267 + #define TEGRA234_CLK_BPMP_CPU_NIC 307U 268 + /** @brief output of gate CLK_ENB_BPMP_CPU */ 269 + #define TEGRA234_CLK_BPMP_CPU 308U 270 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_TSC switch divider output */ 271 + #define TEGRA234_CLK_TSC 309U 272 + /** @brief output of mem pll A sync mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_EMC */ 273 + #define TEGRA234_CLK_EMCSA_MPLL 310U 274 + /** @brief output of mem pll B sync mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_EMCSB */ 275 + #define TEGRA234_CLK_EMCSB_MPLL 311U 276 + /** @brief output of mem pll C sync mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_EMCSC */ 277 + #define TEGRA234_CLK_EMCSC_MPLL 312U 278 + /** @brief output of mem pll D sync mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_EMCSD */ 279 + #define TEGRA234_CLK_EMCSD_MPLL 313U 280 + /** @brief PLL controlled by CLK_RST_CONTROLLER_PLLC_BASE */ 281 + #define TEGRA234_CLK_PLLC 314U 282 + /** @brief PLL controlled by CLK_RST_CONTROLLER_PLLC2_BASE */ 283 + #define TEGRA234_CLK_PLLC2 315U 284 + /** @brief CLK_RST_CONTROLLER_TSC_HS_SUPER_CLK_DIVIDER skip divider output */ 285 + #define TEGRA234_CLK_TSC_REF 317U 286 + /** @brief Dummy clock to ensure minimum SoC voltage for fuse burning */ 287 + #define TEGRA234_CLK_FUSE_BURN 318U 288 + /** @brief GBE PLL */ 289 + #define TEGRA234_CLK_PLLGBE 319U 290 + /** @brief GBE PLL hardware power sequencer */ 291 + #define TEGRA234_CLK_PLLGBE_HPS 320U 292 + /** @brief output of EMC CDB side A fixed (DIV4) divider */ 293 + #define TEGRA234_CLK_EMCSA_EMC 321U 294 + /** @brief output of EMC CDB side B fixed (DIV4) divider */ 295 + #define TEGRA234_CLK_EMCSB_EMC 322U 296 + /** @brief output of EMC CDB side C fixed (DIV4) divider */ 297 + #define TEGRA234_CLK_EMCSC_EMC 323U 298 + /** @brief output of EMC CDB side D fixed (DIV4) divider */ 299 + #define TEGRA234_CLK_EMCSD_EMC 324U 300 + /** @brief PLLE hardware power sequencer (overrides 'manual' programming of PLL) */ 301 + #define TEGRA234_CLK_PLLE_HPS 326U 302 + /** @brief CLK_ENB_PLLREFE_OUT gate output */ 303 + #define TEGRA234_CLK_PLLREFE_VCOOUT_GATED 327U 304 + /** @brief TEGRA234_CLK_SOR_SAFE clk source (PLLP_OUT0 divided by 17) */ 305 + #define TEGRA234_CLK_PLLP_DIV17 328U 306 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_SOC_THERM switch divider output */ 307 + #define TEGRA234_CLK_SOC_THERM 329U 308 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_TSENSE switch divider output */ 309 + #define TEGRA234_CLK_TSENSE 330U 310 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_SEU1 switch divider free running clk */ 311 + #define TEGRA234_CLK_FR_SEU1 331U 312 + /** @brief NAFLL clock source for OFA */ 313 + #define TEGRA234_CLK_NAFLL_OFA 333U 314 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_OFA switch divider output */ 315 + #define TEGRA234_CLK_OFA 334U 316 + /** @brief NAFLL clock source for SEU1 */ 317 + #define TEGRA234_CLK_NAFLL_SEU1 335U 318 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_SEU1 switch divider gated output */ 319 + #define TEGRA234_CLK_SEU1 336U 320 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_SPI4 */ 321 + #define TEGRA234_CLK_SPI4 337U 322 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_SPI5 */ 323 + #define TEGRA234_CLK_SPI5 338U 324 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_DCE_CPU_NIC */ 325 + #define TEGRA234_CLK_DCE_CPU_NIC 339U 326 + /** @brief output of divider CLK_RST_CONTROLLER_DCE_NIC_RATE */ 327 + #define TEGRA234_CLK_DCE_NIC 340U 328 + /** @brief NAFLL clock source for DCE */ 329 + #define TEGRA234_CLK_NAFLL_DCE 341U 330 + /** @brief Monitored branch of MPHY_L0_RX_ANA clock */ 331 + #define TEGRA234_CLK_MPHY_L0_RX_ANA_M 342U 332 + /** @brief Monitored branch of MPHY_L1_RX_ANA clock */ 333 + #define TEGRA234_CLK_MPHY_L1_RX_ANA_M 343U 334 + /** @brief ungated version of TX symbol clock after fixed 1/2 divider */ 335 + #define TEGRA234_CLK_MPHY_L0_TX_PRE_SYMB 344U 336 + /** @brief output of divider CLK_RST_CONTROLLER_CLK_SOURCE_MPHY_L0_TX_LS_SYMB */ 337 + #define TEGRA234_CLK_MPHY_L0_TX_LS_SYMB_DIV 345U 338 + /** @brief output of gate CLK_ENB_MPHY_L0_TX_2X_SYMB */ 339 + #define TEGRA234_CLK_MPHY_L0_TX_2X_SYMB 346U 340 + /** @brief output of SW_MPHY_L0_TX_HS_SYMB divider in CLK_RST_CONTROLLER_MPHY_L0_TX_CLK_CTRL_0 */ 341 + #define TEGRA234_CLK_MPHY_L0_TX_HS_SYMB_DIV 347U 342 + /** @brief output of SW_MPHY_L0_TX_LS_3XBIT divider in CLK_RST_CONTROLLER_MPHY_L0_TX_CLK_CTRL_0 */ 343 + #define TEGRA234_CLK_MPHY_L0_TX_LS_3XBIT_DIV 348U 344 + /** @brief LS/HS divider mux SW_MPHY_L0_TX_LS_HS_SEL in CLK_RST_CONTROLLER_MPHY_L0_TX_CLK_CTRL_0 */ 345 + #define TEGRA234_CLK_MPHY_L0_TX_MUX_SYMB_DIV 349U 346 + /** @brief Monitored branch of MPHY_L0_TX_SYMB clock */ 347 + #define TEGRA234_CLK_MPHY_L0_TX_SYMB_M 350U 348 + /** @brief output of divider CLK_RST_CONTROLLER_CLK_SOURCE_MPHY_L0_RX_LS_SYMB */ 349 + #define TEGRA234_CLK_MPHY_L0_RX_LS_SYMB_DIV 351U 350 + /** @brief output of SW_MPHY_L0_RX_HS_SYMB divider in CLK_RST_CONTROLLER_MPHY_L0_RX_CLK_CTRL_0 */ 351 + #define TEGRA234_CLK_MPHY_L0_RX_HS_SYMB_DIV 352U 352 + /** @brief output of SW_MPHY_L0_RX_LS_BIT divider in CLK_RST_CONTROLLER_MPHY_L0_RX_CLK_CTRL_0 */ 353 + #define TEGRA234_CLK_MPHY_L0_RX_LS_BIT_DIV 353U 354 + /** @brief LS/HS divider mux SW_MPHY_L0_RX_LS_HS_SEL in CLK_RST_CONTROLLER_MPHY_L0_RX_CLK_CTRL_0 */ 355 + #define TEGRA234_CLK_MPHY_L0_RX_MUX_SYMB_DIV 354U 356 + /** @brief Monitored branch of MPHY_L0_RX_SYMB clock */ 357 + #define TEGRA234_CLK_MPHY_L0_RX_SYMB_M 355U 480 358 /** @brief Monitored branch of MBGE0 RX input clock */ 481 359 #define TEGRA234_CLK_MGBE0_RX_INPUT_M 357U 482 360 /** @brief Monitored branch of MBGE1 RX input clock */ ··· 670 194 #define TEGRA234_CLK_MGBE2_RX_PCS_M 363U 671 195 /** @brief Monitored branch of MGBE3 RX PCS mux output */ 672 196 #define TEGRA234_CLK_MGBE3_RX_PCS_M 364U 197 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_TACH1 */ 198 + #define TEGRA234_CLK_TACH1 365U 199 + /** @brief GBE_UPHY_MGBES_APP_CLK switch divider gated output */ 200 + #define TEGRA234_CLK_MGBES_APP 366U 201 + /** @brief Logical clk for setting GBE UPHY PLL2 TX_REF rate */ 202 + #define TEGRA234_CLK_UPHY_GBE_PLL2_TX_REF 367U 203 + /** @brief Logical clk for setting GBE UPHY PLL2 XDIG rate */ 204 + #define TEGRA234_CLK_UPHY_GBE_PLL2_XDIG 368U 673 205 /** @brief RX PCS clock recovered from MGBE0 lane input */ 674 206 #define TEGRA234_CLK_MGBE0_RX_PCS_INPUT 369U 675 207 /** @brief RX PCS clock recovered from MGBE1 lane input */ ··· 714 230 #define TEGRA234_CLK_MGBE1_MAC_DIVIDER 385U 715 231 /** @brief GBE_UPHY_MGBE1_MAC_CLK gate output */ 716 232 #define TEGRA234_CLK_MGBE1_MAC 386U 233 + /** @brief GBE_UPHY_MGBE1_MACSEC_CLK gate output */ 234 + #define TEGRA234_CLK_MGBE1_MACSEC 387U 717 235 /** @brief GBE_UPHY_MGBE1_EEE_PCS_CLK gate output */ 718 236 #define TEGRA234_CLK_MGBE1_EEE_PCS 388U 719 237 /** @brief GBE_UPHY_MGBE1_APP_CLK gate output */ ··· 732 246 #define TEGRA234_CLK_MGBE2_MAC_DIVIDER 394U 733 247 /** @brief GBE_UPHY_MGBE2_MAC_CLK gate output */ 734 248 #define TEGRA234_CLK_MGBE2_MAC 395U 249 + /** @brief GBE_UPHY_MGBE2_MACSEC_CLK gate output */ 250 + #define TEGRA234_CLK_MGBE2_MACSEC 396U 735 251 /** @brief GBE_UPHY_MGBE2_EEE_PCS_CLK gate output */ 736 252 #define TEGRA234_CLK_MGBE2_EEE_PCS 397U 737 253 /** @brief GBE_UPHY_MGBE2_APP_CLK gate output */ ··· 758 270 #define TEGRA234_CLK_MGBE3_APP 407U 759 271 /** @brief GBE_UPHY_MGBE3_PTP_REF_CLK divider gated output */ 760 272 #define TEGRA234_CLK_MGBE3_PTP_REF 408U 273 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_GBE_RX_BYP switch divider output */ 274 + #define TEGRA234_CLK_GBE_RX_BYP_REF 409U 275 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_GBE_PLL0_MGMT switch divider output */ 276 + #define TEGRA234_CLK_GBE_PLL0_MGMT 410U 277 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_GBE_PLL1_MGMT switch divider output */ 278 + #define TEGRA234_CLK_GBE_PLL1_MGMT 411U 279 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_GBE_PLL2_MGMT switch divider output */ 280 + #define TEGRA234_CLK_GBE_PLL2_MGMT 412U 281 + /** @brief output of gate CLK_ENB_EQOS_MACSEC_RX */ 282 + #define TEGRA234_CLK_EQOS_MACSEC_RX 413U 283 + /** @brief output of gate CLK_ENB_EQOS_MACSEC_TX */ 284 + #define TEGRA234_CLK_EQOS_MACSEC_TX 414U 285 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_EQOS_TX_CLK divider ungated output */ 286 + #define TEGRA234_CLK_EQOS_TX_DIVIDER 415U 287 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_NVHS_PLL1_MGMT switch divider output */ 288 + #define TEGRA234_CLK_NVHS_PLL1_MGMT 416U 289 + /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_EMCHUB mux output */ 290 + #define TEGRA234_CLK_EMCHUB 417U 291 + /** @brief clock recovered from I2S7 input */ 292 + #define TEGRA234_CLK_I2S7_SYNC_INPUT 418U 293 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_AUDIO_SYNC_CLK_I2S7 */ 294 + #define TEGRA234_CLK_SYNC_I2S7 419U 295 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_I2S7 */ 296 + #define TEGRA234_CLK_I2S7 420U 297 + /** @brief Monitored output of I2S7 pad macro mux */ 298 + #define TEGRA234_CLK_I2S7_PAD_M 421U 299 + /** @brief clock recovered from I2S8 input */ 300 + #define TEGRA234_CLK_I2S8_SYNC_INPUT 422U 301 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_AUDIO_SYNC_CLK_I2S8 */ 302 + #define TEGRA234_CLK_SYNC_I2S8 423U 303 + /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_I2S8 */ 304 + #define TEGRA234_CLK_I2S8 424U 305 + /** @brief Monitored output of I2S8 pad macro mux */ 306 + #define TEGRA234_CLK_I2S8_PAD_M 425U 307 + /** @brief NAFLL clock source for GPU GPC0 */ 308 + #define TEGRA234_CLK_NAFLL_GPC0 426U 309 + /** @brief NAFLL clock source for GPU GPC1 */ 310 + #define TEGRA234_CLK_NAFLL_GPC1 427U 311 + /** @brief NAFLL clock source for GPU SYSCLK */ 312 + #define TEGRA234_CLK_NAFLL_GPUSYS 428U 313 + /** @brief NAFLL clock source for CPU cluster 0 DSUCLK */ 314 + #define TEGRA234_CLK_NAFLL_DSU0 429U /* TODO: remove */ 315 + #define TEGRA234_CLK_NAFLL_CLUSTER0_DSU 429U 316 + /** @brief NAFLL clock source for CPU cluster 1 DSUCLK */ 317 + #define TEGRA234_CLK_NAFLL_DSU1 430U /* TODO: remove */ 318 + #define TEGRA234_CLK_NAFLL_CLUSTER1_DSU 430U 319 + /** @brief NAFLL clock source for CPU cluster 2 DSUCLK */ 320 + #define TEGRA234_CLK_NAFLL_DSU2 431U /* TODO: remove */ 321 + #define TEGRA234_CLK_NAFLL_CLUSTER2_DSU 431U 322 + /** @brief output of gate CLK_ENB_SCE_CPU */ 323 + #define TEGRA234_CLK_SCE_CPU 432U 324 + /** @brief output of gate CLK_ENB_RCE_CPU */ 325 + #define TEGRA234_CLK_RCE_CPU 433U 326 + /** @brief output of gate CLK_ENB_DCE_CPU */ 327 + #define TEGRA234_CLK_DCE_CPU 434U 328 + /** @brief DSIPLL VCO output */ 329 + #define TEGRA234_CLK_DSIPLL_VCO 435U 330 + /** @brief DSIPLL SYNC_CLKOUTP/N differential output */ 331 + #define TEGRA234_CLK_DSIPLL_CLKOUTPN 436U 332 + /** @brief DSIPLL SYNC_CLKOUTA output */ 333 + #define TEGRA234_CLK_DSIPLL_CLKOUTA 437U 334 + /** @brief SPPLL0 VCO output */ 335 + #define TEGRA234_CLK_SPPLL0_VCO 438U 336 + /** @brief SPPLL0 SYNC_CLKOUTP/N differential output */ 337 + #define TEGRA234_CLK_SPPLL0_CLKOUTPN 439U 338 + /** @brief SPPLL0 SYNC_CLKOUTA output */ 339 + #define TEGRA234_CLK_SPPLL0_CLKOUTA 440U 340 + /** @brief SPPLL0 SYNC_CLKOUTB output */ 341 + #define TEGRA234_CLK_SPPLL0_CLKOUTB 441U 342 + /** @brief SPPLL0 CLKOUT_DIVBY10 output */ 343 + #define TEGRA234_CLK_SPPLL0_DIV10 442U 344 + /** @brief SPPLL0 CLKOUT_DIVBY25 output */ 345 + #define TEGRA234_CLK_SPPLL0_DIV25 443U 346 + /** @brief SPPLL0 CLKOUT_DIVBY27P/N differential output */ 347 + #define TEGRA234_CLK_SPPLL0_DIV27PN 444U 348 + /** @brief SPPLL1 VCO output */ 349 + #define TEGRA234_CLK_SPPLL1_VCO 445U 350 + /** @brief SPPLL1 SYNC_CLKOUTP/N differential output */ 351 + #define TEGRA234_CLK_SPPLL1_CLKOUTPN 446U 352 + /** @brief SPPLL1 CLKOUT_DIVBY27P/N differential output */ 353 + #define TEGRA234_CLK_SPPLL1_DIV27PN 447U 354 + /** @brief VPLL0 reference clock */ 355 + #define TEGRA234_CLK_VPLL0_REF 448U 356 + /** @brief VPLL0 */ 357 + #define TEGRA234_CLK_VPLL0 449U 358 + /** @brief VPLL1 */ 359 + #define TEGRA234_CLK_VPLL1 450U 360 + /** @brief NVDISPLAY_P0_CLK reference select */ 361 + #define TEGRA234_CLK_NVDISPLAY_P0_REF 451U 362 + /** @brief RG0_PCLK */ 363 + #define TEGRA234_CLK_RG0 452U 364 + /** @brief RG1_PCLK */ 365 + #define TEGRA234_CLK_RG1 453U 366 + /** @brief DISPPLL output */ 367 + #define TEGRA234_CLK_DISPPLL 454U 368 + /** @brief DISPHUBPLL output */ 369 + #define TEGRA234_CLK_DISPHUBPLL 455U 370 + /** @brief CLK_RST_CONTROLLER_DSI_LP_SWITCH_DIVIDER switch divider output (dsi_lp_clk) */ 371 + #define TEGRA234_CLK_DSI_LP 456U 761 372 /** @brief CLK_RST_CONTROLLER_AZA2XBITCLK_OUT_SWITCH_DIVIDER switch divider output (aza_2xbitclk) */ 762 373 #define TEGRA234_CLK_AZA_2XBIT 457U 763 374 /** @brief aza_2xbitclk / 2 (aza_bitclk) */ 764 375 #define TEGRA234_CLK_AZA_BIT 458U 376 + /** @brief SWITCH_DSI_CORE_PIXEL_MISC_DSI_CORE_CLK_SRC switch output (dsi_core_clk) */ 377 + #define TEGRA234_CLK_DSI_CORE 459U 378 + /** @brief Output of mux controlled by pkt_wr_fifo_signal from dsi (dsi_pixel_clk) */ 379 + #define TEGRA234_CLK_DSI_PIXEL 460U 380 + /** @brief Output of mux controlled by disp_2clk_sor0_dp_sel (pre_sor0_clk) */ 381 + #define TEGRA234_CLK_PRE_SOR0 461U 382 + /** @brief Output of mux controlled by disp_2clk_sor1_dp_sel (pre_sor1_clk) */ 383 + #define TEGRA234_CLK_PRE_SOR1 462U 384 + /** @brief CLK_RST_CONTROLLER_LINK_REFCLK_CFG__0 output */ 385 + #define TEGRA234_CLK_DP_LINK_REF 463U 386 + /** @brief Link clock input from DP macro brick PLL */ 387 + #define TEGRA234_CLK_SOR_LINKA_INPUT 464U 388 + /** @brief SOR AFIFO clock outut */ 389 + #define TEGRA234_CLK_SOR_LINKA_AFIFO 465U 390 + /** @brief Monitored branch of linka_afifo_clk */ 391 + #define TEGRA234_CLK_SOR_LINKA_AFIFO_M 466U 392 + /** @brief Monitored branch of rg0_pclk */ 393 + #define TEGRA234_CLK_RG0_M 467U 394 + /** @brief Monitored branch of rg1_pclk */ 395 + #define TEGRA234_CLK_RG1_M 468U 396 + /** @brief Monitored branch of sor0_clk */ 397 + #define TEGRA234_CLK_SOR0_M 469U 398 + /** @brief Monitored branch of sor1_clk */ 399 + #define TEGRA234_CLK_SOR1_M 470U 400 + /** @brief EMC PLLHUB output */ 401 + #define TEGRA234_CLK_PLLHUB 471U 402 + /** @brief output of fixed (DIV2) MC HUB divider */ 403 + #define TEGRA234_CLK_MCHUB 472U 404 + /** @brief output of divider controlled by EMC side A MC_EMC_SAFE_SAME_FREQ */ 405 + #define TEGRA234_CLK_EMCSA_MC 473U 406 + /** @brief output of divider controlled by EMC side B MC_EMC_SAFE_SAME_FREQ */ 407 + #define TEGRA234_CLK_EMCSB_MC 474U 408 + /** @brief output of divider controlled by EMC side C MC_EMC_SAFE_SAME_FREQ */ 409 + #define TEGRA234_CLK_EMCSC_MC 475U 410 + /** @brief output of divider controlled by EMC side D MC_EMC_SAFE_SAME_FREQ */ 411 + #define TEGRA234_CLK_EMCSD_MC 476U 412 + 413 + /** @} */ 765 414 766 415 #endif
+418 -22
include/dt-bindings/memory/tegra234-mc.h
··· 8 8 #define TEGRA234_SID_INVALID 0x00 9 9 #define TEGRA234_SID_PASSTHROUGH 0x7f 10 10 11 + /* ISO stream IDs */ 12 + #define TEGRA234_SID_ISO_NVDISPLAY 0x01 13 + #define TEGRA234_SID_ISO_VI 0x02 14 + #define TEGRA234_SID_ISO_VIFALC 0x03 15 + #define TEGRA234_SID_ISO_VI2 0x04 16 + #define TEGRA234_SID_ISO_VI2FALC 0x05 17 + #define TEGRA234_SID_ISO_VI_VM2 0x06 18 + #define TEGRA234_SID_ISO_VI2_VM2 0x07 19 + 11 20 /* NISO0 stream IDs */ 12 - #define TEGRA234_SID_APE 0x02 13 - #define TEGRA234_SID_HDA 0x03 14 - #define TEGRA234_SID_GPCDMA 0x04 15 - #define TEGRA234_SID_MGBE 0x06 16 - #define TEGRA234_SID_PCIE0 0x12 17 - #define TEGRA234_SID_PCIE4 0x13 18 - #define TEGRA234_SID_PCIE5 0x14 19 - #define TEGRA234_SID_PCIE6 0x15 20 - #define TEGRA234_SID_PCIE9 0x1f 21 - #define TEGRA234_SID_MGBE_VF1 0x49 22 - #define TEGRA234_SID_MGBE_VF2 0x4a 23 - #define TEGRA234_SID_MGBE_VF3 0x4b 21 + #define TEGRA234_SID_AON 0x01 22 + #define TEGRA234_SID_APE 0x02 23 + #define TEGRA234_SID_HDA 0x03 24 + #define TEGRA234_SID_GPCDMA 0x04 25 + #define TEGRA234_SID_ETR 0x05 26 + #define TEGRA234_SID_MGBE 0x06 27 + #define TEGRA234_SID_NVDISPLAY 0x07 28 + #define TEGRA234_SID_DCE 0x08 29 + #define TEGRA234_SID_PSC 0x09 30 + #define TEGRA234_SID_RCE 0x0a 31 + #define TEGRA234_SID_SCE 0x0b 32 + #define TEGRA234_SID_UFSHC 0x0c 33 + #define TEGRA234_SID_APE_1 0x0d 34 + #define TEGRA234_SID_GPCDMA_1 0x0e 35 + #define TEGRA234_SID_GPCDMA_2 0x0f 36 + #define TEGRA234_SID_GPCDMA_3 0x10 37 + #define TEGRA234_SID_GPCDMA_4 0x11 38 + #define TEGRA234_SID_PCIE0 0x12 39 + #define TEGRA234_SID_PCIE4 0x13 40 + #define TEGRA234_SID_PCIE5 0x14 41 + #define TEGRA234_SID_PCIE6 0x15 42 + #define TEGRA234_SID_RCE_VM2 0x16 43 + #define TEGRA234_SID_RCE_SERVER 0x17 44 + #define TEGRA234_SID_SMMU_TEST 0x18 45 + #define TEGRA234_SID_UFS_1 0x19 46 + #define TEGRA234_SID_UFS_2 0x1a 47 + #define TEGRA234_SID_UFS_3 0x1b 48 + #define TEGRA234_SID_UFS_4 0x1c 49 + #define TEGRA234_SID_UFS_5 0x1d 50 + #define TEGRA234_SID_UFS_6 0x1e 51 + #define TEGRA234_SID_PCIE9 0x1f 52 + #define TEGRA234_SID_VSE_GPCDMA_VM0 0x20 53 + #define TEGRA234_SID_VSE_GPCDMA_VM1 0x21 54 + #define TEGRA234_SID_VSE_GPCDMA_VM2 0x22 55 + #define TEGRA234_SID_NVDLA1 0x23 56 + #define TEGRA234_SID_NVENC 0x24 57 + #define TEGRA234_SID_NVJPG1 0x25 58 + #define TEGRA234_SID_OFA 0x26 59 + #define TEGRA234_SID_MGBE_VF1 0x49 60 + #define TEGRA234_SID_MGBE_VF2 0x4a 61 + #define TEGRA234_SID_MGBE_VF3 0x4b 62 + #define TEGRA234_SID_MGBE_VF4 0x4c 63 + #define TEGRA234_SID_MGBE_VF5 0x4d 64 + #define TEGRA234_SID_MGBE_VF6 0x4e 65 + #define TEGRA234_SID_MGBE_VF7 0x4f 66 + #define TEGRA234_SID_MGBE_VF8 0x50 67 + #define TEGRA234_SID_MGBE_VF9 0x51 68 + #define TEGRA234_SID_MGBE_VF10 0x52 69 + #define TEGRA234_SID_MGBE_VF11 0x53 70 + #define TEGRA234_SID_MGBE_VF12 0x54 71 + #define TEGRA234_SID_MGBE_VF13 0x55 72 + #define TEGRA234_SID_MGBE_VF14 0x56 73 + #define TEGRA234_SID_MGBE_VF15 0x57 74 + #define TEGRA234_SID_MGBE_VF16 0x58 75 + #define TEGRA234_SID_MGBE_VF17 0x59 76 + #define TEGRA234_SID_MGBE_VF18 0x5a 77 + #define TEGRA234_SID_MGBE_VF19 0x5b 78 + #define TEGRA234_SID_MGBE_VF20 0x5c 79 + #define TEGRA234_SID_APE_2 0x5e 80 + #define TEGRA234_SID_APE_3 0x5f 81 + #define TEGRA234_SID_UFS_7 0x60 82 + #define TEGRA234_SID_UFS_8 0x61 83 + #define TEGRA234_SID_UFS_9 0x62 84 + #define TEGRA234_SID_UFS_10 0x63 85 + #define TEGRA234_SID_UFS_11 0x64 86 + #define TEGRA234_SID_UFS_12 0x65 87 + #define TEGRA234_SID_UFS_13 0x66 88 + #define TEGRA234_SID_UFS_14 0x67 89 + #define TEGRA234_SID_UFS_15 0x68 90 + #define TEGRA234_SID_UFS_16 0x69 91 + #define TEGRA234_SID_UFS_17 0x6a 92 + #define TEGRA234_SID_UFS_18 0x6b 93 + #define TEGRA234_SID_UFS_19 0x6c 94 + #define TEGRA234_SID_UFS_20 0x6d 95 + #define TEGRA234_SID_GPCDMA_5 0x6e 96 + #define TEGRA234_SID_GPCDMA_6 0x6f 97 + #define TEGRA234_SID_GPCDMA_7 0x70 98 + #define TEGRA234_SID_GPCDMA_8 0x71 99 + #define TEGRA234_SID_GPCDMA_9 0x72 24 100 25 101 /* NISO1 stream IDs */ 26 - #define TEGRA234_SID_SDMMC4 0x02 27 - #define TEGRA234_SID_PCIE1 0x05 28 - #define TEGRA234_SID_PCIE2 0x06 29 - #define TEGRA234_SID_PCIE3 0x07 30 - #define TEGRA234_SID_PCIE7 0x08 31 - #define TEGRA234_SID_PCIE8 0x09 32 - #define TEGRA234_SID_PCIE10 0x0b 33 - #define TEGRA234_SID_BPMP 0x10 34 - #define TEGRA234_SID_HOST1X 0x27 35 - #define TEGRA234_SID_VIC 0x34 102 + #define TEGRA234_SID_SDMMC1A 0x01 103 + #define TEGRA234_SID_SDMMC4 0x02 104 + #define TEGRA234_SID_EQOS 0x03 105 + #define TEGRA234_SID_HWMP_PMA 0x04 106 + #define TEGRA234_SID_PCIE1 0x05 107 + #define TEGRA234_SID_PCIE2 0x06 108 + #define TEGRA234_SID_PCIE3 0x07 109 + #define TEGRA234_SID_PCIE7 0x08 110 + #define TEGRA234_SID_PCIE8 0x09 111 + #define TEGRA234_SID_PCIE10 0x0b 112 + #define TEGRA234_SID_QSPI0 0x0c 113 + #define TEGRA234_SID_QSPI1 0x0d 114 + #define TEGRA234_SID_XUSB_HOST 0x0e 115 + #define TEGRA234_SID_XUSB_DEV 0x0f 116 + #define TEGRA234_SID_BPMP 0x10 117 + #define TEGRA234_SID_FSI 0x11 118 + #define TEGRA234_SID_PVA0_VM0 0x12 119 + #define TEGRA234_SID_PVA0_VM1 0x13 120 + #define TEGRA234_SID_PVA0_VM2 0x14 121 + #define TEGRA234_SID_PVA0_VM3 0x15 122 + #define TEGRA234_SID_PVA0_VM4 0x16 123 + #define TEGRA234_SID_PVA0_VM5 0x17 124 + #define TEGRA234_SID_PVA0_VM6 0x18 125 + #define TEGRA234_SID_PVA0_VM7 0x19 126 + #define TEGRA234_SID_XUSB_VF0 0x1a 127 + #define TEGRA234_SID_XUSB_VF1 0x1b 128 + #define TEGRA234_SID_XUSB_VF2 0x1c 129 + #define TEGRA234_SID_XUSB_VF3 0x1d 130 + #define TEGRA234_SID_EQOS_VF1 0x1e 131 + #define TEGRA234_SID_EQOS_VF2 0x1f 132 + #define TEGRA234_SID_EQOS_VF3 0x20 133 + #define TEGRA234_SID_EQOS_VF4 0x21 134 + #define TEGRA234_SID_ISP_VM2 0x22 135 + #define TEGRA234_SID_HOST1X 0x27 136 + #define TEGRA234_SID_ISP 0x28 137 + #define TEGRA234_SID_NVDEC 0x29 138 + #define TEGRA234_SID_NVJPG 0x2a 139 + #define TEGRA234_SID_NVDLA0 0x2b 140 + #define TEGRA234_SID_PVA0 0x2c 141 + #define TEGRA234_SID_SES_SE0 0x2d 142 + #define TEGRA234_SID_SES_SE1 0x2e 143 + #define TEGRA234_SID_SES_SE2 0x2f 144 + #define TEGRA234_SID_SEU1_SE0 0x30 145 + #define TEGRA234_SID_SEU1_SE1 0x31 146 + #define TEGRA234_SID_SEU1_SE2 0x32 147 + #define TEGRA234_SID_TSEC 0x33 148 + #define TEGRA234_SID_VIC 0x34 149 + #define TEGRA234_SID_HC_VM0 0x3d 150 + #define TEGRA234_SID_HC_VM1 0x3e 151 + #define TEGRA234_SID_HC_VM2 0x3f 152 + #define TEGRA234_SID_HC_VM3 0x40 153 + #define TEGRA234_SID_HC_VM4 0x41 154 + #define TEGRA234_SID_HC_VM5 0x42 155 + #define TEGRA234_SID_HC_VM6 0x43 156 + #define TEGRA234_SID_HC_VM7 0x44 157 + #define TEGRA234_SID_SE_VM0 0x45 158 + #define TEGRA234_SID_SE_VM1 0x46 159 + #define TEGRA234_SID_SE_VM2 0x47 160 + #define TEGRA234_SID_ISPFALC 0x48 161 + #define TEGRA234_SID_NISO1_SMMU_TEST 0x49 162 + #define TEGRA234_SID_TSEC_VM0 0x4a 36 163 37 164 /* Shared stream IDs */ 38 165 #define TEGRA234_SID_HOST1X_CTX0 0x35 ··· 175 48 * memory client IDs 176 49 */ 177 50 51 + /* Misses from System Memory Management Unit (SMMU) Page Table Cache (PTC) */ 52 + #define TEGRA234_MEMORY_CLIENT_PTCR 0x00 53 + /* MSS internal memqual MIU7 read clients */ 54 + #define TEGRA234_MEMORY_CLIENT_MIU7R 0x01 55 + /* MSS internal memqual MIU7 write clients */ 56 + #define TEGRA234_MEMORY_CLIENT_MIU7W 0x02 57 + /* MSS internal memqual MIU8 read clients */ 58 + #define TEGRA234_MEMORY_CLIENT_MIU8R 0x03 59 + /* MSS internal memqual MIU8 write clients */ 60 + #define TEGRA234_MEMORY_CLIENT_MIU8W 0x04 61 + /* MSS internal memqual MIU9 read clients */ 62 + #define TEGRA234_MEMORY_CLIENT_MIU9R 0x05 63 + /* MSS internal memqual MIU9 write clients */ 64 + #define TEGRA234_MEMORY_CLIENT_MIU9W 0x06 65 + /* MSS internal memqual MIU10 read clients */ 66 + #define TEGRA234_MEMORY_CLIENT_MIU10R 0x07 67 + /* MSS internal memqual MIU10 write clients */ 68 + #define TEGRA234_MEMORY_CLIENT_MIU10W 0x08 69 + /* MSS internal memqual MIU11 read clients */ 70 + #define TEGRA234_MEMORY_CLIENT_MIU11R 0x09 71 + /* MSS internal memqual MIU11 write clients */ 72 + #define TEGRA234_MEMORY_CLIENT_MIU11W 0x0a 73 + /* MSS internal memqual MIU12 read clients */ 74 + #define TEGRA234_MEMORY_CLIENT_MIU12R 0x0b 75 + /* MSS internal memqual MIU12 write clients */ 76 + #define TEGRA234_MEMORY_CLIENT_MIU12W 0x0c 77 + /* MSS internal memqual MIU13 read clients */ 78 + #define TEGRA234_MEMORY_CLIENT_MIU13R 0x0d 79 + /* MSS internal memqual MIU13 write clients */ 80 + #define TEGRA234_MEMORY_CLIENT_MIU13W 0x0e 81 + #define TEGRA234_MEMORY_CLIENT_NVL5RHP 0x13 82 + #define TEGRA234_MEMORY_CLIENT_NVL5R 0x14 178 83 /* High-definition audio (HDA) read clients */ 179 84 #define TEGRA234_MEMORY_CLIENT_HDAR 0x15 85 + /* Host channel data read clients */ 180 86 #define TEGRA234_MEMORY_CLIENT_HOST1XDMAR 0x16 87 + #define TEGRA234_MEMORY_CLIENT_NVL5W 0x17 88 + #define TEGRA234_MEMORY_CLIENT_NVL6RHP 0x18 89 + #define TEGRA234_MEMORY_CLIENT_NVL6R 0x19 90 + #define TEGRA234_MEMORY_CLIENT_NVL6W 0x1a 91 + #define TEGRA234_MEMORY_CLIENT_NVL7RHP 0x1b 92 + #define TEGRA234_MEMORY_CLIENT_NVENCSRD 0x1c 93 + #define TEGRA234_MEMORY_CLIENT_NVL7R 0x1d 94 + #define TEGRA234_MEMORY_CLIENT_NVL7W 0x1e 95 + #define TEGRA234_MEMORY_CLIENT_NVL8RHP 0x20 96 + #define TEGRA234_MEMORY_CLIENT_NVL8R 0x21 97 + #define TEGRA234_MEMORY_CLIENT_NVL8W 0x22 98 + #define TEGRA234_MEMORY_CLIENT_NVL9RHP 0x23 99 + #define TEGRA234_MEMORY_CLIENT_NVL9R 0x24 100 + #define TEGRA234_MEMORY_CLIENT_NVL9W 0x25 181 101 /* PCIE6 read clients */ 182 102 #define TEGRA234_MEMORY_CLIENT_PCIE6AR 0x28 183 103 /* PCIE6 write clients */ 184 104 #define TEGRA234_MEMORY_CLIENT_PCIE6AW 0x29 185 105 /* PCIE7 read clients */ 186 106 #define TEGRA234_MEMORY_CLIENT_PCIE7AR 0x2a 107 + #define TEGRA234_MEMORY_CLIENT_NVENCSWR 0x2b 108 + /* DLA0ARDB read clients */ 109 + #define TEGRA234_MEMORY_CLIENT_DLA0RDB 0x2c 110 + /* DLA0ARDB1 read clients */ 111 + #define TEGRA234_MEMORY_CLIENT_DLA0RDB1 0x2d 112 + /* DLA0 writes */ 113 + #define TEGRA234_MEMORY_CLIENT_DLA0WRB 0x2e 114 + /* DLA1ARDB read clients */ 115 + #define TEGRA234_MEMORY_CLIENT_DLA1RDB 0x2f 187 116 /* PCIE7 write clients */ 188 117 #define TEGRA234_MEMORY_CLIENT_PCIE7AW 0x30 189 118 /* PCIE8 read clients */ 190 119 #define TEGRA234_MEMORY_CLIENT_PCIE8AR 0x32 191 120 /* High-definition audio (HDA) write clients */ 192 121 #define TEGRA234_MEMORY_CLIENT_HDAW 0x35 122 + /* Writes from Cortex-A9 4 CPU cores via the L2 cache */ 123 + #define TEGRA234_MEMORY_CLIENT_MPCOREW 0x39 124 + /* OFAA client */ 125 + #define TEGRA234_MEMORY_CLIENT_OFAR1 0x3a 193 126 /* PCIE8 write clients */ 194 127 #define TEGRA234_MEMORY_CLIENT_PCIE8AW 0x3b 195 128 /* PCIE9 read clients */ ··· 262 75 #define TEGRA234_MEMORY_CLIENT_PCIE10AR 0x3f 263 76 /* PCIE10 write clients */ 264 77 #define TEGRA234_MEMORY_CLIENT_PCIE10AW 0x40 78 + /* ISP read client for Crossbar A */ 79 + #define TEGRA234_MEMORY_CLIENT_ISPRA 0x44 80 + /* ISP read client 1 for Crossbar A */ 81 + #define TEGRA234_MEMORY_CLIENT_ISPFALR 0x45 82 + /* ISP Write client for Crossbar A */ 83 + #define TEGRA234_MEMORY_CLIENT_ISPWA 0x46 84 + /* ISP Write client Crossbar B */ 85 + #define TEGRA234_MEMORY_CLIENT_ISPWB 0x47 265 86 /* PCIE10r1 read clients */ 266 87 #define TEGRA234_MEMORY_CLIENT_PCIE10AR1 0x48 267 88 /* PCIE7r1 read clients */ 268 89 #define TEGRA234_MEMORY_CLIENT_PCIE7AR1 0x49 90 + /* XUSB_HOST read clients */ 91 + #define TEGRA234_MEMORY_CLIENT_XUSB_HOSTR 0x4a 92 + /* XUSB_HOST write clients */ 93 + #define TEGRA234_MEMORY_CLIENT_XUSB_HOSTW 0x4b 94 + /* XUSB read clients */ 95 + #define TEGRA234_MEMORY_CLIENT_XUSB_DEVR 0x4c 96 + /* XUSB_DEV write clients */ 97 + #define TEGRA234_MEMORY_CLIENT_XUSB_DEVW 0x4d 98 + /* TSEC Memory Return Data Client Description */ 99 + #define TEGRA234_MEMORY_CLIENT_TSECSRD 0x54 100 + /* TSEC Memory Write Client Description */ 101 + #define TEGRA234_MEMORY_CLIENT_TSECSWR 0x55 102 + /* XSPI writes */ 103 + #define TEGRA234_MEMORY_CLIENT_XSPI1W 0x56 269 104 /* MGBE0 read client */ 270 105 #define TEGRA234_MEMORY_CLIENT_MGBEARD 0x58 271 106 /* MGBEB read client */ ··· 298 89 #define TEGRA234_MEMORY_CLIENT_MGBEDRD 0x5b 299 90 /* MGBE0 write client */ 300 91 #define TEGRA234_MEMORY_CLIENT_MGBEAWR 0x5c 92 + /* OFAA client */ 93 + #define TEGRA234_MEMORY_CLIENT_OFAR 0x5d 94 + /* OFAA writes */ 95 + #define TEGRA234_MEMORY_CLIENT_OFAW 0x5e 301 96 /* MGBEB write client */ 302 97 #define TEGRA234_MEMORY_CLIENT_MGBEBWR 0x5f 98 + /* sdmmca memory read client */ 99 + #define TEGRA234_MEMORY_CLIENT_SDMMCRA 0x60 303 100 /* MGBEC write client */ 304 101 #define TEGRA234_MEMORY_CLIENT_MGBECWR 0x61 305 102 /* sdmmcd memory read client */ 306 103 #define TEGRA234_MEMORY_CLIENT_SDMMCRAB 0x63 104 + /* sdmmca memory write client */ 105 + #define TEGRA234_MEMORY_CLIENT_SDMMCWA 0x64 307 106 /* MGBED write client */ 308 107 #define TEGRA234_MEMORY_CLIENT_MGBEDWR 0x65 309 108 /* sdmmcd memory write client */ 310 109 #define TEGRA234_MEMORY_CLIENT_SDMMCWAB 0x67 110 + /* SE Memory Return Data Client Description */ 111 + #define TEGRA234_MEMORY_CLIENT_SEU1RD 0x68 112 + /* SE Memory Write Client Description */ 113 + #define TEGRA234_MEMORY_CLIENT_SUE1WR 0x69 311 114 #define TEGRA234_MEMORY_CLIENT_VICSRD 0x6c 312 115 #define TEGRA234_MEMORY_CLIENT_VICSWR 0x6d 116 + /* DLA1ARDB1 read clients */ 117 + #define TEGRA234_MEMORY_CLIENT_DLA1RDB1 0x6e 118 + /* DLA1 writes */ 119 + #define TEGRA234_MEMORY_CLIENT_DLA1WRB 0x6f 120 + /* VI FLACON read clients */ 121 + #define TEGRA234_MEMORY_CLIENT_VI2FALR 0x71 122 + /* VI Write client */ 123 + #define TEGRA234_MEMORY_CLIENT_VI2W 0x70 124 + /* VI Write client */ 125 + #define TEGRA234_MEMORY_CLIENT_VIW 0x72 126 + /* NISO display read client */ 127 + #define TEGRA234_MEMORY_CLIENT_NVDISPNISOR 0x73 128 + /* NVDISPNISO writes */ 129 + #define TEGRA234_MEMORY_CLIENT_NVDISPNISOW 0x74 130 + /* XSPI client */ 131 + #define TEGRA234_MEMORY_CLIENT_XSPI0R 0x75 132 + /* XSPI writes */ 133 + #define TEGRA234_MEMORY_CLIENT_XSPI0W 0x76 134 + /* XSPI client */ 135 + #define TEGRA234_MEMORY_CLIENT_XSPI1R 0x77 136 + #define TEGRA234_MEMORY_CLIENT_NVDECSRD 0x78 137 + #define TEGRA234_MEMORY_CLIENT_NVDECSWR 0x79 138 + /* Audio Processing (APE) engine read clients */ 139 + #define TEGRA234_MEMORY_CLIENT_APER 0x7a 140 + /* Audio Processing (APE) engine write clients */ 141 + #define TEGRA234_MEMORY_CLIENT_APEW 0x7b 142 + /* VI2FAL writes */ 143 + #define TEGRA234_MEMORY_CLIENT_VI2FALW 0x7c 144 + #define TEGRA234_MEMORY_CLIENT_NVJPGSRD 0x7e 145 + #define TEGRA234_MEMORY_CLIENT_NVJPGSWR 0x7f 146 + /* SE Memory Return Data Client Description */ 147 + #define TEGRA234_MEMORY_CLIENT_SESRD 0x80 148 + /* SE Memory Write Client Description */ 149 + #define TEGRA234_MEMORY_CLIENT_SESWR 0x81 150 + /* AXI AP and DFD-AUX0/1 read clients Both share the same interface on the on MSS */ 151 + #define TEGRA234_MEMORY_CLIENT_AXIAPR 0x82 152 + /* AXI AP and DFD-AUX0/1 write clients Both sahre the same interface on MSS */ 153 + #define TEGRA234_MEMORY_CLIENT_AXIAPW 0x83 154 + /* ETR read clients */ 155 + #define TEGRA234_MEMORY_CLIENT_ETRR 0x84 156 + /* ETR write clients */ 157 + #define TEGRA234_MEMORY_CLIENT_ETRW 0x85 158 + /* AXI Switch read client */ 159 + #define TEGRA234_MEMORY_CLIENT_AXISR 0x8c 160 + /* AXI Switch write client */ 161 + #define TEGRA234_MEMORY_CLIENT_AXISW 0x8d 162 + /* EQOS read client */ 163 + #define TEGRA234_MEMORY_CLIENT_EQOSR 0x8e 164 + /* EQOS write client */ 165 + #define TEGRA234_MEMORY_CLIENT_EQOSW 0x8f 166 + /* UFSHC read client */ 167 + #define TEGRA234_MEMORY_CLIENT_UFSHCR 0x90 168 + /* UFSHC write client */ 169 + #define TEGRA234_MEMORY_CLIENT_UFSHCW 0x91 170 + /* NVDISPLAY read client */ 171 + #define TEGRA234_MEMORY_CLIENT_NVDISPLAYR 0x92 313 172 /* BPMP read client */ 314 173 #define TEGRA234_MEMORY_CLIENT_BPMPR 0x93 315 174 /* BPMP write client */ ··· 386 109 #define TEGRA234_MEMORY_CLIENT_BPMPDMAR 0x95 387 110 /* BPMPDMA write client */ 388 111 #define TEGRA234_MEMORY_CLIENT_BPMPDMAW 0x96 112 + /* AON read client */ 113 + #define TEGRA234_MEMORY_CLIENT_AONR 0x97 114 + /* AON write client */ 115 + #define TEGRA234_MEMORY_CLIENT_AONW 0x98 116 + /* AONDMA read client */ 117 + #define TEGRA234_MEMORY_CLIENT_AONDMAR 0x99 118 + /* AONDMA write client */ 119 + #define TEGRA234_MEMORY_CLIENT_AONDMAW 0x9a 120 + /* SCE read client */ 121 + #define TEGRA234_MEMORY_CLIENT_SCER 0x9b 122 + /* SCE write client */ 123 + #define TEGRA234_MEMORY_CLIENT_SCEW 0x9c 124 + /* SCEDMA read client */ 125 + #define TEGRA234_MEMORY_CLIENT_SCEDMAR 0x9d 126 + /* SCEDMA write client */ 127 + #define TEGRA234_MEMORY_CLIENT_SCEDMAW 0x9e 389 128 /* APEDMA read client */ 390 129 #define TEGRA234_MEMORY_CLIENT_APEDMAR 0x9f 391 130 /* APEDMA write client */ 392 131 #define TEGRA234_MEMORY_CLIENT_APEDMAW 0xa0 132 + /* NVDISPLAY read client instance 2 */ 133 + #define TEGRA234_MEMORY_CLIENT_NVDISPLAYR1 0xa1 134 + #define TEGRA234_MEMORY_CLIENT_VICSRD1 0xa2 135 + /* MSS internal memqual MIU0 read clients */ 136 + #define TEGRA234_MEMORY_CLIENT_MIU0R 0xa6 137 + /* MSS internal memqual MIU0 write clients */ 138 + #define TEGRA234_MEMORY_CLIENT_MIU0W 0xa7 139 + /* MSS internal memqual MIU1 read clients */ 140 + #define TEGRA234_MEMORY_CLIENT_MIU1R 0xa8 141 + /* MSS internal memqual MIU1 write clients */ 142 + #define TEGRA234_MEMORY_CLIENT_MIU1W 0xa9 143 + /* MSS internal memqual MIU2 read clients */ 144 + #define TEGRA234_MEMORY_CLIENT_MIU2R 0xae 145 + /* MSS internal memqual MIU2 write clients */ 146 + #define TEGRA234_MEMORY_CLIENT_MIU2W 0xaf 147 + /* MSS internal memqual MIU3 read clients */ 148 + #define TEGRA234_MEMORY_CLIENT_MIU3R 0xb0 149 + /* MSS internal memqual MIU3 write clients */ 150 + #define TEGRA234_MEMORY_CLIENT_MIU3W 0xb1 151 + /* MSS internal memqual MIU4 read clients */ 152 + #define TEGRA234_MEMORY_CLIENT_MIU4R 0xb2 153 + /* MSS internal memqual MIU4 write clients */ 154 + #define TEGRA234_MEMORY_CLIENT_MIU4W 0xb3 155 + #define TEGRA234_MEMORY_CLIENT_DPMUR 0xb4 156 + #define TEGRA234_MEMORY_CLIENT_DPMUW 0xb5 157 + #define TEGRA234_MEMORY_CLIENT_NVL0R 0xb6 158 + #define TEGRA234_MEMORY_CLIENT_NVL0W 0xb7 159 + #define TEGRA234_MEMORY_CLIENT_NVL1R 0xb8 160 + #define TEGRA234_MEMORY_CLIENT_NVL1W 0xb9 161 + #define TEGRA234_MEMORY_CLIENT_NVL2R 0xba 162 + #define TEGRA234_MEMORY_CLIENT_NVL2W 0xbb 163 + /* VI FLACON read clients */ 164 + #define TEGRA234_MEMORY_CLIENT_VIFALR 0xbc 165 + /* VIFAL write clients */ 166 + #define TEGRA234_MEMORY_CLIENT_VIFALW 0xbd 167 + /* DLA0ARDA read clients */ 168 + #define TEGRA234_MEMORY_CLIENT_DLA0RDA 0xbe 169 + /* DLA0 Falcon read clients */ 170 + #define TEGRA234_MEMORY_CLIENT_DLA0FALRDB 0xbf 171 + /* DLA0 write clients */ 172 + #define TEGRA234_MEMORY_CLIENT_DLA0WRA 0xc0 173 + /* DLA0 write clients */ 174 + #define TEGRA234_MEMORY_CLIENT_DLA0FALWRB 0xc1 175 + /* DLA1ARDA read clients */ 176 + #define TEGRA234_MEMORY_CLIENT_DLA1RDA 0xc2 177 + /* DLA1 Falcon read clients */ 178 + #define TEGRA234_MEMORY_CLIENT_DLA1FALRDB 0xc3 179 + /* DLA1 write clients */ 180 + #define TEGRA234_MEMORY_CLIENT_DLA1WRA 0xc4 181 + /* DLA1 write clients */ 182 + #define TEGRA234_MEMORY_CLIENT_DLA1FALWRB 0xc5 183 + /* PVA0RDA read clients */ 184 + #define TEGRA234_MEMORY_CLIENT_PVA0RDA 0xc6 185 + /* PVA0RDB read clients */ 186 + #define TEGRA234_MEMORY_CLIENT_PVA0RDB 0xc7 187 + /* PVA0RDC read clients */ 188 + #define TEGRA234_MEMORY_CLIENT_PVA0RDC 0xc8 189 + /* PVA0WRA write clients */ 190 + #define TEGRA234_MEMORY_CLIENT_PVA0WRA 0xc9 191 + /* PVA0WRB write clients */ 192 + #define TEGRA234_MEMORY_CLIENT_PVA0WRB 0xca 193 + /* PVA0WRC write clients */ 194 + #define TEGRA234_MEMORY_CLIENT_PVA0WRC 0xcb 195 + /* RCE read client */ 196 + #define TEGRA234_MEMORY_CLIENT_RCER 0xd2 197 + /* RCE write client */ 198 + #define TEGRA234_MEMORY_CLIENT_RCEW 0xd3 199 + /* RCEDMA read client */ 200 + #define TEGRA234_MEMORY_CLIENT_RCEDMAR 0xd4 201 + /* RCEDMA write client */ 202 + #define TEGRA234_MEMORY_CLIENT_RCEDMAW 0xd5 393 203 /* PCIE0 read clients */ 394 204 #define TEGRA234_MEMORY_CLIENT_PCIE0R 0xd8 395 205 /* PCIE0 write clients */ ··· 501 137 #define TEGRA234_MEMORY_CLIENT_PCIE5R 0xe2 502 138 /* PCIE5 write clients */ 503 139 #define TEGRA234_MEMORY_CLIENT_PCIE5W 0xe3 140 + /* ISP read client 1 for Crossbar A */ 141 + #define TEGRA234_MEMORY_CLIENT_ISPFALW 0xe4 142 + #define TEGRA234_MEMORY_CLIENT_NVL3R 0xe5 143 + #define TEGRA234_MEMORY_CLIENT_NVL3W 0xe6 144 + #define TEGRA234_MEMORY_CLIENT_NVL4R 0xe7 145 + #define TEGRA234_MEMORY_CLIENT_NVL4W 0xe8 146 + /* DLA0ARDA1 read clients */ 147 + #define TEGRA234_MEMORY_CLIENT_DLA0RDA1 0xe9 148 + /* DLA1ARDA1 read clients */ 149 + #define TEGRA234_MEMORY_CLIENT_DLA1RDA1 0xea 150 + /* PVA0RDA1 read clients */ 151 + #define TEGRA234_MEMORY_CLIENT_PVA0RDA1 0xeb 152 + /* PVA0RDB1 read clients */ 153 + #define TEGRA234_MEMORY_CLIENT_PVA0RDB1 0xec 504 154 /* PCIE5r1 read clients */ 505 155 #define TEGRA234_MEMORY_CLIENT_PCIE5R1 0xef 156 + #define TEGRA234_MEMORY_CLIENT_NVENCSRD1 0xf0 157 + /* ISP read client for Crossbar A */ 158 + #define TEGRA234_MEMORY_CLIENT_ISPRA1 0xf2 159 + #define TEGRA234_MEMORY_CLIENT_NVL0RHP 0xf4 160 + #define TEGRA234_MEMORY_CLIENT_NVL1RHP 0xf5 161 + #define TEGRA234_MEMORY_CLIENT_NVL2RHP 0xf6 162 + #define TEGRA234_MEMORY_CLIENT_NVL3RHP 0xf7 163 + #define TEGRA234_MEMORY_CLIENT_NVL4RHP 0xf8 164 + /* MSS internal memqual MIU5 read clients */ 165 + #define TEGRA234_MEMORY_CLIENT_MIU5R 0xfc 166 + /* MSS internal memqual MIU5 write clients */ 167 + #define TEGRA234_MEMORY_CLIENT_MIU5W 0xfd 168 + /* MSS internal memqual MIU6 read clients */ 169 + #define TEGRA234_MEMORY_CLIENT_MIU6R 0xfe 170 + /* MSS internal memqual MIU6 write clients */ 171 + #define TEGRA234_MEMORY_CLIENT_MIU6W 0xff 172 + #define TEGRA234_MEMORY_CLIENT_NVJPG1SRD 0x123 173 + #define TEGRA234_MEMORY_CLIENT_NVJPG1SWR 0x124 506 174 507 175 #endif
+15
include/dt-bindings/power/tegra234-powergate.h
··· 4 4 #ifndef __ABI_MACH_T234_POWERGATE_T234_H_ 5 5 #define __ABI_MACH_T234_POWERGATE_T234_H_ 6 6 7 + #define TEGRA234_POWER_DOMAIN_OFA 1U 7 8 #define TEGRA234_POWER_DOMAIN_AUD 2U 8 9 #define TEGRA234_POWER_DOMAIN_DISP 3U 9 10 #define TEGRA234_POWER_DOMAIN_PCIEX8A 5U ··· 12 11 #define TEGRA234_POWER_DOMAIN_PCIEX4BA 7U 13 12 #define TEGRA234_POWER_DOMAIN_PCIEX4BB 8U 14 13 #define TEGRA234_POWER_DOMAIN_PCIEX1A 9U 14 + #define TEGRA234_POWER_DOMAIN_XUSBA 10U 15 + #define TEGRA234_POWER_DOMAIN_XUSBB 11U 16 + #define TEGRA234_POWER_DOMAIN_XUSBC 12U 15 17 #define TEGRA234_POWER_DOMAIN_PCIEX4CA 13U 16 18 #define TEGRA234_POWER_DOMAIN_PCIEX4CB 14U 17 19 #define TEGRA234_POWER_DOMAIN_PCIEX4CC 15U ··· 23 19 #define TEGRA234_POWER_DOMAIN_MGBEB 18U 24 20 #define TEGRA234_POWER_DOMAIN_MGBEC 19U 25 21 #define TEGRA234_POWER_DOMAIN_MGBED 20U 22 + #define TEGRA234_POWER_DOMAIN_ISPA 22U 23 + #define TEGRA234_POWER_DOMAIN_NVDEC 23U 24 + #define TEGRA234_POWER_DOMAIN_NVJPGA 24U 25 + #define TEGRA234_POWER_DOMAIN_NVENC 25U 26 + #define TEGRA234_POWER_DOMAIN_VI 28U 26 27 #define TEGRA234_POWER_DOMAIN_VIC 29U 28 + #define TEGRA234_POWER_DOMAIN_PVA 30U 29 + #define TEGRA234_POWER_DOMAIN_DLAA 32U 30 + #define TEGRA234_POWER_DOMAIN_DLAB 33U 31 + #define TEGRA234_POWER_DOMAIN_CV 34U 32 + #define TEGRA234_POWER_DOMAIN_GPU 35U 33 + #define TEGRA234_POWER_DOMAIN_NVJPGB 36U 27 34 28 35 #endif
+110 -1
include/dt-bindings/reset/tegra234-reset.h
··· 10 10 * @brief Identifiers for Resets controllable by firmware 11 11 * @{ 12 12 */ 13 + #define TEGRA234_RESET_ACTMON 1U 14 + #define TEGRA234_RESET_ADSP_ALL 2U 15 + #define TEGRA234_RESET_DSI_CORE 3U 16 + #define TEGRA234_RESET_CAN1 4U 17 + #define TEGRA234_RESET_CAN2 5U 18 + #define TEGRA234_RESET_DLA0 6U 19 + #define TEGRA234_RESET_DLA1 7U 20 + #define TEGRA234_RESET_DPAUX 8U 21 + #define TEGRA234_RESET_OFA 9U 22 + #define TEGRA234_RESET_NVJPG1 10U 13 23 #define TEGRA234_RESET_PEX1_CORE_6 11U 14 24 #define TEGRA234_RESET_PEX1_CORE_6_APB 12U 15 25 #define TEGRA234_RESET_PEX1_COMMON_APB 13U 16 26 #define TEGRA234_RESET_PEX2_CORE_7 14U 17 27 #define TEGRA234_RESET_PEX2_CORE_7_APB 15U 28 + #define TEGRA234_RESET_NVDISPLAY 16U 29 + #define TEGRA234_RESET_EQOS 17U 18 30 #define TEGRA234_RESET_GPCDMA 18U 31 + #define TEGRA234_RESET_GPU 19U 19 32 #define TEGRA234_RESET_HDA 20U 20 33 #define TEGRA234_RESET_HDACODEC 21U 34 + #define TEGRA234_RESET_EQOS_MACSEC 22U 35 + #define TEGRA234_RESET_EQOS_MACSEC_SECURE 23U 21 36 #define TEGRA234_RESET_I2C1 24U 22 37 #define TEGRA234_RESET_PEX2_CORE_8 25U 23 38 #define TEGRA234_RESET_PEX2_CORE_8_APB 26U ··· 45 30 #define TEGRA234_RESET_I2C7 33U 46 31 #define TEGRA234_RESET_I2C8 34U 47 32 #define TEGRA234_RESET_I2C9 35U 33 + #define TEGRA234_RESET_ISP 36U 34 + #define TEGRA234_RESET_MIPI_CAL 37U 35 + #define TEGRA234_RESET_MPHY_CLK_CTL 38U 36 + #define TEGRA234_RESET_MPHY_L0_RX 39U 37 + #define TEGRA234_RESET_MPHY_L0_TX 40U 38 + #define TEGRA234_RESET_MPHY_L1_RX 41U 39 + #define TEGRA234_RESET_MPHY_L1_TX 42U 40 + #define TEGRA234_RESET_NVCSI 43U 41 + #define TEGRA234_RESET_NVDEC 44U 48 42 #define TEGRA234_RESET_MGBE0_PCS 45U 49 43 #define TEGRA234_RESET_MGBE0_MAC 46U 44 + #define TEGRA234_RESET_MGBE0_MACSEC 47U 45 + #define TEGRA234_RESET_MGBE0_MACSEC_SECURE 48U 50 46 #define TEGRA234_RESET_MGBE1_PCS 49U 51 47 #define TEGRA234_RESET_MGBE1_MAC 50U 48 + #define TEGRA234_RESET_MGBE1_MACSEC 51U 49 + #define TEGRA234_RESET_MGBE1_MACSEC_SECURE 52U 52 50 #define TEGRA234_RESET_MGBE2_PCS 53U 53 51 #define TEGRA234_RESET_MGBE2_MAC 54U 52 + #define TEGRA234_RESET_MGBE2_MACSEC 55U 54 53 #define TEGRA234_RESET_PEX2_CORE_10 56U 55 54 #define TEGRA234_RESET_PEX2_CORE_10_APB 57U 56 55 #define TEGRA234_RESET_PEX2_COMMON_APB 58U 56 + #define TEGRA234_RESET_NVENC 59U 57 + #define TEGRA234_RESET_MGBE2_MACSEC_SECURE 60U 58 + #define TEGRA234_RESET_NVJPG 61U 59 + #define TEGRA234_RESET_LA 64U 60 + #define TEGRA234_RESET_HWPM 65U 61 + #define TEGRA234_RESET_PVA0_ALL 66U 62 + #define TEGRA234_RESET_CEC 67U 57 63 #define TEGRA234_RESET_PWM1 68U 58 64 #define TEGRA234_RESET_PWM2 69U 59 65 #define TEGRA234_RESET_PWM3 70U ··· 85 49 #define TEGRA234_RESET_PWM8 75U 86 50 #define TEGRA234_RESET_QSPI0 76U 87 51 #define TEGRA234_RESET_QSPI1 77U 52 + #define TEGRA234_RESET_I2S7 78U 53 + #define TEGRA234_RESET_I2S8 79U 54 + #define TEGRA234_RESET_SCE_ALL 80U 55 + #define TEGRA234_RESET_RCE_ALL 81U 56 + #define TEGRA234_RESET_SDMMC1 82U 57 + #define TEGRA234_RESET_RSVD_83 83U 58 + #define TEGRA234_RESET_RSVD_84 84U 88 59 #define TEGRA234_RESET_SDMMC4 85U 89 60 #define TEGRA234_RESET_MGBE3_PCS 87U 90 61 #define TEGRA234_RESET_MGBE3_MAC 88U 62 + #define TEGRA234_RESET_MGBE3_MACSEC 89U 63 + #define TEGRA234_RESET_MGBE3_MACSEC_SECURE 90U 64 + #define TEGRA234_RESET_SPI1 91U 65 + #define TEGRA234_RESET_SPI2 92U 66 + #define TEGRA234_RESET_SPI3 93U 67 + #define TEGRA234_RESET_SPI4 94U 68 + #define TEGRA234_RESET_TACH0 95U 69 + #define TEGRA234_RESET_TACH1 96U 70 + #define TEGRA234_RESET_SPI5 97U 71 + #define TEGRA234_RESET_TSEC 98U 72 + #define TEGRA234_RESET_UARTI 99U 91 73 #define TEGRA234_RESET_UARTA 100U 92 - #define TEGRA234_RESET_VIC 113U 74 + #define TEGRA234_RESET_UARTB 101U 75 + #define TEGRA234_RESET_UARTC 102U 76 + #define TEGRA234_RESET_UARTD 103U 77 + #define TEGRA234_RESET_UARTE 104U 78 + #define TEGRA234_RESET_UARTF 105U 79 + #define TEGRA234_RESET_UARTJ 106U 80 + #define TEGRA234_RESET_UARTH 107U 81 + #define TEGRA234_RESET_UFSHC 108U 82 + #define TEGRA234_RESET_UFSHC_AXI_M 109U 83 + #define TEGRA234_RESET_UFSHC_LP_SEQ 110U 84 + #define TEGRA234_RESET_RSVD_111 111U 85 + #define TEGRA234_RESET_VI 112U 86 + #define TEGRA234_RESET_VIC 113U 87 + #define TEGRA234_RESET_XUSB_PADCTL 114U 88 + #define TEGRA234_RESET_VI2 115U 93 89 #define TEGRA234_RESET_PEX0_CORE_0 116U 94 90 #define TEGRA234_RESET_PEX0_CORE_1 117U 95 91 #define TEGRA234_RESET_PEX0_CORE_2 118U ··· 133 65 #define TEGRA234_RESET_PEX0_CORE_3_APB 124U 134 66 #define TEGRA234_RESET_PEX0_CORE_4_APB 125U 135 67 #define TEGRA234_RESET_PEX0_COMMON_APB 126U 68 + #define TEGRA234_RESET_RSVD_127 127U 69 + #define TEGRA234_RESET_NVHS_UPHY_PLL1 128U 136 70 #define TEGRA234_RESET_PEX1_CORE_5 129U 137 71 #define TEGRA234_RESET_PEX1_CORE_5_APB 130U 72 + #define TEGRA234_RESET_GBE_UPHY 131U 73 + #define TEGRA234_RESET_GBE_UPHY_PM 132U 74 + #define TEGRA234_RESET_NVHS_UPHY 133U 75 + #define TEGRA234_RESET_NVHS_UPHY_PLL0 134U 76 + #define TEGRA234_RESET_NVHS_UPHY_L0 135U 77 + #define TEGRA234_RESET_NVHS_UPHY_L1 136U 78 + #define TEGRA234_RESET_NVHS_UPHY_L2 137U 79 + #define TEGRA234_RESET_NVHS_UPHY_L3 138U 80 + #define TEGRA234_RESET_NVHS_UPHY_L4 139U 81 + #define TEGRA234_RESET_NVHS_UPHY_L5 140U 82 + #define TEGRA234_RESET_NVHS_UPHY_L6 141U 83 + #define TEGRA234_RESET_NVHS_UPHY_L7 142U 84 + #define TEGRA234_RESET_NVHS_UPHY_PM 143U 85 + #define TEGRA234_RESET_DMIC5 144U 86 + #define TEGRA234_RESET_APE 145U 87 + #define TEGRA234_RESET_PEX_USB_UPHY 146U 88 + #define TEGRA234_RESET_PEX_USB_UPHY_L0 147U 89 + #define TEGRA234_RESET_PEX_USB_UPHY_L1 148U 90 + #define TEGRA234_RESET_PEX_USB_UPHY_L2 149U 91 + #define TEGRA234_RESET_PEX_USB_UPHY_L3 150U 92 + #define TEGRA234_RESET_PEX_USB_UPHY_L4 151U 93 + #define TEGRA234_RESET_PEX_USB_UPHY_L5 152U 94 + #define TEGRA234_RESET_PEX_USB_UPHY_L6 153U 95 + #define TEGRA234_RESET_PEX_USB_UPHY_L7 154U 96 + #define TEGRA234_RESET_PEX_USB_UPHY_PLL0 159U 97 + #define TEGRA234_RESET_PEX_USB_UPHY_PLL1 160U 98 + #define TEGRA234_RESET_PEX_USB_UPHY_PLL2 161U 99 + #define TEGRA234_RESET_PEX_USB_UPHY_PLL3 162U 100 + #define TEGRA234_RESET_GBE_UPHY_L0 163U 101 + #define TEGRA234_RESET_GBE_UPHY_L1 164U 102 + #define TEGRA234_RESET_GBE_UPHY_L2 165U 103 + #define TEGRA234_RESET_GBE_UPHY_L3 166U 104 + #define TEGRA234_RESET_GBE_UPHY_L4 167U 105 + #define TEGRA234_RESET_GBE_UPHY_L5 168U 106 + #define TEGRA234_RESET_GBE_UPHY_L6 169U 107 + #define TEGRA234_RESET_GBE_UPHY_L7 170U 108 + #define TEGRA234_RESET_GBE_UPHY_PLL0 171U 109 + #define TEGRA234_RESET_GBE_UPHY_PLL1 172U 110 + #define TEGRA234_RESET_GBE_UPHY_PLL2 173U 138 111 139 112 /** @} */ 140 113