Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e8547112 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull ARM SoC driver updates from Arnd Bergmann:
 "New SoC specific drivers:

   - NVIDIA Tegra PM Domain support for newer SoCs (Tegra186 and later)
     based on the "BPMP" firmware

   - Clocksource and system controller drivers for the newly added
     Action Semi platforms (both arm and arm64).

  Reset subsystem, merged through arm-soc by tradition:

   - New drivers for Altera Stratix10, TI Keystone and Cortina Gemini
     SoCs

   - Various subsystem-wide cleanups

  Updates for existing SoC-specific drivers

   - TI GPMC (General Purpose Memory Controller)

   - Mediatek "scpsys" system controller support for MT6797

   - Broadcom "brcmstb_gisb" bus arbitrer

   - ARM SCPI firmware

   - Renesas "SYSC" system controller

  One more driver update was submitted for the Freescale/NXP DPAA data
  path acceleration that has previously been used on PowerPC chips. I
  ended up postponing the merge until some API questions for its unusual
  MMIO access are resolved"

* tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (35 commits)
  clocksource: owl: Add S900 support
  clocksource: Add Owl timer
  soc: renesas: rcar-sysc: Use GENPD_FLAG_ALWAYS_ON
  firmware: tegra: Fix locking bugs in BPMP
  soc/tegra: flowctrl: Fix error handling
  soc/tegra: bpmp: Implement generic PM domains
  soc/tegra: bpmp: Update ABI header
  PM / Domains: Allow overriding the ->xlate() callback
  soc: brcmstb: enable drivers for ARM64 and BMIPS
  soc: renesas: Rework Kconfig and Makefile logic
  reset: Add the TI SCI reset driver
  dt-bindings: reset: Add TI SCI reset binding
  reset: use kref for reference counting
  soc: qcom: smsm: Improve error handling, quiesce probe deferral
  cpufreq: scpi: use new scpi_ops functions to remove duplicate code
  firmware: arm_scpi: add support to populate OPPs and get transition latency
  dt-bindings: reset: Add reset manager offsets for Stratix10
  memory: omap-gpmc: add error message if bank-width property is absent
  memory: omap-gpmc: make dts snippet include semicolon
  reset: Add a Gemini reset controller
  ...
parents 9ce32ac8 ffe3744a
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -3,7 +3,8 @@ Broadcom GISB bus Arbiter controller
Required properties:

- compatible:
    "brcm,gisb-arb" or "brcm,bcm7445-gisb-arb" for 28nm chips
    "brcm,bcm7278-gisb-arb" for V7 28nm chips
    "brcm,gisb-arb" or "brcm,bcm7445-gisb-arb" for other 28nm chips
    "brcm,bcm7435-gisb-arb" for newer 40nm chips
    "brcm,bcm7400-gisb-arb" for older 40nm chips and all 65nm chips
    "brcm,bcm7038-gisb-arb" for 130nm chips
+62 −0
Original line number Diff line number Diff line
Texas Instruments System Control Interface (TI-SCI) Reset Controller
=====================================================================

Some TI SoCs contain a system controller (like the Power Management Micro
Controller (PMMC) on Keystone 66AK2G SoC) that are responsible for controlling
the state of the various hardware modules present on the SoC. Communication
between the host processor running an OS and the system controller happens
through a protocol called TI System Control Interface (TI-SCI protocol).
For TI SCI details, please refer to the document,
Documentation/devicetree/bindings/arm/keystone/ti,sci.txt

TI-SCI Reset Controller Node
============================
This reset controller node uses the TI SCI protocol to perform the reset
management of various hardware modules present on the SoC. Must be a child
node of the associated TI-SCI system controller node.

Required properties:
--------------------
 - compatible	: Should be "ti,sci-reset"
 - #reset-cells	: Should be 2. Please see the reset consumer node below for
		  usage details.

TI-SCI Reset Consumer Nodes
===========================
Each of the reset consumer nodes should have the following properties,
in addition to their own properties.

Required properties:
--------------------
 - resets	: A phandle and reset specifier pair, one pair for each reset
		  signal that affects the device, or that the device manages.
		  The phandle should point to the TI-SCI reset controller node,
		  and the reset specifier should have 2 cell-values. The first
		  cell should contain the device ID. The second cell should
		  contain the reset mask value used by system controller.
		  Please refer to the protocol documentation for these values
		  to be used for different devices,
		  http://processors.wiki.ti.com/index.php/TISCI#66AK2G02_Data

Please also refer to Documentation/devicetree/bindings/reset/reset.txt for
common reset controller usage by consumers.

Example:
--------
The following example demonstrates both a TI-SCI reset controller node and a
consumer (a DSP device) on the 66AK2G SoC.

pmmc: pmmc {
	compatible = "ti,k2g-sci";

	k2g_reset: reset-controller {
		compatible = "ti,sci-reset";
		#reset-cells = <2>;
	};
};

dsp0: dsp@10800000 {
	...
	resets = <&k2g_reset 0x0046 0x1>;
	...
};
+2 −0
Original line number Diff line number Diff line
@@ -12682,6 +12682,8 @@ F: include/linux/soc/ti/ti_sci_protocol.h
F:	Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
F:	include/dt-bindings/genpd/k2g.h
F:	drivers/soc/ti/ti_sci_pm_domains.c
F:	Documentation/devicetree/bindings/reset/ti,sci-reset.txt
F:	drivers/reset/reset-ti-sci.c

THANKO'S RAREMONO AM/FM/SW RADIO RECEIVER USB DRIVER
M:	Hans Verkuil <hverkuil@xs4all.nl>
+4 −4
Original line number Diff line number Diff line
@@ -1637,9 +1637,6 @@ EXPORT_SYMBOL_GPL(pm_genpd_remove);

#ifdef CONFIG_PM_GENERIC_DOMAINS_OF

typedef struct generic_pm_domain *(*genpd_xlate_t)(struct of_phandle_args *args,
						   void *data);

/*
 * Device Tree based PM domain providers.
 *
@@ -1795,6 +1792,9 @@ int of_genpd_add_provider_onecell(struct device_node *np,

	mutex_lock(&gpd_list_lock);

	if (!data->xlate)
		data->xlate = genpd_xlate_onecell;

	for (i = 0; i < data->num_domains; i++) {
		if (!data->domains[i])
			continue;
@@ -1805,7 +1805,7 @@ int of_genpd_add_provider_onecell(struct device_node *np,
		data->domains[i]->has_provider = true;
	}

	ret = genpd_add_provider(np, genpd_xlate_onecell, data);
	ret = genpd_add_provider(np, data->xlate, data);
	if (ret < 0)
		goto error;

+1 −1
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ config ARM_CCN

config BRCMSTB_GISB_ARB
	bool "Broadcom STB GISB bus arbiter"
	depends on ARM || MIPS
	depends on ARM || ARM64 || MIPS
	default ARCH_BRCMSTB || BMIPS_GENERIC
	help
	  Driver for the Broadcom Set Top Box System-on-a-chip internal bus
Loading