Skip to content

Commit 828f3e1

Browse files
committed
Merge tag 'arm-drivers-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
Pull ARM/SoC driver updates from Arnd Bergmann: "These are updates to SoC specific drivers that did not have another subsystem maintainer tree to go through for some reason: - Some bus and memory drivers for the MIPS P5600 based Baikal-T1 SoC that is getting added through the MIPS tree. - There are new soc_device identification drivers for TI K3, Qualcomm MSM8939 - New reset controller drivers for NXP i.MX8MP, Renesas RZ/G1H, and Hisilicon hi6220 - The SCMI firmware interface can now work across ARM SMC/HVC as a transport. - Mediatek platforms now use a new driver for their "MMSYS" hardware block that controls clocks and some other aspects in behalf of the media and gpu drivers. - Some Tegra processors have improved power management support, including getting woken up by the PMIC and cluster power down during idle. - A new v4l staging driver for Tegra is added. - Cleanups and minor bugfixes for TI, NXP, Hisilicon, Mediatek, and Tegra" * tag 'arm-drivers-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (155 commits) clk: sprd: fix compile-testing bus: bt1-axi: Build the driver into the kernel bus: bt1-apb: Build the driver into the kernel bus: bt1-axi: Use sysfs_streq instead of strncmp bus: bt1-axi: Optimize the return points in the driver bus: bt1-apb: Use sysfs_streq instead of strncmp bus: bt1-apb: Use PTR_ERR_OR_ZERO to return from request-regs method bus: bt1-apb: Fix show/store callback identations bus: bt1-apb: Include linux/io.h dt-bindings: memory: Add Baikal-T1 L2-cache Control Block binding memory: Add Baikal-T1 L2-cache Control Block driver bus: Add Baikal-T1 APB-bus driver bus: Add Baikal-T1 AXI-bus driver dt-bindings: bus: Add Baikal-T1 APB-bus binding dt-bindings: bus: Add Baikal-T1 AXI-bus binding staging: tegra-video: fix V4L2 dependency tee: fix crypto select drivers: soc: ti: knav_qmss_queue: Make knav_gp_range_ops static soc: ti: add k3 platforms chipid module driver dt-bindings: soc: ti: add binding for k3 platforms chipid module ...
2 parents 298743c + b5f73d4 commit 828f3e1

File tree

150 files changed

+7996
-1231
lines changed

Some content is hidden

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

150 files changed

+7996
-1231
lines changed

Documentation/devicetree/bindings/arm/arm,scmi.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Required properties:
1414

1515
The scmi node with the following properties shall be under the /firmware/ node.
1616

17-
- compatible : shall be "arm,scmi"
17+
- compatible : shall be "arm,scmi" or "arm,scmi-smc" for smc/hvc transports
1818
- mboxes: List of phandle and mailbox channel specifiers. It should contain
1919
exactly one or two mailboxes, one for transmitting messages("tx")
2020
and another optional for receiving the notifications("rx") if
@@ -25,6 +25,7 @@ The scmi node with the following properties shall be under the /firmware/ node.
2525
protocol identifier for a given sub-node.
2626
- #size-cells : should be '0' as 'reg' property doesn't have any size
2727
associated with it.
28+
- arm,smc-id : SMC id required when using smc or hvc transports
2829

2930
Optional properties:
3031

Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
Mediatek mmsys controller
22
============================
33

4-
The Mediatek mmsys controller provides various clocks to the system.
4+
The Mediatek mmsys system controller provides clock control, routing control,
5+
and miscellaneous control in mmsys partition.
56

67
Required Properties:
78

@@ -15,13 +16,13 @@ Required Properties:
1516
- "mediatek,mt8183-mmsys", "syscon"
1617
- #clock-cells: Must be 1
1718

18-
The mmsys controller uses the common clk binding from
19+
For the clock control, the mmsys controller uses the common clk binding from
1920
Documentation/devicetree/bindings/clock/clock-bindings.txt
2021
The available clocks are defined in dt-bindings/clock/mt*-clk.h.
2122

2223
Example:
2324

24-
mmsys: clock-controller@14000000 {
25+
mmsys: syscon@14000000 {
2526
compatible = "mediatek,mt8173-mmsys", "syscon";
2627
reg = <0 0x14000000 0 0x1000>;
2728
#clock-cells = <1>;
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
# Copyright (C) 2020 BAIKAL ELECTRONICS, JSC
3+
%YAML 1.2
4+
---
5+
$id: http://devicetree.org/schemas/bus/baikal,bt1-apb.yaml#
6+
$schema: http://devicetree.org/meta-schemas/core.yaml#
7+
8+
title: Baikal-T1 APB-bus
9+
10+
maintainers:
11+
- Serge Semin <[email protected]>
12+
13+
description: |
14+
Baikal-T1 CPU or DMAC MMIO requests are handled by the AMBA 3 AXI Interconnect
15+
which routes them to the AXI-APB bridge. This interface is a single master
16+
multiple slaves bus in turn serializing IO accesses and routing them to the
17+
addressed APB slave devices. In case of any APB protocol collisions, slave
18+
device not responding on timeout an IRQ is raised with an erroneous address
19+
reported to the APB terminator (APB Errors Handler Block).
20+
21+
allOf:
22+
- $ref: /schemas/simple-bus.yaml#
23+
24+
properties:
25+
compatible:
26+
contains:
27+
const: baikal,bt1-apb
28+
29+
reg:
30+
items:
31+
- description: APB EHB MMIO registers
32+
- description: APB MMIO region with no any device mapped
33+
34+
reg-names:
35+
items:
36+
- const: ehb
37+
- const: nodev
38+
39+
interrupts:
40+
maxItems: 1
41+
42+
clocks:
43+
items:
44+
- description: APB reference clock
45+
46+
clock-names:
47+
items:
48+
- const: pclk
49+
50+
resets:
51+
items:
52+
- description: APB domain reset line
53+
54+
reset-names:
55+
items:
56+
- const: prst
57+
58+
unevaluatedProperties: false
59+
60+
required:
61+
- compatible
62+
- reg
63+
- reg-names
64+
- interrupts
65+
- clocks
66+
- clock-names
67+
68+
examples:
69+
- |
70+
#include <dt-bindings/interrupt-controller/mips-gic.h>
71+
72+
bus@1f059000 {
73+
compatible = "baikal,bt1-apb", "simple-bus";
74+
reg = <0 0x1f059000 0 0x1000>,
75+
<0 0x1d000000 0 0x2040000>;
76+
reg-names = "ehb", "nodev";
77+
#address-cells = <1>;
78+
#size-cells = <1>;
79+
80+
ranges;
81+
82+
interrupts = <GIC_SHARED 16 IRQ_TYPE_LEVEL_HIGH>;
83+
84+
clocks = <&ccu_sys 1>;
85+
clock-names = "pclk";
86+
87+
resets = <&ccu_sys 1>;
88+
reset-names = "prst";
89+
};
90+
...
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
# Copyright (C) 2020 BAIKAL ELECTRONICS, JSC
3+
%YAML 1.2
4+
---
5+
$id: http://devicetree.org/schemas/bus/baikal,bt1-axi.yaml#
6+
$schema: http://devicetree.org/meta-schemas/core.yaml#
7+
8+
title: Baikal-T1 AXI-bus
9+
10+
maintainers:
11+
- Serge Semin <[email protected]>
12+
13+
description: |
14+
AXI3-bus is the main communication bus of Baikal-T1 SoC connecting all
15+
high-speed peripheral IP-cores with RAM controller and with MIPS P5600
16+
cores. Traffic arbitration is done by means of DW AXI Interconnect (so
17+
called AXI Main Interconnect) routing IO requests from one block to
18+
another: from CPU to SoC peripherals and between some SoC peripherals
19+
(mostly between peripheral devices and RAM, but also between DMA and
20+
some peripherals). In case of any protocol error, device not responding
21+
an IRQ is raised and a faulty situation is reported to the AXI EHB
22+
(Errors Handler Block) embedded on top of the DW AXI Interconnect and
23+
accessible by means of the Baikal-T1 System Controller.
24+
25+
allOf:
26+
- $ref: /schemas/simple-bus.yaml#
27+
28+
properties:
29+
compatible:
30+
contains:
31+
const: baikal,bt1-axi
32+
33+
reg:
34+
minItems: 1
35+
items:
36+
- description: Synopsys DesignWare AXI Interconnect QoS registers
37+
- description: AXI EHB MMIO system controller registers
38+
39+
reg-names:
40+
minItems: 1
41+
items:
42+
- const: qos
43+
- const: ehb
44+
45+
'#interconnect-cells':
46+
const: 1
47+
48+
syscon:
49+
$ref: /schemas/types.yaml#definitions/phandle
50+
description: Phandle to the Baikal-T1 System Controller DT node
51+
52+
interrupts:
53+
maxItems: 1
54+
55+
clocks:
56+
items:
57+
- description: Main Interconnect uplink reference clock
58+
59+
clock-names:
60+
items:
61+
- const: aclk
62+
63+
resets:
64+
items:
65+
- description: Main Interconnect reset line
66+
67+
reset-names:
68+
items:
69+
- const: arst
70+
71+
unevaluatedProperties: false
72+
73+
required:
74+
- compatible
75+
- reg
76+
- reg-names
77+
- syscon
78+
- interrupts
79+
- clocks
80+
- clock-names
81+
82+
examples:
83+
- |
84+
#include <dt-bindings/interrupt-controller/mips-gic.h>
85+
86+
bus@1f05a000 {
87+
compatible = "baikal,bt1-axi", "simple-bus";
88+
reg = <0 0x1f05a000 0 0x1000>,
89+
<0 0x1f04d110 0 0x8>;
90+
reg-names = "qos", "ehb";
91+
#address-cells = <1>;
92+
#size-cells = <1>;
93+
#interconnect-cells = <1>;
94+
95+
syscon = <&syscon>;
96+
97+
ranges;
98+
99+
interrupts = <GIC_SHARED 127 IRQ_TYPE_LEVEL_HIGH>;
100+
101+
clocks = <&ccu_axi 0>;
102+
clock-names = "aclk";
103+
104+
resets = <&ccu_axi 0>;
105+
reset-names = "arst";
106+
};
107+
...
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
Binding for NVIDIA Tegra20 CPUFreq
2+
==================================
3+
4+
Required properties:
5+
- clocks: Must contain an entry for the CPU clock.
6+
See ../clocks/clock-bindings.txt for details.
7+
- operating-points-v2: See ../bindings/opp/opp.txt for details.
8+
- #cooling-cells: Should be 2. See ../thermal/thermal.txt for details.
9+
10+
For each opp entry in 'operating-points-v2' table:
11+
- opp-supported-hw: Two bitfields indicating:
12+
On Tegra20:
13+
1. CPU process ID mask
14+
2. SoC speedo ID mask
15+
16+
On Tegra30:
17+
1. CPU process ID mask
18+
2. CPU speedo ID mask
19+
20+
A bitwise AND is performed against these values and if any bit
21+
matches, the OPP gets enabled.
22+
23+
- opp-microvolt: CPU voltage triplet.
24+
25+
Optional properties:
26+
- cpu-supply: Phandle to the CPU power supply.
27+
28+
Example:
29+
regulators {
30+
cpu_reg: regulator0 {
31+
regulator-name = "vdd_cpu";
32+
};
33+
};
34+
35+
cpu0_opp_table: opp_table0 {
36+
compatible = "operating-points-v2";
37+
38+
opp@456000000 {
39+
clock-latency-ns = <125000>;
40+
opp-microvolt = <825000 825000 1125000>;
41+
opp-supported-hw = <0x03 0x0001>;
42+
opp-hz = /bits/ 64 <456000000>;
43+
};
44+
45+
...
46+
};
47+
48+
cpus {
49+
cpu@0 {
50+
compatible = "arm,cortex-a9";
51+
clocks = <&tegra_car TEGRA20_CLK_CCLK>;
52+
operating-points-v2 = <&cpu0_opp_table>;
53+
cpu-supply = <&cpu_reg>;
54+
#cooling-cells = <2>;
55+
};
56+
};

Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt

Lines changed: 60 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,30 @@ of the following host1x client modules:
4040

4141
Required properties:
4242
- compatible: "nvidia,tegra<chip>-vi"
43-
- reg: Physical base address and length of the controller's registers.
43+
- reg: Physical base address and length of the controller registers.
4444
- interrupts: The interrupt outputs from the controller.
45-
- clocks: Must contain one entry, for the module clock.
45+
- clocks: clocks: Must contain one entry, for the module clock.
4646
See ../clocks/clock-bindings.txt for details.
47-
- resets: Must contain an entry for each entry in reset-names.
48-
See ../reset/reset.txt for details.
49-
- reset-names: Must include the following entries:
50-
- vi
47+
- Tegra20/Tegra30/Tegra114/Tegra124:
48+
- resets: Must contain an entry for each entry in reset-names.
49+
See ../reset/reset.txt for details.
50+
- reset-names: Must include the following entries:
51+
- vi
52+
- Tegra210:
53+
- power-domains: Must include venc powergate node as vi is in VE partition.
54+
- Tegra210 has CSI part of VI sharing same host interface and register space.
55+
So, VI device node should have CSI child node.
56+
57+
- csi: mipi csi interface to vi
58+
59+
Required properties:
60+
- compatible: "nvidia,tegra210-csi"
61+
- reg: Physical base address offset to parent and length of the controller
62+
registers.
63+
- clocks: Must contain entries csi, cilab, cilcd, cile, csi_tpg clocks.
64+
See ../clocks/clock-bindings.txt for details.
65+
- power-domains: Must include sor powergate node as csicil is in
66+
SOR partition.
5167

5268
- epp: encoder pre-processor
5369

@@ -309,13 +325,44 @@ Example:
309325
reset-names = "mpe";
310326
};
311327

312-
vi {
313-
compatible = "nvidia,tegra20-vi";
314-
reg = <0x54080000 0x00040000>;
315-
interrupts = <0 69 0x04>;
316-
clocks = <&tegra_car TEGRA20_CLK_VI>;
317-
resets = <&tegra_car 100>;
318-
reset-names = "vi";
328+
vi@54080000 {
329+
compatible = "nvidia,tegra210-vi";
330+
reg = <0x0 0x54080000 0x0 0x700>;
331+
interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
332+
assigned-clocks = <&tegra_car TEGRA210_CLK_VI>;
333+
assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>;
334+
335+
clocks = <&tegra_car TEGRA210_CLK_VI>;
336+
power-domains = <&pd_venc>;
337+
338+
#address-cells = <1>;
339+
#size-cells = <1>;
340+
341+
ranges = <0x0 0x0 0x54080000 0x2000>;
342+
343+
csi@838 {
344+
compatible = "nvidia,tegra210-csi";
345+
reg = <0x838 0x1300>;
346+
assigned-clocks = <&tegra_car TEGRA210_CLK_CILAB>,
347+
<&tegra_car TEGRA210_CLK_CILCD>,
348+
<&tegra_car TEGRA210_CLK_CILE>,
349+
<&tegra_car TEGRA210_CLK_CSI_TPG>;
350+
assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_P>,
351+
<&tegra_car TEGRA210_CLK_PLL_P>,
352+
<&tegra_car TEGRA210_CLK_PLL_P>;
353+
assigned-clock-rates = <102000000>,
354+
<102000000>,
355+
<102000000>,
356+
<972000000>;
357+
358+
clocks = <&tegra_car TEGRA210_CLK_CSI>,
359+
<&tegra_car TEGRA210_CLK_CILAB>,
360+
<&tegra_car TEGRA210_CLK_CILCD>,
361+
<&tegra_car TEGRA210_CLK_CILE>,
362+
<&tegra_car TEGRA210_CLK_CSI_TPG>;
363+
clock-names = "csi", "cilab", "cilcd", "cile", "csi_tpg";
364+
power-domains = <&pd_sor>;
365+
};
319366
};
320367

321368
epp {

0 commit comments

Comments
 (0)