nvidia,tegra20-host1x.txt 9.9 KB
Newer Older
T
Thierry Reding 已提交
1 2 3 4 5 6 7 8 9 10 11
NVIDIA Tegra host1x

Required properties:
- compatible: "nvidia,tegra<chip>-host1x"
- reg: Physical base address and length of the controller's registers.
- interrupts: The interrupt outputs from the controller.
- #address-cells: The number of cells used to represent physical base addresses
  in the host1x address space. Should be 1.
- #size-cells: The number of cells used to represent the size of an address
  range in the host1x address space. Should be 1.
- ranges: The mapping of the host1x address space to the CPU address space.
12 13
- clocks: Must contain one entry, for the module clock.
  See ../clocks/clock-bindings.txt for details.
14 15 16 17
- resets: Must contain an entry for each entry in reset-names.
  See ../reset/reset.txt for details.
- reset-names: Must include the following entries:
  - host1x
T
Thierry Reding 已提交
18 19 20 21 22 23 24 25 26 27

The host1x top-level node defines a number of children, each representing one
of the following host1x client modules:

- mpe: video encoder

  Required properties:
  - compatible: "nvidia,tegra<chip>-mpe"
  - reg: Physical base address and length of the controller's registers.
  - interrupts: The interrupt outputs from the controller.
28 29
  - clocks: Must contain one entry, for the module clock.
    See ../clocks/clock-bindings.txt for details.
30 31 32 33
  - resets: Must contain an entry for each entry in reset-names.
    See ../reset/reset.txt for details.
  - reset-names: Must include the following entries:
    - mpe
T
Thierry Reding 已提交
34 35 36 37 38 39 40

- vi: video input

  Required properties:
  - compatible: "nvidia,tegra<chip>-vi"
  - reg: Physical base address and length of the controller's registers.
  - interrupts: The interrupt outputs from the controller.
41 42
  - clocks: Must contain one entry, for the module clock.
    See ../clocks/clock-bindings.txt for details.
43 44 45 46
  - resets: Must contain an entry for each entry in reset-names.
    See ../reset/reset.txt for details.
  - reset-names: Must include the following entries:
    - vi
T
Thierry Reding 已提交
47 48 49 50 51 52 53

- epp: encoder pre-processor

  Required properties:
  - compatible: "nvidia,tegra<chip>-epp"
  - reg: Physical base address and length of the controller's registers.
  - interrupts: The interrupt outputs from the controller.
54 55
  - clocks: Must contain one entry, for the module clock.
    See ../clocks/clock-bindings.txt for details.
56 57 58 59
  - resets: Must contain an entry for each entry in reset-names.
    See ../reset/reset.txt for details.
  - reset-names: Must include the following entries:
    - epp
T
Thierry Reding 已提交
60 61 62 63 64 65 66

- isp: image signal processor

  Required properties:
  - compatible: "nvidia,tegra<chip>-isp"
  - reg: Physical base address and length of the controller's registers.
  - interrupts: The interrupt outputs from the controller.
67 68
  - clocks: Must contain one entry, for the module clock.
    See ../clocks/clock-bindings.txt for details.
69 70 71 72
  - resets: Must contain an entry for each entry in reset-names.
    See ../reset/reset.txt for details.
  - reset-names: Must include the following entries:
    - isp
T
Thierry Reding 已提交
73 74 75 76 77 78 79

- gr2d: 2D graphics engine

  Required properties:
  - compatible: "nvidia,tegra<chip>-gr2d"
  - reg: Physical base address and length of the controller's registers.
  - interrupts: The interrupt outputs from the controller.
80 81
  - clocks: Must contain one entry, for the module clock.
    See ../clocks/clock-bindings.txt for details.
82 83 84 85
  - resets: Must contain an entry for each entry in reset-names.
    See ../reset/reset.txt for details.
  - reset-names: Must include the following entries:
    - 2d
T
Thierry Reding 已提交
86 87 88 89 90 91

- gr3d: 3D graphics engine

  Required properties:
  - compatible: "nvidia,tegra<chip>-gr3d"
  - reg: Physical base address and length of the controller's registers.
92 93 94 95 96 97 98
  - clocks: Must contain an entry for each entry in clock-names.
    See ../clocks/clock-bindings.txt for details.
  - clock-names: Must include the following entries:
    (This property may be omitted if the only clock in the list is "3d")
    - 3d
      This MUST be the first entry.
    - 3d2 (Only required on SoCs with two 3D clocks)
99 100 101 102 103
  - resets: Must contain an entry for each entry in reset-names.
    See ../reset/reset.txt for details.
  - reset-names: Must include the following entries:
    - 3d
    - 3d2 (Only required on SoCs with two 3D clocks)
T
Thierry Reding 已提交
104 105 106 107 108 109 110

- dc: display controller

  Required properties:
  - compatible: "nvidia,tegra<chip>-dc"
  - reg: Physical base address and length of the controller's registers.
  - interrupts: The interrupt outputs from the controller.
111 112 113 114 115 116
  - clocks: Must contain an entry for each entry in clock-names.
    See ../clocks/clock-bindings.txt for details.
  - clock-names: Must include the following entries:
    - dc
      This MUST be the first entry.
    - parent
117 118 119 120
  - resets: Must contain an entry for each entry in reset-names.
    See ../reset/reset.txt for details.
  - reset-names: Must include the following entries:
    - dc
T
Thierry Reding 已提交
121 122 123 124 125 126 127

  Each display controller node has a child node, named "rgb", that represents
  the RGB output associated with the controller. It can take the following
  optional properties:
  - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
  - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection
  - nvidia,edid: supplies a binary EDID blob
128
  - nvidia,panel: phandle of a display panel
T
Thierry Reding 已提交
129 130 131 132 133 134 135 136 137

- hdmi: High Definition Multimedia Interface

  Required properties:
  - compatible: "nvidia,tegra<chip>-hdmi"
  - reg: Physical base address and length of the controller's registers.
  - interrupts: The interrupt outputs from the controller.
  - vdd-supply: regulator for supply voltage
  - pll-supply: regulator for PLL
138 139 140 141 142 143
  - clocks: Must contain an entry for each entry in clock-names.
    See ../clocks/clock-bindings.txt for details.
  - clock-names: Must include the following entries:
    - hdmi
      This MUST be the first entry.
    - parent
144 145 146 147
  - resets: Must contain an entry for each entry in reset-names.
    See ../reset/reset.txt for details.
  - reset-names: Must include the following entries:
    - hdmi
T
Thierry Reding 已提交
148 149 150 151 152

  Optional properties:
  - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
  - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection
  - nvidia,edid: supplies a binary EDID blob
153
  - nvidia,panel: phandle of a display panel
T
Thierry Reding 已提交
154 155 156 157 158 159 160

- tvo: TV encoder output

  Required properties:
  - compatible: "nvidia,tegra<chip>-tvo"
  - reg: Physical base address and length of the controller's registers.
  - interrupts: The interrupt outputs from the controller.
161 162
  - clocks: Must contain one entry, for the module clock.
    See ../clocks/clock-bindings.txt for details.
T
Thierry Reding 已提交
163 164 165 166 167 168

- dsi: display serial interface

  Required properties:
  - compatible: "nvidia,tegra<chip>-dsi"
  - reg: Physical base address and length of the controller's registers.
169 170 171 172 173 174
  - clocks: Must contain an entry for each entry in clock-names.
    See ../clocks/clock-bindings.txt for details.
  - clock-names: Must include the following entries:
    - dsi
      This MUST be the first entry.
    - parent
175 176 177 178
  - resets: Must contain an entry for each entry in reset-names.
    See ../reset/reset.txt for details.
  - reset-names: Must include the following entries:
    - dsi
T
Thierry Reding 已提交
179 180 181 182 183 184 185 186 187 188 189

Example:

/ {
	...

	host1x {
		compatible = "nvidia,tegra20-host1x", "simple-bus";
		reg = <0x50000000 0x00024000>;
		interrupts = <0 65 0x04   /* mpcore syncpt */
			      0 67 0x04>; /* mpcore general */
190
		clocks = <&tegra_car TEGRA20_CLK_HOST1X>;
191 192
		resets = <&tegra_car 28>;
		reset-names = "host1x";
T
Thierry Reding 已提交
193 194 195 196 197 198 199 200 201 202

		#address-cells = <1>;
		#size-cells = <1>;

		ranges = <0x54000000 0x54000000 0x04000000>;

		mpe {
			compatible = "nvidia,tegra20-mpe";
			reg = <0x54040000 0x00040000>;
			interrupts = <0 68 0x04>;
203
			clocks = <&tegra_car TEGRA20_CLK_MPE>;
204 205
			resets = <&tegra_car 60>;
			reset-names = "mpe";
T
Thierry Reding 已提交
206 207 208 209 210 211
		};

		vi {
			compatible = "nvidia,tegra20-vi";
			reg = <0x54080000 0x00040000>;
			interrupts = <0 69 0x04>;
212
			clocks = <&tegra_car TEGRA20_CLK_VI>;
213 214
			resets = <&tegra_car 100>;
			reset-names = "vi";
T
Thierry Reding 已提交
215 216 217 218 219 220
		};

		epp {
			compatible = "nvidia,tegra20-epp";
			reg = <0x540c0000 0x00040000>;
			interrupts = <0 70 0x04>;
221
			clocks = <&tegra_car TEGRA20_CLK_EPP>;
222 223
			resets = <&tegra_car 19>;
			reset-names = "epp";
T
Thierry Reding 已提交
224 225 226 227 228 229
		};

		isp {
			compatible = "nvidia,tegra20-isp";
			reg = <0x54100000 0x00040000>;
			interrupts = <0 71 0x04>;
230
			clocks = <&tegra_car TEGRA20_CLK_ISP>;
231 232
			resets = <&tegra_car 23>;
			reset-names = "isp";
T
Thierry Reding 已提交
233 234 235 236 237 238
		};

		gr2d {
			compatible = "nvidia,tegra20-gr2d";
			reg = <0x54140000 0x00040000>;
			interrupts = <0 72 0x04>;
239
			clocks = <&tegra_car TEGRA20_CLK_GR2D>;
240 241
			resets = <&tegra_car 21>;
			reset-names = "2d";
T
Thierry Reding 已提交
242 243 244 245 246
		};

		gr3d {
			compatible = "nvidia,tegra20-gr3d";
			reg = <0x54180000 0x00040000>;
247
			clocks = <&tegra_car TEGRA20_CLK_GR3D>;
248 249
			resets = <&tegra_car 24>;
			reset-names = "3d";
T
Thierry Reding 已提交
250 251 252 253 254 255
		};

		dc@54200000 {
			compatible = "nvidia,tegra20-dc";
			reg = <0x54200000 0x00040000>;
			interrupts = <0 73 0x04>;
256 257 258
			clocks = <&tegra_car TEGRA20_CLK_DISP1>,
				 <&tegra_car TEGRA20_CLK_PLL_P>;
			clock-names = "disp1", "parent";
259 260
			resets = <&tegra_car 27>;
			reset-names = "dc";
T
Thierry Reding 已提交
261 262 263 264 265 266 267 268 269 270

			rgb {
				status = "disabled";
			};
		};

		dc@54240000 {
			compatible = "nvidia,tegra20-dc";
			reg = <0x54240000 0x00040000>;
			interrupts = <0 74 0x04>;
271 272 273
			clocks = <&tegra_car TEGRA20_CLK_DISP2>,
				 <&tegra_car TEGRA20_CLK_PLL_P>;
			clock-names = "disp2", "parent";
274 275
			resets = <&tegra_car 26>;
			reset-names = "dc";
T
Thierry Reding 已提交
276 277 278 279 280 281 282 283 284 285

			rgb {
				status = "disabled";
			};
		};

		hdmi {
			compatible = "nvidia,tegra20-hdmi";
			reg = <0x54280000 0x00040000>;
			interrupts = <0 75 0x04>;
286 287 288
			clocks = <&tegra_car TEGRA20_CLK_HDMI>,
				 <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
			clock-names = "hdmi", "parent";
289 290
			resets = <&tegra_car 51>;
			reset-names = "hdmi";
T
Thierry Reding 已提交
291 292 293 294 295 296 297
			status = "disabled";
		};

		tvo {
			compatible = "nvidia,tegra20-tvo";
			reg = <0x542c0000 0x00040000>;
			interrupts = <0 76 0x04>;
298
			clocks = <&tegra_car TEGRA20_CLK_TVO>;
T
Thierry Reding 已提交
299 300 301 302 303 304
			status = "disabled";
		};

		dsi {
			compatible = "nvidia,tegra20-dsi";
			reg = <0x54300000 0x00040000>;
305 306 307
			clocks = <&tegra_car TEGRA20_CLK_DSI>,
				 <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
			clock-names = "dsi", "parent";
308 309
			resets = <&tegra_car 48>;
			reset-names = "dsi";
T
Thierry Reding 已提交
310 311 312 313 314 315
			status = "disabled";
		};
	};

	...
};