Skip to content

Commit 4a5219e

Browse files
committed
Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC driver updates from Arnd Bergmann: "Driver updates for ARM SoCs, these contain various things that touch the drivers/ directory but got merged through arm-soc for practical reasons. For the most part, this is now related to power management controllers, which have not yet been abstracted into a separate subsystem, and typically require some code in drivers/soc or arch/arm to control the power domains. Another large chunk here is a rework of the NVIDIA Tegra USB3.0 support, which was surprisingly tricky and took a long time to get done. Finally, reset controller handling as always gets merged through here as well" * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (97 commits) arm-ccn: Enable building as module soc/tegra: pmc: Add generic PM domain support usb: xhci: tegra: Add Tegra210 support usb: xhci: Add NVIDIA Tegra XUSB controller driver dt-bindings: usb: xhci-tegra: Add Tegra210 XUSB controller support dt-bindings: usb: Add NVIDIA Tegra XUSB controller binding PCI: tegra: Support per-lane PHYs dt-bindings: pci: tegra: Update for per-lane PHYs phy: tegra: Add Tegra210 support phy: Add Tegra XUSB pad controller support dt-bindings: phy: tegra-xusb-padctl: Add Tegra210 support dt-bindings: phy: Add NVIDIA Tegra XUSB pad controller binding phy: core: Allow children node to be overridden clk: tegra: Add interface to enable hardware control of SATA/XUSB PLLs drivers: firmware: psci: make two helper functions inline soc: renesas: rcar-sysc: Add support for R-Car H3 power areas soc: renesas: rcar-sysc: Add support for R-Car E2 power areas soc: renesas: rcar-sysc: Add support for R-Car M2-N power areas soc: renesas: rcar-sysc: Add support for R-Car M2-W power areas soc: renesas: rcar-sysc: Add support for R-Car H2 power areas ...
2 parents 9797f6b + 5420f9f commit 4a5219e

File tree

99 files changed

+11511
-975
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+11511
-975
lines changed

Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-pmc.txt

Lines changed: 87 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
11
NVIDIA Tegra Power Management Controller (PMC)
22

3+
== Power Management Controller Node ==
4+
35
The PMC block interacts with an external Power Management Unit. The PMC
46
mostly controls the entry and exit of the system from different sleep
57
modes. It provides power-gating controllers for SoC and CPU power-islands.
68

79
Required properties:
810
- name : Should be pmc
9-
- compatible : For Tegra20, must contain "nvidia,tegra20-pmc". For Tegra30,
10-
must contain "nvidia,tegra30-pmc". For Tegra114, must contain
11-
"nvidia,tegra114-pmc". For Tegra124, must contain "nvidia,tegra124-pmc".
12-
Otherwise, must contain "nvidia,<chip>-pmc", plus at least one of the
13-
above, where <chip> is tegra132.
11+
- compatible : Should contain one of the following:
12+
For Tegra20 must contain "nvidia,tegra20-pmc".
13+
For Tegra30 must contain "nvidia,tegra30-pmc".
14+
For Tegra114 must contain "nvidia,tegra114-pmc"
15+
For Tegra124 must contain "nvidia,tegra124-pmc"
16+
For Tegra132 must contain "nvidia,tegra124-pmc"
17+
For Tegra210 must contain "nvidia,tegra210-pmc"
1418
- reg : Offset and length of the register set for the device
1519
- clocks : Must contain an entry for each entry in clock-names.
1620
See ../clocks/clock-bindings.txt for details.
@@ -68,6 +72,11 @@ Optional properties for hardware-triggered thermal reset (inside 'i2c-thermtrip'
6872
Defaults to 0. Valid values are described in section 12.5.2
6973
"Pinmux Support" of the Tegra4 Technical Reference Manual.
7074

75+
Optional nodes:
76+
- powergates : This node contains a hierarchy of power domain nodes, which
77+
should match the powergates on the Tegra SoC. See "Powergate
78+
Nodes" below.
79+
7180
Example:
7281

7382
/ SoC dts including file
@@ -113,3 +122,76 @@ pmc@7000f400 {
113122
};
114123
...
115124
};
125+
126+
127+
== Powergate Nodes ==
128+
129+
Each of the powergate nodes represents a power-domain on the Tegra SoC
130+
that can be power-gated by the Tegra PMC. The name of the powergate node
131+
should be one of the below. Note that not every powergate is applicable
132+
to all Tegra devices and the following list shows which powergates are
133+
applicable to which devices. Please refer to the Tegra TRM for more
134+
details on the various powergates.
135+
136+
Name Description Devices Applicable
137+
3d 3D Graphics Tegra20/114/124/210
138+
3d0 3D Graphics 0 Tegra30
139+
3d1 3D Graphics 1 Tegra30
140+
aud Audio Tegra210
141+
dfd Debug Tegra210
142+
dis Display A Tegra114/124/210
143+
disb Display B Tegra114/124/210
144+
heg 2D Graphics Tegra30/114/124/210
145+
iram Internal RAM Tegra124/210
146+
mpe MPEG Encode All
147+
nvdec NVIDIA Video Decode Engine Tegra210
148+
nvjpg NVIDIA JPEG Engine Tegra210
149+
pcie PCIE Tegra20/30/124/210
150+
sata SATA Tegra30/124/210
151+
sor Display interfaces Tegra124/210
152+
ve2 Video Encode Engine 2 Tegra210
153+
venc Video Encode Engine All
154+
vdec Video Decode Engine Tegra20/30/114/124
155+
vic Video Imaging Compositor Tegra124/210
156+
xusba USB Partition A Tegra114/124/210
157+
xusbb USB Partition B Tegra114/124/210
158+
xusbc USB Partition C Tegra114/124/210
159+
160+
Required properties:
161+
- clocks: Must contain an entry for each clock required by the PMC for
162+
controlling a power-gate. See ../clocks/clock-bindings.txt for details.
163+
- resets: Must contain an entry for each reset required by the PMC for
164+
controlling a power-gate. See ../reset/reset.txt for details.
165+
- #power-domain-cells: Must be 0.
166+
167+
Example:
168+
169+
pmc: pmc@7000e400 {
170+
compatible = "nvidia,tegra210-pmc";
171+
reg = <0x0 0x7000e400 0x0 0x400>;
172+
clocks = <&tegra_car TEGRA210_CLK_PCLK>, <&clk32k_in>;
173+
clock-names = "pclk", "clk32k_in";
174+
175+
powergates {
176+
pd_audio: aud {
177+
clocks = <&tegra_car TEGRA210_CLK_APE>,
178+
<&tegra_car TEGRA210_CLK_APB2APE>;
179+
resets = <&tegra_car 198>;
180+
#power-domain-cells = <0>;
181+
};
182+
};
183+
};
184+
185+
186+
== Powergate Clients ==
187+
188+
Hardware blocks belonging to a power domain should contain a "power-domains"
189+
property that is a phandle pointing to the corresponding powergate node.
190+
191+
Example:
192+
193+
adma: adma@702e2000 {
194+
...
195+
power-domains = <&pd_audio>;
196+
...
197+
};
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
SAMSUNG Exynos SoCs SROM Controller driver.
2+
3+
Required properties:
4+
- compatible : Should contain "samsung,exynos4210-srom".
5+
6+
- reg: offset and length of the register set
7+
8+
Optional properties:
9+
The SROM controller can be used to attach external peripherals. In this case
10+
extra properties, describing the bus behind it, should be specified as below:
11+
12+
- #address-cells: Must be set to 2 to allow device address translation.
13+
Address is specified as (bank#, offset).
14+
15+
- #size-cells: Must be set to 1 to allow device size passing
16+
17+
- ranges: Must be set up to reflect the memory layout with four integer values
18+
per bank:
19+
<bank-number> 0 <parent address of bank> <size>
20+
21+
Sub-nodes:
22+
The actual device nodes should be added as subnodes to the SROMc node. These
23+
subnodes, in addition to regular device specification, should contain the following
24+
properties, describing configuration of the relevant SROM bank:
25+
26+
Required properties:
27+
- reg: bank number, base address (relative to start of the bank) and size of
28+
the memory mapped for the device. Note that base address will be
29+
typically 0 as this is the start of the bank.
30+
31+
- samsung,srom-timing : array of 6 integers, specifying bank timings in the
32+
following order: Tacp, Tcah, Tcoh, Tacc, Tcos, Tacs.
33+
Each value is specified in cycles and has the following
34+
meaning and valid range:
35+
Tacp : Page mode access cycle at Page mode (0 - 15)
36+
Tcah : Address holding time after CSn (0 - 15)
37+
Tcoh : Chip selection hold on OEn (0 - 15)
38+
Tacc : Access cycle (0 - 31, the actual time is N + 1)
39+
Tcos : Chip selection set-up before OEn (0 - 15)
40+
Tacs : Address set-up before CSn (0 - 15)
41+
42+
Optional properties:
43+
- reg-io-width : data width in bytes (1 or 2). If omitted, default of 1 is used.
44+
45+
- samsung,srom-page-mode : if page mode is set, 4 data page mode will be configured,
46+
else normal (1 data) page mode will be set.
47+
48+
Example: basic definition, no banks are configured
49+
memory-controller@12570000 {
50+
compatible = "samsung,exynos4210-srom";
51+
reg = <0x12570000 0x14>;
52+
};
53+
54+
Example: SROMc with SMSC911x ethernet chip on bank 3
55+
memory-controller@12570000 {
56+
#address-cells = <2>;
57+
#size-cells = <1>;
58+
ranges = <0 0 0x04000000 0x20000 // Bank0
59+
1 0 0x05000000 0x20000 // Bank1
60+
2 0 0x06000000 0x20000 // Bank2
61+
3 0 0x07000000 0x20000>; // Bank3
62+
63+
compatible = "samsung,exynos4210-srom";
64+
reg = <0x12570000 0x14>;
65+
66+
ethernet@3,0 {
67+
compatible = "smsc,lan9115";
68+
reg = <3 0 0x10000>; // Bank 3, offset = 0
69+
phy-mode = "mii";
70+
interrupt-parent = <&gpx0>;
71+
interrupts = <5 8>;
72+
reg-io-width = <2>;
73+
smsc,irq-push-pull;
74+
smsc,force-internal-phy;
75+
76+
samsung,srom-page-mode;
77+
samsung,srom-timing = <9 12 1 9 1 1>;
78+
};
79+
};
Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,26 @@
11
Flash device on ARM Versatile board
22

3+
These flash chips are found in the ARM reference designs like Integrator,
4+
Versatile, RealView, Versatile Express etc.
5+
6+
They are regular CFI compatible (Intel or AMD extended) flash chips with
7+
some special write protect/VPP bits that can be controlled by the machine's
8+
system controller.
9+
310
Required properties:
4-
- compatible : must be "arm,versatile-flash";
11+
- compatible : must be "arm,versatile-flash", "cfi-flash";
12+
- reg : memory address for the flash chip
513
- bank-width : width in bytes of flash interface.
614

15+
For the rest of the properties, see mtd-physmap.txt.
16+
717
The device tree may optionally contain sub-nodes describing partitions of the
818
address space. See partition.txt for more detail.
19+
20+
Example:
21+
22+
flash@34000000 {
23+
compatible = "arm,versatile-flash", "cfi-flash";
24+
reg = <0x34000000 0x4000000>;
25+
bank-width = <4>;
26+
};

0 commit comments

Comments
 (0)