projects/linux·commit 384d11fa

Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

384d11fa · Linus Torvalds <[email protected]> · 2019-03-06 09:41:12 -08:00

Pull ARM SoC driver updates from Arnd Bergmann:
 "As usual, the drivers/tee and drivers/reset subsystems get merged
  here, with the expected set of smaller updates and some new hardware
  support. The tee subsystem now supports device drivers to be attached
  to a tee, the first example here is a random number driver with its
  implementation in the secure world.

  Three new power domain drivers get added for specific chip families:
   - Broadcom BCM283x chips (used in Raspberry Pi)
   - Qualcomm Snapdragon phone chips
   - Xilinx ZynqMP FPGA SoCs

  One new driver is added to talk to the BPMP firmware on NVIDIA
  Tegra210

  Existing drivers are extended for new SoC variants from NXP, NVIDIA,
  Amlogic and Qualcomm"

* tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (113 commits)
  tee: optee: update optee_msg.h and optee_smc.h to dual license
  tee: add cancellation support to client interface
  dpaa2-eth: configure the cache stashing amount on a queue
  soc: fsl: dpio: configure cache stashing destination
  soc: fsl: dpio: enable frame data cache stashing per software portal
  soc: fsl: guts: make fsl_guts_get_svr() static
  hwrng: make symbol 'optee_rng_id_table' static
  tee: optee: Fix unsigned comparison with less than zero
  hwrng: Fix unsigned comparison with less than zero
  tee: fix possible error pointer ctx dereferencing
  hwrng: optee: Initialize some structs using memset instead of braces
  tee: optee: Initialize some structs using memset instead of braces
  soc: fsl: dpio: fix memory leak of a struct qbman on error exit path
  clk: tegra: dfll: Make symbol 'tegra210_cpu_cvb_tables' static
  soc: qcom: llcc-slice: Fix typos
  qcom: soc: llcc-slice: Consolidate some code
  qcom: soc: llcc-slice: Clear the global drv_data pointer on error
  drivers: soc: xilinx: Add ZynqMP power domain driver
  firmware: xilinx: Add APIs to control node status/power
  dt-bindings: power: Add ZynqMP power domain bindings
  ...
Commit
384d11fa0e2ca15a3e7e52db34a4e43bedf0dc70
Parents
6ad63dec · 8ceb820b

Merge commit. Changes below are compared with the first parent: 6ad63dec.

Changes

126 files changed · +7122 −744

FileStatusAddDelContent
Documentation/devicetree/bindings/arm/freescale/fsl,scu.txtmodified+6−2View file
Documentation/devicetree/bindings/bus/imx-weim.txtmodified+29−3View file
Documentation/devicetree/bindings/nvmem/xlnx,zynqmp-nvmem.txtadded+46−0View file
Documentation/devicetree/bindings/opp/opp.txtmodified+3−0View file
Documentation/devicetree/bindings/power/fsl,imx-gpcv2.txtmodified+3−0View file
Documentation/devicetree/bindings/power/qcom,rpmpd.txtadded+145−0View file
Documentation/devicetree/bindings/power/reset/xlnx,zynqmp-power.txtadded+25−0View file
Documentation/devicetree/bindings/power/xlnx,zynqmp-genpd.txtadded+34−0View file
Documentation/devicetree/bindings/reset/brcm,brcmstb-reset.txtadded+27−0View file
Documentation/devicetree/bindings/reset/fsl,imx7-src.txtmodified+5−2View file
Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.txtadded+52−0View file
Documentation/devicetree/bindings/soc/amlogic/clk-measure.txtmodified+2−0View file
Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.txtadded+46−0View file
Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txtmodified+1−0View file
MAINTAINERSmodified+31−7View file
arch/arm/boot/dts/bcm2835-rpi.dtsimodified+0−4View file
arch/arm/boot/dts/bcm283x.dtsimodified+14−3View file
arch/arm/mach-bcm/Kconfigmodified+1−0View file
arch/arm/mach-socfpga/socfpga.cmodified+1−2View file
arch/arm/mach-sunxi/sunxi.cmodified+1−1View file
drivers/bus/hisi_lpc.cmodified+2−3View file
drivers/bus/imx-weim.cmodified+57−13View file
drivers/char/hw_random/Kconfigmodified+15−0View file
drivers/char/hw_random/Makefilemodified+1−0View file
drivers/char/hw_random/optee-rng.cadded+306−0View file
drivers/clk/tegra/Kconfigmodified+5−0View file
drivers/clk/tegra/Makefilemodified+1−1View file
drivers/clk/tegra/clk-dfll.cmodified+387−72View file
drivers/clk/tegra/clk-dfll.hmodified+5−1View file
drivers/clk/tegra/clk-tegra124-dfll-fcpu.cmodified+504−16View file
drivers/clk/tegra/cvb.cmodified+7−5View file
drivers/clk/tegra/cvb.hmodified+4−3View file
drivers/cpufreq/Kconfig.armmodified+2−2View file
drivers/cpufreq/cpufreq-dt-platdev.cmodified+1−0View file
drivers/cpufreq/tegra124-cpufreq.cmodified+4−40View file
drivers/firmware/imx/misc.cmodified+38−0View file
drivers/firmware/imx/scu-pd.cmodified+1−0View file
drivers/firmware/raspberrypi.cmodified+11−0View file
drivers/firmware/tegra/Makefilemodified+3−0View file
drivers/firmware/tegra/bpmp-private.hadded+34−0View file
drivers/firmware/tegra/bpmp-tegra186.cadded+305−0View file
drivers/firmware/tegra/bpmp-tegra210.cadded+243−0View file
drivers/firmware/tegra/bpmp.cmodified+150−226View file
drivers/firmware/ti_sci.cmodified+2−19View file
drivers/firmware/xilinx/Kconfigmodified+1−0View file
drivers/firmware/xilinx/zynqmp.cmodified+166−0View file
drivers/mfd/Makefilemodified+1−0View file
drivers/mfd/bcm2835-pm.cadded+92−0View file
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.cmodified+6−1View file
drivers/nvmem/Kconfigmodified+10−0View file
drivers/nvmem/Makefilemodified+2−0View file
drivers/nvmem/zynqmp_nvmem.cadded+86−0View file
drivers/opp/core.cmodified+18−0View file
drivers/opp/of.cmodified+2−0View file
drivers/opp/opp.hmodified+2−0View file
drivers/reset/Kconfigmodified+10−2View file
drivers/reset/Makefilemodified+2−0View file
drivers/reset/reset-brcmstb.cadded+132−0View file
drivers/reset/reset-imx7.cmodified+158−14View file
drivers/reset/reset-socfpga.cmodified+1−1View file
drivers/reset/reset-sunxi.cmodified+1−0View file
drivers/reset/reset-zynqmp.cadded+114−0View file
drivers/soc/amlogic/meson-canvas.cmodified+16−2View file
drivers/soc/amlogic/meson-clk-measure.cmodified+196−0View file
drivers/soc/bcm/Kconfigmodified+12−0View file
drivers/soc/bcm/Makefilemodified+1−0View file
drivers/soc/bcm/bcm2835-power.cadded+661−0View file
drivers/soc/fsl/Kconfigmodified+1−0View file
drivers/soc/fsl/dpio/dpio-cmd.hmodified+5−0View file
drivers/soc/fsl/dpio/dpio-driver.cmodified+53−1View file
drivers/soc/fsl/dpio/dpio-service.cmodified+3−2View file
drivers/soc/fsl/dpio/dpio.cmodified+16−0View file
drivers/soc/fsl/dpio/dpio.hmodified+5−0View file
drivers/soc/fsl/dpio/qbman-portal.cmodified+3−2View file
drivers/soc/fsl/guts.cmodified+5−5View file
drivers/soc/imx/Kconfigmodified+1−1View file
drivers/soc/imx/gpcv2.cmodified+74−2View file
drivers/soc/qcom/Kconfigmodified+18−0View file
drivers/soc/qcom/Makefilemodified+2−0View file
drivers/soc/qcom/llcc-sdm845.cmodified+6−0View file
drivers/soc/qcom/llcc-slice.cmodified+68−33View file
drivers/soc/qcom/qcom_gsbi.cmodified+5−2View file
drivers/soc/qcom/rmtfs_mem.cmodified+24−8View file
drivers/soc/qcom/rpmh.cmodified+22−15View file
drivers/soc/qcom/rpmhpd.cadded+406−0View file
drivers/soc/qcom/rpmpd.cadded+315−0View file
drivers/soc/qcom/smd-rpm.cmodified+1−0View file
drivers/soc/tegra/fuse/fuse-tegra.cmodified+9−3View file
drivers/soc/tegra/fuse/speedo-tegra210.cmodified+1−1View file
drivers/soc/tegra/pmc.cmodified+288−136View file
drivers/soc/ti/knav_dma.cmodified+1−1View file
drivers/soc/xilinx/Kconfigmodified+20−0View file
drivers/soc/xilinx/Makefilemodified+2−0View file
drivers/soc/xilinx/zynqmp_pm_domains.cadded+321−0View file
drivers/soc/xilinx/zynqmp_power.cadded+178−0View file
drivers/tee/optee/Makefilemodified+1−0View file
drivers/tee/optee/core.cmodified+4−0View file
drivers/tee/optee/device.cadded+160−0View file
drivers/tee/optee/optee_msg.hmodified+2−24View file
drivers/tee/optee/optee_private.hmodified+3−0View file
drivers/tee/optee/optee_smc.hmodified+2−24View file
drivers/tee/optee/supp.cmodified+9−1View file
drivers/tee/tee_core.cmodified+74−4View file
drivers/watchdog/bcm2835_wdt.cmodified+9−17View file
include/dt-bindings/power/qcom-rpmpd.hadded+39−0View file
include/dt-bindings/power/xlnx-zynqmp-power.hadded+39−0View file
include/dt-bindings/reset/amlogic,meson-g12a-reset.hadded+134−0View file
include/dt-bindings/reset/imx8mq-reset.hadded+64−0View file
include/dt-bindings/reset/xlnx-zynqmp-resets.hadded+130−0View file
include/dt-bindings/soc/bcm2835-pm.hadded+28−0View file
include/linux/firmware/imx/svc/misc.hmodified+3−0View file
include/linux/firmware/xlnx-zynqmp.hmodified+184−0View file
include/linux/fsl/guts.hmodified+0−2View file
include/linux/mfd/bcm2835-pm.hadded+14−0View file
include/linux/mod_devicetable.hmodified+9−0View file
include/linux/pm_opp.hmodified+7−0View file
include/linux/reset/socfpga.hadded+7−0View file
include/linux/reset/sunxi.hadded+7−0View file
include/linux/soc/qcom/llcc-qcom.hmodified+6−0View file
include/linux/tee_drv.hmodified+49−1View file
include/soc/bcm2835/raspberrypi-firmware.hmodified+4−0View file
include/soc/fsl/dpaa2-io.hmodified+2−2View file
include/soc/tegra/bpmp.hmodified+7−6View file
include/soc/tegra/pmc.hmodified+0−6View file
scripts/mod/devicetable-offsets.cmodified+3−0View file
scripts/mod/file2alias.cmodified+19−0View file

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt

View file
diff --git a/Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt b/Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt
index cef5ee8..72d481c 100644
--- a/Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt
+++ b/Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt
@@ -58,7 +58,11 @@ This binding for the SCU power domain providers uses the generic power
domain binding[2].
Required properties:
-- compatible: Should be "fsl,imx8qxp-scu-pd".
+- compatible: Should be one of:
+ "fsl,imx8qm-scu-pd",
+ "fsl,imx8qxp-scu-pd"
+ followed by "fsl,scu-pd"
+
- #power-domain-cells: Must be 1. Contains the Resource ID used by
SCU commands.
See detailed Resource ID list from:
@@ -157,7 +161,7 @@ firmware {
};
pd: imx8qx-pd {
- compatible = "fsl,imx8qxp-scu-pd";
+ compatible = "fsl,imx8qxp-scu-pd", "fsl,scu-pd";
#power-domain-cells = <1>;
};

Documentation/devicetree/bindings/bus/imx-weim.txt

View file
diff --git a/Documentation/devicetree/bindings/bus/imx-weim.txt b/Documentation/devicetree/bindings/bus/imx-weim.txt
index 683eaf3..dda7d6d 100644
--- a/Documentation/devicetree/bindings/bus/imx-weim.txt
+++ b/Documentation/devicetree/bindings/bus/imx-weim.txt
@@ -47,9 +47,9 @@ Optional properties:
Timing property for child nodes. It is mandatory, not optional.
- fsl,weim-cs-timing: The timing array, contains timing values for the
- child node. We can get the CS index from the child
- node's "reg" property. The number of registers depends
- on the selected chip.
+ child node. We get the CS indexes from the address
+ ranges in the child node's "reg" property.
+ The number of registers depends on the selected chip:
For i.MX1, i.MX21 ("fsl,imx1-weim") there are two
registers: CSxU, CSxL.
For i.MX25, i.MX27, i.MX31 and i.MX35 ("fsl,imx27-weim")
@@ -80,3 +80,29 @@ Example for an imx6q-sabreauto board, the NOR flash connected to the WEIM:
0x0000c000 0x1404a38e 0x00000000>;
};
};
+
+Example for an imx6q-based board, a multi-chipselect device connected to WEIM:
+
+In this case, both chip select 0 and 1 will be configured with the same timing
+array values.
+
+ weim: weim@21b8000 {
+ compatible = "fsl,imx6q-weim";
+ reg = <0x021b8000 0x4000>;
+ clocks = <&clks 196>;
+ #address-cells = <2>;
+ #size-cells = <1>;
+ ranges = <0 0 0x08000000 0x02000000
+ 1 0 0x0a000000 0x02000000
+ 2 0 0x0c000000 0x02000000
+ 3 0 0x0e000000 0x02000000>;
+ fsl,weim-cs-gpr = <&gpr>;
+
+ acme@0 {
+ compatible = "acme,whatever";
+ reg = <0 0 0x100>, <0 0x400000 0x800>,
+ <1 0x400000 0x800>;
+ fsl,weim-cs-timing = <0x024400b1 0x00001010 0x20081100
+ 0x00000000 0xa0000240 0x00000000>;
+ };
+ };

Documentation/devicetree/bindings/nvmem/xlnx,zynqmp-nvmem.txt

View file
diff --git a/Documentation/devicetree/bindings/nvmem/xlnx,zynqmp-nvmem.txt b/Documentation/devicetree/bindings/nvmem/xlnx,zynqmp-nvmem.txt
new file mode 100644
index 0000000..4881561
--- /dev/null
+++ b/Documentation/devicetree/bindings/nvmem/xlnx,zynqmp-nvmem.txt
@@ -0,0 +1,46 @@
+--------------------------------------------------------------------------
+= Zynq UltraScale+ MPSoC nvmem firmware driver binding =
+--------------------------------------------------------------------------
+The nvmem_firmware node provides access to the hardware related data
+like soc revision, IDCODE... etc, By using the firmware interface.
+
+Required properties:
+- compatible: should be "xlnx,zynqmp-nvmem-fw"
+
+= Data cells =
+Are child nodes of silicon id, bindings of which as described in
+bindings/nvmem/nvmem.txt
+
+-------
+ Example
+-------
+firmware {
+ zynqmp_firmware: zynqmp-firmware {
+ compatible = "xlnx,zynqmp-firmware";
+ method = "smc";
+
+ nvmem_firmware {
+ compatible = "xlnx,zynqmp-nvmem-fw";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ /* Data cells */
+ soc_revision: soc_revision {
+ reg = <0x0 0x4>;
+ };
+ };
+ };
+};
+
+= Data consumers =
+Are device nodes which consume nvmem data cells.
+
+For example:
+ pcap {
+ ...
+
+ nvmem-cells = <&soc_revision>;
+ nvmem-cell-names = "soc_revision";
+
+ ...
+ };

Documentation/devicetree/bindings/opp/opp.txt

View file
diff --git a/Documentation/devicetree/bindings/opp/opp.txt b/Documentation/devicetree/bindings/opp/opp.txt
index c396c4c..76b6c79 100644
--- a/Documentation/devicetree/bindings/opp/opp.txt
+++ b/Documentation/devicetree/bindings/opp/opp.txt
@@ -129,6 +129,9 @@ Optional properties:
- opp-microamp-<name>: Named opp-microamp property. Similar to
opp-microvolt-<name> property, but for microamp instead.
+- opp-level: A value representing the performance level of the device,
+ expressed as a 32-bit integer.
+
- clock-latency-ns: Specifies the maximum possible transition latency (in
nanoseconds) for switching to this OPP from any other OPP.

Documentation/devicetree/bindings/power/fsl,imx-gpcv2.txt

View file
diff --git a/Documentation/devicetree/bindings/power/fsl,imx-gpcv2.txt b/Documentation/devicetree/bindings/power/fsl,imx-gpcv2.txt
index 7c947a9..7c7e972 100644
--- a/Documentation/devicetree/bindings/power/fsl,imx-gpcv2.txt
+++ b/Documentation/devicetree/bindings/power/fsl,imx-gpcv2.txt
@@ -32,6 +32,9 @@ Required properties:
Optional properties:
- power-supply: Power supply used to power the domain
+- clocks: a number of phandles to clocks that need to be enabled during
+ domain power-up sequencing to ensure reset propagation into devices
+ located inside this power domain
Example:

Documentation/devicetree/bindings/power/qcom,rpmpd.txt

View file
diff --git a/Documentation/devicetree/bindings/power/qcom,rpmpd.txt b/Documentation/devicetree/bindings/power/qcom,rpmpd.txt
new file mode 100644
index 0000000..980e541
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/qcom,rpmpd.txt
@@ -0,0 +1,145 @@
+Qualcomm RPM/RPMh Power domains
+
+For RPM/RPMh Power domains, we communicate a performance state to RPM/RPMh
+which then translates it into a corresponding voltage on a rail
+
+Required Properties:
+ - compatible: Should be one of the following
+ * qcom,msm8996-rpmpd: RPM Power domain for the msm8996 family of SoC
+ * qcom,sdm845-rpmhpd: RPMh Power domain for the sdm845 family of SoC
+ - #power-domain-cells: number of cells in Power domain specifier
+ must be 1.
+ - operating-points-v2: Phandle to the OPP table for the Power domain.
+ Refer to Documentation/devicetree/bindings/power/power_domain.txt
+ and Documentation/devicetree/bindings/opp/opp.txt for more details
+
+Refer to <dt-bindings/power/qcom-rpmpd.h> for the level values for
+various OPPs for different platforms as well as Power domain indexes
+
+Example: rpmh power domain controller and OPP table
+
+#include <dt-bindings/power/qcom-rpmhpd.h>
+
+opp-level values specified in the OPP tables for RPMh power domains
+should use the RPMH_REGULATOR_LEVEL_* constants from
+<dt-bindings/power/qcom-rpmhpd.h>
+
+ rpmhpd: power-controller {
+ compatible = "qcom,sdm845-rpmhpd";
+ #power-domain-cells = <1>;
+ operating-points-v2 = <&rpmhpd_opp_table>;
+
+ rpmhpd_opp_table: opp-table {
+ compatible = "operating-points-v2";
+
+ rpmhpd_opp_ret: opp1 {
+ opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
+ };
+
+ rpmhpd_opp_min_svs: opp2 {
+ opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
+ };
+
+ rpmhpd_opp_low_svs: opp3 {
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
+ };
+
+ rpmhpd_opp_svs: opp4 {
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
+ };
+
+ rpmhpd_opp_svs_l1: opp5 {
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
+ };
+
+ rpmhpd_opp_nom: opp6 {
+ opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
+ };
+
+ rpmhpd_opp_nom_l1: opp7 {
+ opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
+ };
+
+ rpmhpd_opp_nom_l2: opp8 {
+ opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
+ };
+
+ rpmhpd_opp_turbo: opp9 {
+ opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
+ };
+
+ rpmhpd_opp_turbo_l1: opp10 {
+ opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
+ };
+ };
+ };
+
+Example: rpm power domain controller and OPP table
+
+ rpmpd: power-controller {
+ compatible = "qcom,msm8996-rpmpd";
+ #power-domain-cells = <1>;
+ operating-points-v2 = <&rpmpd_opp_table>;
+
+ rpmpd_opp_table: opp-table {
+ compatible = "operating-points-v2";
+
+ rpmpd_opp_low: opp1 {
+ opp-level = <1>;
+ };
+
+ rpmpd_opp_ret: opp2 {
+ opp-level = <2>;
+ };
+
+ rpmpd_opp_svs: opp3 {
+ opp-level = <3>;
+ };
+
+ rpmpd_opp_normal: opp4 {
+ opp-level = <4>;
+ };
+
+ rpmpd_opp_high: opp5 {
+ opp-level = <5>;
+ };
+
+ rpmpd_opp_turbo: opp6 {
+ opp-level = <6>;
+ };
+ };
+ };
+
+Example: Client/Consumer device using OPP table
+
+ leaky-device0@12350000 {
+ compatible = "foo,i-leak-current";
+ reg = <0x12350000 0x1000>;
+ power-domains = <&rpmhpd SDM845_MX>;
+ operating-points-v2 = <&leaky_opp_table>;
+ };
+
+
+ leaky_opp_table: opp-table {
+ compatible = "operating-points-v2";
+
+ opp1 {
+ opp-hz = /bits/ 64 <144000>;
+ required-opps = <&rpmhpd_opp_low>;
+ };
+
+ opp2 {
+ opp-hz = /bits/ 64 <400000>;
+ required-opps = <&rpmhpd_opp_ret>;
+ };
+
+ opp3 {
+ opp-hz = /bits/ 64 <20000000>;
+ required-opps = <&rpmpd_opp_svs>;
+ };
+
+ opp4 {
+ opp-hz = /bits/ 64 <25000000>;
+ required-opps = <&rpmpd_opp_normal>;
+ };
+ };

Documentation/devicetree/bindings/power/reset/xlnx,zynqmp-power.txt

View file
diff --git a/Documentation/devicetree/bindings/power/reset/xlnx,zynqmp-power.txt b/Documentation/devicetree/bindings/power/reset/xlnx,zynqmp-power.txt
new file mode 100644
index 0000000..d366f1e
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/reset/xlnx,zynqmp-power.txt
@@ -0,0 +1,25 @@
+--------------------------------------------------------------------
+Device Tree Bindings for the Xilinx Zynq MPSoC Power Management
+--------------------------------------------------------------------
+The zynqmp-power node describes the power management configurations.
+It will control remote suspend/shutdown interfaces.
+
+Required properties:
+ - compatible: Must contain: "xlnx,zynqmp-power"
+ - interrupts: Interrupt specifier
+
+-------
+Example
+-------
+
+firmware {
+ zynqmp_firmware: zynqmp-firmware {
+ compatible = "xlnx,zynqmp-firmware";
+ method = "smc";
+
+ zynqmp_power: zynqmp-power {
+ compatible = "xlnx,zynqmp-power";
+ interrupts = <0 35 4>;
+ };
+ };
+};

Documentation/devicetree/bindings/power/xlnx,zynqmp-genpd.txt

View file
diff --git a/Documentation/devicetree/bindings/power/xlnx,zynqmp-genpd.txt b/Documentation/devicetree/bindings/power/xlnx,zynqmp-genpd.txt
new file mode 100644
index 0000000..8d1b820
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/xlnx,zynqmp-genpd.txt
@@ -0,0 +1,34 @@
+-----------------------------------------------------------
+Device Tree Bindings for the Xilinx Zynq MPSoC PM domains
+-----------------------------------------------------------
+The binding for zynqmp-power-controller follow the common
+generic PM domain binding[1].
+
+[1] Documentation/devicetree/bindings/power/power_domain.txt
+
+== Zynq MPSoC Generic PM Domain Node ==
+
+Required property:
+ - Below property should be in zynqmp-firmware node.
+ - #power-domain-cells: Number of cells in a PM domain specifier. Must be 1.
+
+Power domain ID indexes are mentioned in
+include/dt-bindings/power/xlnx-zynqmp-power.h.
+
+-------
+Example
+-------
+
+firmware {
+ zynqmp_firmware: zynqmp-firmware {
+ ...
+ #power-domain-cells = <1>;
+ ...
+ };
+};
+
+sata {
+ ...
+ power-domains = <&zynqmp_firmware 28>;
+ ...
+};

Documentation/devicetree/bindings/reset/brcm,brcmstb-reset.txt

View file
diff --git a/Documentation/devicetree/bindings/reset/brcm,brcmstb-reset.txt b/Documentation/devicetree/bindings/reset/brcm,brcmstb-reset.txt
new file mode 100644
index 0000000..6e5341b
--- /dev/null
+++ b/Documentation/devicetree/bindings/reset/brcm,brcmstb-reset.txt
@@ -0,0 +1,27 @@
+Broadcom STB SW_INIT-style reset controller
+===========================================
+
+Broadcom STB SoCs have a SW_INIT-style reset controller with separate
+SET/CLEAR/STATUS registers and possibly multiple banks, each of 32 bit
+reset lines.
+
+Please also refer to reset.txt in this directory for common reset
+controller binding usage.
+
+Required properties:
+- compatible: should be brcm,brcmstb-reset
+- reg: register base and length
+- #reset-cells: must be set to 1
+
+Example:
+
+ reset: reset-controller@8404318 {
+ compatible = "brcm,brcmstb-reset";
+ reg = <0x8404318 0x30>;
+ #reset-cells = <1>;
+ };
+
+ &ethernet_switch {
+ resets = <&reset>;
+ reset-names = "switch";
+ };

Documentation/devicetree/bindings/reset/fsl,imx7-src.txt

View file
diff --git a/Documentation/devicetree/bindings/reset/fsl,imx7-src.txt b/Documentation/devicetree/bindings/reset/fsl,imx7-src.txt
index 1ab1d10..2ecf338 100644
--- a/Documentation/devicetree/bindings/reset/fsl,imx7-src.txt
+++ b/Documentation/devicetree/bindings/reset/fsl,imx7-src.txt
@@ -5,7 +5,9 @@ Please also refer to reset.txt in this directory for common reset
controller binding usage.
Required properties:
-- compatible: Should be "fsl,imx7d-src", "syscon"
+- compatible:
+ - For i.MX7 SoCs should be "fsl,imx7d-src", "syscon"
+ - For i.MX8MQ SoCs should be "fsl,imx8mq-src", "syscon"
- reg: should be register base and length as documented in the
datasheet
- interrupts: Should contain SRC interrupt
@@ -44,4 +46,5 @@ Example:
For list of all valid reset indicies see
-<dt-bindings/reset/imx7-reset.h>
+<dt-bindings/reset/imx7-reset.h> for i.MX7 and
+<dt-bindings/reset/imx8mq-reset.h> for i.MX8MQ

Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.txt

View file
diff --git a/Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.txt b/Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.txt
new file mode 100644
index 0000000..27a45fe
--- /dev/null
+++ b/Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.txt
@@ -0,0 +1,52 @@
+--------------------------------------------------------------------------
+ = Zynq UltraScale+ MPSoC reset driver binding =
+--------------------------------------------------------------------------
+The Zynq UltraScale+ MPSoC has several different resets.
+
+See Chapter 36 of the Zynq UltraScale+ MPSoC TRM (UG) for more information
+about zynqmp resets.
+
+Please also refer to reset.txt in this directory for common reset
+controller binding usage.
+
+Required Properties:
+- compatible: "xlnx,zynqmp-reset"
+- #reset-cells: Specifies the number of cells needed to encode reset
+ line, should be 1
+
+-------
+Example
+-------
+
+firmware {
+ zynqmp_firmware: zynqmp-firmware {
+ compatible = "xlnx,zynqmp-firmware";
+ method = "smc";
+
+ zynqmp_reset: reset-controller {
+ compatible = "xlnx,zynqmp-reset";
+ #reset-cells = <1>;
+ };
+ };
+};
+
+Specifying reset lines connected to IP modules
+==============================================
+
+Device nodes that need access to reset lines should
+specify them as a reset phandle in their corresponding node as
+specified in reset.txt.
+
+For list of all valid reset indicies see
+<dt-bindings/reset/xlnx-zynqmp-resets.h>
+
+Example:
+
+serdes: zynqmp_phy@fd400000 {
+ ...
+
+ resets = <&zynqmp_reset ZYNQMP_RESET_SATA>;
+ reset-names = "sata_rst";
+
+ ...
+};

Documentation/devicetree/bindings/soc/amlogic/clk-measure.txt

View file
diff --git a/Documentation/devicetree/bindings/soc/amlogic/clk-measure.txt b/Documentation/devicetree/bindings/soc/amlogic/clk-measure.txt
index 205a54b..6bf6b43 100644
--- a/Documentation/devicetree/bindings/soc/amlogic/clk-measure.txt
+++ b/Documentation/devicetree/bindings/soc/amlogic/clk-measure.txt
@@ -9,6 +9,8 @@ Required properties:
"amlogic,meson-gx-clk-measure" for GX SoCs
"amlogic,meson8-clk-measure" for Meson8 SoCs
"amlogic,meson8b-clk-measure" for Meson8b SoCs
+ "amlogic,meson-axg-clk-measure" for AXG SoCs
+ "amlogic,meson-g12a-clk-measure" for G12a SoCs
- reg: base address and size of the Clock Measurer register space.
Example:

Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.txt

View file
diff --git a/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.txt b/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.txt
new file mode 100644
index 0000000..3b7d329
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/bcm/brcm,bcm2835-pm.txt
@@ -0,0 +1,46 @@
+BCM2835 PM (Power domains, watchdog)
+
+The PM block controls power domains and some reset lines, and includes
+a watchdog timer. This binding supersedes the brcm,bcm2835-pm-wdt
+binding which covered some of PM's register range and functionality.
+
+Required properties:
+
+- compatible: Should be "brcm,bcm2835-pm"
+- reg: Specifies base physical address and size of the two
+ register ranges ("PM" and "ASYNC_BRIDGE" in that
+ order)
+- clocks: a) v3d: The V3D clock from CPRMAN
+ b) peri_image: The PERI_IMAGE clock from CPRMAN
+ c) h264: The H264 clock from CPRMAN
+ d) isp: The ISP clock from CPRMAN
+- #reset-cells: Should be 1. This property follows the reset controller
+ bindings[1].
+- #power-domain-cells: Should be 1. This property follows the power domain
+ bindings[2].
+
+Optional properties:
+
+- timeout-sec: Contains the watchdog timeout in seconds
+- system-power-controller: Whether the watchdog is controlling the
+ system power. This node follows the power controller bindings[3].
+
+[1] Documentation/devicetree/bindings/reset/reset.txt
+[2] Documentation/devicetree/bindings/power/power_domain.txt
+[3] Documentation/devicetree/bindings/power/power-controller.txt
+
+Example:
+
+pm {
+ compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt";
+ #power-domain-cells = <1>;
+ #reset-cells = <1>;
+ reg = <0x7e100000 0x114>,
+ <0x7e00a000 0x24>;
+ clocks = <&clocks BCM2835_CLOCK_V3D>,
+ <&clocks BCM2835_CLOCK_PERI_IMAGE>,
+ <&clocks BCM2835_CLOCK_H264>,
+ <&clocks BCM2835_CLOCK_ISP>;
+ clock-names = "v3d", "peri_image", "h264", "isp";
+ system-power-controller;
+};

Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt

View file
diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt
index ec95705..f3fa313 100644
--- a/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt
+++ b/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt
@@ -23,6 +23,7 @@ resources.
"qcom,rpm-msm8916"
"qcom,rpm-msm8974"
"qcom,rpm-msm8998"
+ "qcom,rpm-sdm660"
"qcom,rpm-qcs404"
- qcom,smd-channels:

MAINTAINERS

View file
diff --git a/MAINTAINERS b/MAINTAINERS
index 49f7d49..d5a4b63 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1940,19 +1940,37 @@ M: David Brown <[email protected]>
S: Maintained
F: Documentation/devicetree/bindings/soc/qcom/
+F: Documentation/devicetree/bindings/*/qcom*
F: arch/arm/boot/dts/qcom-*.dts
F: arch/arm/boot/dts/qcom-*.dtsi
F: arch/arm/mach-qcom/
-F: arch/arm64/boot/dts/qcom/*
+F: arch/arm64/boot/dts/qcom/
+F: drivers/*/qcom/
+F: drivers/*/qcom*
+F: drivers/*/*/qcom/
+F: drivers/*/*/qcom*
+F: drivers/*/pm8???-*
+F: drivers/bluetooth/btqcomsmd.c
+F: drivers/clocksource/timer-qcom.c
+F: drivers/extcon/extcon-qcom*
+F: drivers/iommu/msm*
F: drivers/i2c/busses/i2c-qup.c
-F: drivers/clk/qcom/
-F: drivers/dma/qcom/
-F: drivers/soc/qcom/
+F: drivers/i2c/busses/i2c-qcom-geni.c
+F: drivers/mfd/ssbi.c
+F: drivers/mmc/host/mmci_qcom*
+F: drivers/mmc/host/sdhci_msm.c
+F: drivers/pci/controller/dwc/pcie-qcom.c
+F: drivers/phy/qualcomm/
+F: drivers/power/*/msm*
+F: drivers/reset/reset-qcom-*

This diff is incomplete. Download the complete patch.

arch/arm/boot/dts/bcm2835-rpi.dtsi

View file

This diff is incomplete. Download the complete patch.

arch/arm/boot/dts/bcm283x.dtsi

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-bcm/Kconfig

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-socfpga/socfpga.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-sunxi/sunxi.c

View file

This diff is incomplete. Download the complete patch.

drivers/bus/hisi_lpc.c

View file

This diff is incomplete. Download the complete patch.

drivers/bus/imx-weim.c

View file

This diff is incomplete. Download the complete patch.

drivers/char/hw_random/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/char/hw_random/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/char/hw_random/optee-rng.c

View file

This diff is incomplete. Download the complete patch.

drivers/clk/tegra/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/clk/tegra/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/clk/tegra/clk-dfll.c

View file

This diff is incomplete. Download the complete patch.

drivers/clk/tegra/clk-dfll.h

View file

This diff is incomplete. Download the complete patch.

drivers/clk/tegra/clk-tegra124-dfll-fcpu.c

View file

This diff is incomplete. Download the complete patch.

drivers/clk/tegra/cvb.c

View file

This diff is incomplete. Download the complete patch.

drivers/clk/tegra/cvb.h

View file

This diff is incomplete. Download the complete patch.

drivers/cpufreq/Kconfig.arm

View file

This diff is incomplete. Download the complete patch.

drivers/cpufreq/cpufreq-dt-platdev.c

View file

This diff is incomplete. Download the complete patch.

drivers/cpufreq/tegra124-cpufreq.c

View file

This diff is incomplete. Download the complete patch.

drivers/firmware/imx/misc.c

View file

This diff is incomplete. Download the complete patch.

drivers/firmware/imx/scu-pd.c

View file

This diff is incomplete. Download the complete patch.

drivers/firmware/raspberrypi.c

View file

This diff is incomplete. Download the complete patch.

drivers/firmware/tegra/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/firmware/tegra/bpmp-private.h

View file

This diff is incomplete. Download the complete patch.

drivers/firmware/tegra/bpmp-tegra186.c

View file

This diff is incomplete. Download the complete patch.

drivers/firmware/tegra/bpmp-tegra210.c

View file

This diff is incomplete. Download the complete patch.

drivers/firmware/tegra/bpmp.c

View file

This diff is incomplete. Download the complete patch.

drivers/firmware/ti_sci.c

View file

This diff is incomplete. Download the complete patch.

drivers/firmware/xilinx/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/firmware/xilinx/zynqmp.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/bcm2835-pm.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c

View file

This diff is incomplete. Download the complete patch.

drivers/nvmem/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/nvmem/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/nvmem/zynqmp_nvmem.c

View file

This diff is incomplete. Download the complete patch.

drivers/opp/core.c

View file

This diff is incomplete. Download the complete patch.

drivers/opp/of.c

View file

This diff is incomplete. Download the complete patch.

drivers/opp/opp.h

View file

This diff is incomplete. Download the complete patch.

drivers/reset/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/reset/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/reset/reset-brcmstb.c

View file

This diff is incomplete. Download the complete patch.

drivers/reset/reset-imx7.c

View file

This diff is incomplete. Download the complete patch.

drivers/reset/reset-socfpga.c

View file

This diff is incomplete. Download the complete patch.

drivers/reset/reset-sunxi.c

View file

This diff is incomplete. Download the complete patch.

drivers/reset/reset-zynqmp.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/amlogic/meson-canvas.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/amlogic/meson-clk-measure.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/bcm/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/soc/bcm/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/soc/bcm/bcm2835-power.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/fsl/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/soc/fsl/dpio/dpio-cmd.h

View file

This diff is incomplete. Download the complete patch.

drivers/soc/fsl/dpio/dpio-driver.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/fsl/dpio/dpio-service.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/fsl/dpio/dpio.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/fsl/dpio/dpio.h

View file

This diff is incomplete. Download the complete patch.

drivers/soc/fsl/dpio/qbman-portal.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/fsl/guts.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/imx/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/soc/imx/gpcv2.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/qcom/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/soc/qcom/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/soc/qcom/llcc-sdm845.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/qcom/llcc-slice.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/qcom/qcom_gsbi.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/qcom/rmtfs_mem.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/qcom/rpmh.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/qcom/rpmhpd.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/qcom/rpmpd.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/qcom/smd-rpm.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/tegra/fuse/fuse-tegra.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/tegra/fuse/speedo-tegra210.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/tegra/pmc.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/ti/knav_dma.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/xilinx/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/soc/xilinx/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/soc/xilinx/zynqmp_pm_domains.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/xilinx/zynqmp_power.c

View file

This diff is incomplete. Download the complete patch.

drivers/tee/optee/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/tee/optee/core.c

View file

This diff is incomplete. Download the complete patch.

drivers/tee/optee/device.c

View file

This diff is incomplete. Download the complete patch.

drivers/tee/optee/optee_msg.h

View file

This diff is incomplete. Download the complete patch.

drivers/tee/optee/optee_private.h

View file

This diff is incomplete. Download the complete patch.

drivers/tee/optee/optee_smc.h

View file

This diff is incomplete. Download the complete patch.

drivers/tee/optee/supp.c

View file

This diff is incomplete. Download the complete patch.

drivers/tee/tee_core.c

View file

This diff is incomplete. Download the complete patch.

drivers/watchdog/bcm2835_wdt.c

View file

This diff is incomplete. Download the complete patch.

include/dt-bindings/power/qcom-rpmpd.h

View file

This diff is incomplete. Download the complete patch.

include/dt-bindings/power/xlnx-zynqmp-power.h

View file

This diff is incomplete. Download the complete patch.

include/dt-bindings/reset/amlogic,meson-g12a-reset.h

View file

This diff is incomplete. Download the complete patch.

include/dt-bindings/reset/imx8mq-reset.h

View file

This diff is incomplete. Download the complete patch.

include/dt-bindings/reset/xlnx-zynqmp-resets.h

View file

This diff is incomplete. Download the complete patch.

include/dt-bindings/soc/bcm2835-pm.h

View file

This diff is incomplete. Download the complete patch.

include/linux/firmware/imx/svc/misc.h

View file

This diff is incomplete. Download the complete patch.

include/linux/firmware/xlnx-zynqmp.h

View file

This diff is incomplete. Download the complete patch.

include/linux/fsl/guts.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mfd/bcm2835-pm.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mod_devicetable.h

View file

This diff is incomplete. Download the complete patch.

include/linux/pm_opp.h

View file

This diff is incomplete. Download the complete patch.

include/linux/reset/socfpga.h

View file

This diff is incomplete. Download the complete patch.

include/linux/reset/sunxi.h

View file

This diff is incomplete. Download the complete patch.

include/linux/soc/qcom/llcc-qcom.h

View file

This diff is incomplete. Download the complete patch.

include/linux/tee_drv.h

View file

This diff is incomplete. Download the complete patch.

include/soc/bcm2835/raspberrypi-firmware.h

View file

This diff is incomplete. Download the complete patch.

include/soc/fsl/dpaa2-io.h

View file

This diff is incomplete. Download the complete patch.

include/soc/tegra/bpmp.h

View file

This diff is incomplete. Download the complete patch.

include/soc/tegra/pmc.h

View file

This diff is incomplete. Download the complete patch.

scripts/mod/devicetable-offsets.c

View file

This diff is incomplete. Download the complete patch.

scripts/mod/file2alias.c

View file

This diff is incomplete. Download the complete patch.