Commit 5f4900bd authored by Olof Johansson's avatar Olof Johansson

Merge tag 'tegra-for-4.5-dt' of...

Merge tag 'tegra-for-4.5-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into late/tegra

ARM: tegra: Devicetree changes for v4.5-rc1

This adds support for the Tegra132 Norrin and various Tegra210-based
reference designs. There is also an initial device tree for the Jetson
TX1 development kit.

* tag 'tegra-for-4.5-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: Add NVIDIA Jetson TX1 Developer Kit support
  arm64: tegra: Add NVIDIA P2597 I/O board support
  arm64: tegra: Add NVIDIA Jetson TX1 support
  arm64: tegra: Add NVIDIA P2571 board support
  arm64: tegra: Add NVIDIA P2371 board support
  arm64: tegra: Add NVIDIA P2595 I/O board support
  arm64: tegra: Add NVIDIA P2530 main board support
  arm64: tegra: Add Tegra210 support
  arm64: tegra: Add NVIDIA Tegra132 Norrin support
  arm64: tegra: Add Tegra132 support
  clk: tegra: Add Tegra210 device tree binding
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents d0ac6119 336f79c7
NVIDIA Tegra210 Clock And Reset Controller
This binding uses the common clock binding:
Documentation/devicetree/bindings/clock/clock-bindings.txt
The CAR (Clock And Reset) Controller on Tegra is the HW module responsible
for muxing and gating Tegra's clocks, and setting their rates.
Required properties :
- compatible : Should be "nvidia,tegra210-car"
- reg : Should contain CAR registers location and length
- clocks : Should contain phandle and clock specifiers for two clocks:
the 32 KHz "32k_in".
- #clock-cells : Should be 1.
In clock consumers, this cell represents the clock ID exposed by the
CAR. The assignments may be found in header file
<dt-bindings/clock/tegra210-car.h>.
- #reset-cells : Should be 1.
In clock consumers, this cell represents the bit number in the CAR's
array of CLK_RST_CONTROLLER_RST_DEVICES_* registers.
Example SoC include file:
/ {
tegra_car: clock {
compatible = "nvidia,tegra210-car";
reg = <0x60006000 0x1000>;
#clock-cells = <1>;
#reset-cells = <1>;
};
usb@c5004000 {
clocks = <&tegra_car TEGRA210_CLK_USB2>;
};
};
Example board file:
/ {
clocks {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
clk_32k: clock@1 {
compatible = "fixed-clock";
reg = <1>;
#clock-cells = <0>;
clock-frequency = <32768>;
};
};
&tegra_car {
clocks = <&clk_32k>;
};
};
......@@ -9,6 +9,7 @@ dts-dirs += freescale
dts-dirs += hisilicon
dts-dirs += marvell
dts-dirs += mediatek
dts-dirs += nvidia
dts-dirs += qcom
dts-dirs += rockchip
dts-dirs += sprd
......
dtb-$(CONFIG_ARCH_TEGRA_132_SOC) += tegra132-norrin.dtb
dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p2371-0000.dtb
dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p2371-2180.dtb
dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p2571.dtb
always := $(dtb-y)
clean-files := *.dtb
This diff is collapsed.
This diff is collapsed.
#include "tegra210.dtsi"
/ {
model = "NVIDIA Jetson TX1";
compatible = "nvidia,p2180", "nvidia,tegra210";
aliases {
rtc1 = "/rtc@0,7000e000";
serial0 = &uarta;
};
memory {
device_type = "memory";
reg = <0x0 0x80000000 0x1 0x0>;
};
/* debug port */
serial@0,70006000 {
status = "okay";
};
pmc@0,7000e400 {
nvidia,invert-interrupt;
};
/* eMMC */
sdhci@0,700b0600 {
status = "okay";
bus-width = <8>;
non-removable;
};
clocks {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
clk32k_in: clock@0 {
compatible = "fixed-clock";
reg = <0>;
#clock-cells = <0>;
clock-frequency = <32768>;
};
};
};
/dts-v1/;
#include "tegra210-p2530.dtsi"
#include "tegra210-p2595.dtsi"
/ {
model = "NVIDIA Tegra210 P2371 (P2530/P2595) reference design";
compatible = "nvidia,p2371-0000", "nvidia,tegra210";
};
/dts-v1/;
#include "tegra210-p2180.dtsi"
#include "tegra210-p2597.dtsi"
/ {
model = "NVIDIA Jetson TX1 Developer Kit";
compatible = "nvidia,p2371-2180", "nvidia,tegra210";
};
#include "tegra210.dtsi"
/ {
model = "NVIDIA Tegra210 P2530 main board";
compatible = "nvidia,p2530", "nvidia,tegra210";
aliases {
rtc1 = "/rtc@0,7000e000";
serial0 = &uarta;
};
memory {
device_type = "memory";
reg = <0x0 0x80000000 0x0 0xc0000000>;
};
/* debug port */
serial@0,70006000 {
status = "okay";
};
i2c@0,7000d000 {
status = "okay";
clock-frequency = <400000>;
};
pmc@0,7000e400 {
nvidia,invert-interrupt;
};
/* eMMC */
sdhci@0,700b0600 {
status = "okay";
bus-width = <8>;
non-removable;
};
clocks {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
clk32k_in: clock@0 {
compatible = "fixed-clock";
reg = <0>;
#clock-cells = <0>;
clock-frequency = <32768>;
};
};
};
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment