mirror of
https://github.com/torvalds/linux.git
synced 2024-12-20 18:11:47 +00:00
193c9d23a0
Align compatible strings for several IP blocks present on Tegra chips with the latest doctrine from the DT maintainers: http://marc.info/?l=devicetree&m=142255654213019&w=2 The primary objective here is to avoid checkpatch warnings, per: http://marc.info/?l=linux-tegra&m=142201349727836&w=2 DT binding text files have been updated for the following IP blocks: - PCIe - SOR - SoC timers - AHB "gizmo" - APB_MISC - pinmux control - UART - PWM - I2C - SPI - RTC - PMC - eFuse - AHCI - HDA - XUSB_PADCTRL - SDHCI - SOC_THERM - AHUB - I2S - EHCI - USB PHY N.B. The nvidia,tegra20-timer compatible string is removed from the nvidia,tegra30-timer.txt documentation file because it's already mentioned in the nvidia,tegra20-timer.txt documentation file. This second version takes into account the following requests from Rob Herring <robherring2@gmail.com>: - Per-IP block patches have been combined into a single patch - Explicit documentation about which compatible strings are actually matched by the driver has been removed. In its place is implicit documentation that loosely follows Rob's prescribed format: "Must contain '"nvidia,<chip>-pcie", "nvidia,tegra20-pcie"' where <chip> is tegra30, tegra132, ..." [...] "You should attempt to document known values of <chip> if you use it" Signed-off-by: Paul Walmsley <paul@pwsan.com> Cc: Alexandre Courbot <gnurou@gmail.com> Cc: Dylan Reid <dgreid@chromium.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Ian Campbell <ijc+devicetree@hellion.org.uk> Cc: Jingchang Lu <jingchang.lu@freescale.com> Cc: John Crispin <blogic@openwrt.org> Cc: Kumar Gala <galak@codeaurora.org> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Mikko Perttunen <mperttunen@nvidia.com> Cc: Murali Karicheri <m-karicheri2@ti.com> Cc: Paul Walmsley <pwalmsley@nvidia.com> Cc: Pawel Moll <pawel.moll@arm.com> Cc: Peter De Schrijver <pdeschrijver@nvidia.com> Cc: Peter Hurley <peter@hurleysoftware.com> Cc: Sean Paul <seanpaul@chromium.org> Cc: Stephen Warren <swarren@wwwdotorg.org> Cc: Takashi Iwai <tiwai@suse.de> Cc: Tejun Heo <tj@kernel.org> Cc: "Terje Bergström" <tbergstrom@nvidia.com> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Tuomas Tynkkynen <ttynkkynen@nvidia.com> Cc: Wolfram Sang <wsa@the-dreams.de> Cc: Zhang Rui <rui.zhang@intel.com> Cc: dri-devel@lists.freedesktop.org Cc: linux-i2c@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-pci@vger.kernel.org Cc: linux-pm@vger.kernel.org Cc: linux-pwm@vger.kernel.org Cc: linux-tegra@vger.kernel.org Acked-by: Eduardo Valentin <edubezval@gmail.com> Signed-off-by: Rob Herring <robh@kernel.org>
379 lines
13 KiB
Plaintext
379 lines
13 KiB
Plaintext
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.
|
|
- clocks: Must contain one entry, for the module clock.
|
|
See ../clocks/clock-bindings.txt for details.
|
|
- 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
|
|
|
|
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.
|
|
- clocks: Must contain one entry, for the module clock.
|
|
See ../clocks/clock-bindings.txt for details.
|
|
- 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
|
|
|
|
- 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.
|
|
- clocks: Must contain one entry, for the module clock.
|
|
See ../clocks/clock-bindings.txt for details.
|
|
- 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
|
|
|
|
- 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.
|
|
- clocks: Must contain one entry, for the module clock.
|
|
See ../clocks/clock-bindings.txt for details.
|
|
- 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
|
|
|
|
- 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.
|
|
- clocks: Must contain one entry, for the module clock.
|
|
See ../clocks/clock-bindings.txt for details.
|
|
- 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
|
|
|
|
- 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.
|
|
- clocks: Must contain one entry, for the module clock.
|
|
See ../clocks/clock-bindings.txt for details.
|
|
- 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
|
|
|
|
- gr3d: 3D graphics engine
|
|
|
|
Required properties:
|
|
- compatible: "nvidia,tegra<chip>-gr3d"
|
|
- reg: Physical base address and length of the controller's registers.
|
|
- 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)
|
|
- 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)
|
|
|
|
- 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.
|
|
- 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
|
|
- 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
|
|
- nvidia,head: The number of the display controller head. This is used to
|
|
setup the various types of output to receive video data from the given
|
|
head.
|
|
|
|
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
|
|
- nvidia,panel: phandle of a display panel
|
|
|
|
- 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.
|
|
- hdmi-supply: supply for the +5V HDMI connector pin
|
|
- vdd-supply: regulator for supply voltage
|
|
- pll-supply: regulator for PLL
|
|
- 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
|
|
- 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
|
|
|
|
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
|
|
- nvidia,panel: phandle of a display panel
|
|
|
|
- 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.
|
|
- clocks: Must contain one entry, for the module clock.
|
|
See ../clocks/clock-bindings.txt for details.
|
|
|
|
- dsi: display serial interface
|
|
|
|
Required properties:
|
|
- compatible: "nvidia,tegra<chip>-dsi"
|
|
- reg: Physical base address and length of the controller's registers.
|
|
- 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.
|
|
- lp
|
|
- parent
|
|
- 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
|
|
- avdd-dsi-supply: phandle of a supply that powers the DSI controller
|
|
- nvidia,mipi-calibrate: Should contain a phandle and a specifier specifying
|
|
which pads are used by this DSI output and need to be calibrated. See also
|
|
../mipi/nvidia,tegra114-mipi.txt.
|
|
|
|
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
|
|
- nvidia,panel: phandle of a display panel
|
|
- nvidia,ganged-mode: contains a phandle to a second DSI controller to gang
|
|
up with in order to support up to 8 data lanes
|
|
|
|
- sor: serial output resource
|
|
|
|
Required properties:
|
|
- compatible: For Tegra124, must contain "nvidia,tegra124-sor". Otherwise,
|
|
must contain '"nvidia,<chip>-sor", "nvidia,tegra124-sor"', where <chip>
|
|
is tegra132.
|
|
- reg: Physical base address and length of the controller's registers.
|
|
- interrupts: The interrupt outputs from the controller.
|
|
- 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:
|
|
- sor: clock input for the SOR hardware
|
|
- parent: input for the pixel clock
|
|
- dp: reference clock for the SOR clock
|
|
- safe: safe reference for the SOR clock during power up
|
|
- resets: Must contain an entry for each entry in reset-names.
|
|
See ../reset/reset.txt for details.
|
|
- reset-names: Must include the following entries:
|
|
- sor
|
|
|
|
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
|
|
- nvidia,panel: phandle of a display panel
|
|
|
|
Optional properties when driving an eDP output:
|
|
- nvidia,dpaux: phandle to a DispayPort AUX interface
|
|
|
|
- dpaux: DisplayPort AUX interface
|
|
- compatible: For Tegra124, must contain "nvidia,tegra124-dpaux". Otherwise,
|
|
must contain '"nvidia,<chip>-dpaux", "nvidia,tegra124-dpaux"', where
|
|
<chip> is tegra132.
|
|
- reg: Physical base address and length of the controller's registers.
|
|
- interrupts: The interrupt outputs from the controller.
|
|
- 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:
|
|
- dpaux: clock input for the DPAUX hardware
|
|
- parent: reference clock
|
|
- resets: Must contain an entry for each entry in reset-names.
|
|
See ../reset/reset.txt for details.
|
|
- reset-names: Must include the following entries:
|
|
- dpaux
|
|
- vdd-supply: phandle of a supply that powers the DisplayPort link
|
|
|
|
Example:
|
|
|
|
/ {
|
|
...
|
|
|
|
host1x {
|
|
compatible = "nvidia,tegra20-host1x", "simple-bus";
|
|
reg = <0x50000000 0x00024000>;
|
|
interrupts = <0 65 0x04 /* mpcore syncpt */
|
|
0 67 0x04>; /* mpcore general */
|
|
clocks = <&tegra_car TEGRA20_CLK_HOST1X>;
|
|
resets = <&tegra_car 28>;
|
|
reset-names = "host1x";
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
ranges = <0x54000000 0x54000000 0x04000000>;
|
|
|
|
mpe {
|
|
compatible = "nvidia,tegra20-mpe";
|
|
reg = <0x54040000 0x00040000>;
|
|
interrupts = <0 68 0x04>;
|
|
clocks = <&tegra_car TEGRA20_CLK_MPE>;
|
|
resets = <&tegra_car 60>;
|
|
reset-names = "mpe";
|
|
};
|
|
|
|
vi {
|
|
compatible = "nvidia,tegra20-vi";
|
|
reg = <0x54080000 0x00040000>;
|
|
interrupts = <0 69 0x04>;
|
|
clocks = <&tegra_car TEGRA20_CLK_VI>;
|
|
resets = <&tegra_car 100>;
|
|
reset-names = "vi";
|
|
};
|
|
|
|
epp {
|
|
compatible = "nvidia,tegra20-epp";
|
|
reg = <0x540c0000 0x00040000>;
|
|
interrupts = <0 70 0x04>;
|
|
clocks = <&tegra_car TEGRA20_CLK_EPP>;
|
|
resets = <&tegra_car 19>;
|
|
reset-names = "epp";
|
|
};
|
|
|
|
isp {
|
|
compatible = "nvidia,tegra20-isp";
|
|
reg = <0x54100000 0x00040000>;
|
|
interrupts = <0 71 0x04>;
|
|
clocks = <&tegra_car TEGRA20_CLK_ISP>;
|
|
resets = <&tegra_car 23>;
|
|
reset-names = "isp";
|
|
};
|
|
|
|
gr2d {
|
|
compatible = "nvidia,tegra20-gr2d";
|
|
reg = <0x54140000 0x00040000>;
|
|
interrupts = <0 72 0x04>;
|
|
clocks = <&tegra_car TEGRA20_CLK_GR2D>;
|
|
resets = <&tegra_car 21>;
|
|
reset-names = "2d";
|
|
};
|
|
|
|
gr3d {
|
|
compatible = "nvidia,tegra20-gr3d";
|
|
reg = <0x54180000 0x00040000>;
|
|
clocks = <&tegra_car TEGRA20_CLK_GR3D>;
|
|
resets = <&tegra_car 24>;
|
|
reset-names = "3d";
|
|
};
|
|
|
|
dc@54200000 {
|
|
compatible = "nvidia,tegra20-dc";
|
|
reg = <0x54200000 0x00040000>;
|
|
interrupts = <0 73 0x04>;
|
|
clocks = <&tegra_car TEGRA20_CLK_DISP1>,
|
|
<&tegra_car TEGRA20_CLK_PLL_P>;
|
|
clock-names = "dc", "parent";
|
|
resets = <&tegra_car 27>;
|
|
reset-names = "dc";
|
|
|
|
rgb {
|
|
status = "disabled";
|
|
};
|
|
};
|
|
|
|
dc@54240000 {
|
|
compatible = "nvidia,tegra20-dc";
|
|
reg = <0x54240000 0x00040000>;
|
|
interrupts = <0 74 0x04>;
|
|
clocks = <&tegra_car TEGRA20_CLK_DISP2>,
|
|
<&tegra_car TEGRA20_CLK_PLL_P>;
|
|
clock-names = "dc", "parent";
|
|
resets = <&tegra_car 26>;
|
|
reset-names = "dc";
|
|
|
|
rgb {
|
|
status = "disabled";
|
|
};
|
|
};
|
|
|
|
hdmi {
|
|
compatible = "nvidia,tegra20-hdmi";
|
|
reg = <0x54280000 0x00040000>;
|
|
interrupts = <0 75 0x04>;
|
|
clocks = <&tegra_car TEGRA20_CLK_HDMI>,
|
|
<&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
|
|
clock-names = "hdmi", "parent";
|
|
resets = <&tegra_car 51>;
|
|
reset-names = "hdmi";
|
|
status = "disabled";
|
|
};
|
|
|
|
tvo {
|
|
compatible = "nvidia,tegra20-tvo";
|
|
reg = <0x542c0000 0x00040000>;
|
|
interrupts = <0 76 0x04>;
|
|
clocks = <&tegra_car TEGRA20_CLK_TVO>;
|
|
status = "disabled";
|
|
};
|
|
|
|
dsi {
|
|
compatible = "nvidia,tegra20-dsi";
|
|
reg = <0x54300000 0x00040000>;
|
|
clocks = <&tegra_car TEGRA20_CLK_DSI>,
|
|
<&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
|
|
clock-names = "dsi", "parent";
|
|
resets = <&tegra_car 48>;
|
|
reset-names = "dsi";
|
|
status = "disabled";
|
|
};
|
|
};
|
|
|
|
...
|
|
};
|