ARM: SoC driver updates
This branch contains platform-related driver updates for ARM and ARM64.
Highlights:
- ARM SCMI (System Control & Management Interface) driver cleanups
- Hisilicon support for LPC bus w/ ACPI
- Reset driver updates for several platforms: Uniphier,
- Rockchip power domain bindings and hardware descriptions for several SoCs.
- Tegra memory controller reset improvements
-----BEGIN PGP SIGNATURE-----
iQJDBAABCAAtFiEElf+HevZ4QCAJmMQ+jBrnPN6EHHcFAlsfB94PHG9sb2ZAbGl4
b20ubmV0AAoJEIwa5zzehBx3k2IP/i9T71QoanZ3k6o/d+YUqmTuUiA+EJWFANry
8KSjBKmYDON/GLgRCiNZR8P0NZ3d1LgFk5gZDdhMrOtoGtd8k8q0KyqLxjKAWHt6
opSrGucmE1gy9FvJdUkK+y148vM+Ea4SXRVOZxbLV5qm3inPwnopJjgKAfnhIn4X
QmkSca90CyEc3kPdBdfMeAKL+7SRb4mbFHAXXVE7QiWvjrEjUkvtNVTazf5Nroc4
PbI97zSFrmSFO4ZK0jZHCd4R2xhsJwzDQ/UKHC9C9/IdFMLfnJ7dxIf97QYn41Kl
H46FneMZZZ1FibN+Mj5hC/tByE8FrMtWh636z031s6kkamSqLiBAZFlGpHABxQJs
3tN1vBP40R7hzm76yQAC4Uopr5xOtmLr6KBMBBRr+Axf9jHMS4m/WP1chwZFpFjI
Awxc0VCjBUm+haHvK85J4eHrzbWPjG+8aV5Ar5DHVo8et3MzCdX0ycoDeUT787qc
qzEcCjGPbXHBR1aXUX8stRW5x8zoGH/4IUYMo5IGadiFuXSna6ERG9IHq3fAU5Fp
ZzNNKedtodn9NoMr3NJJk1ndyrUr0lpXwlVqFeksRTa+INk2FHKd0cQfxwV33kS9
wHXw+v323uxa3Tz2TXKS7PavY5yr6fZ0dLC2+xEDqHq6bsLxo1DnBEnaola+Jg+u
9hKEuSff
=xs+f
-----END PGP SIGNATURE-----
Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC driver updates from Olof Johansson:
"This contains platform-related driver updates for ARM and ARM64.
Highlights:
- ARM SCMI (System Control & Management Interface) driver cleanups
- Hisilicon support for LPC bus w/ ACPI
- Reset driver updates for several platforms: Uniphier,
- Rockchip power domain bindings and hardware descriptions for
several SoCs.
- Tegra memory controller reset improvements"
* tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (59 commits)
ARM: tegra: fix compile-testing PCI host driver
soc: rockchip: power-domain: add power domain support for px30
dt-bindings: power: add binding for px30 power domains
dt-bindings: power: add PX30 SoCs header for power-domain
soc: rockchip: power-domain: add power domain support for rk3228
dt-bindings: power: add binding for rk3228 power domains
dt-bindings: power: add RK3228 SoCs header for power-domain
soc: rockchip: power-domain: add power domain support for rk3128
dt-bindings: power: add binding for rk3128 power domains
dt-bindings: power: add RK3128 SoCs header for power-domain
soc: rockchip: power-domain: add power domain support for rk3036
dt-bindings: power: add binding for rk3036 power domains
dt-bindings: power: add RK3036 SoCs header for power-domain
dt-bindings: memory: tegra: Remove Tegra114 SATA and AFI reset definitions
memory: tegra: Remove Tegra114 SATA and AFI reset definitions
memory: tegra: Register SMMU after MC driver became ready
soc: mediatek: remove unneeded semicolon
soc: mediatek: add a fixed wait for SRAM stable
soc: mediatek: introduce a CAPS flag for scp_domain_data
soc: mediatek: reuse regmap_read_poll_timeout helpers
...
This commit is contained in:
commit
32bcbf8b6d
54 changed files with 1686 additions and 925 deletions
|
|
@ -16,8 +16,33 @@
|
|||
|
||||
#include <linux/of_platform.h>
|
||||
|
||||
/**
|
||||
* struct aemif_abus_data - Async bus configuration parameters.
|
||||
*
|
||||
* @cs - Chip-select number.
|
||||
*/
|
||||
struct aemif_abus_data {
|
||||
u32 cs;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct aemif_platform_data - Data to set up the TI aemif driver.
|
||||
*
|
||||
* @dev_lookup: of_dev_auxdata passed to of_platform_populate() for aemif
|
||||
* subdevices.
|
||||
* @cs_offset: Lowest allowed chip-select number.
|
||||
* @abus_data: Array of async bus configuration entries.
|
||||
* @num_abus_data: Number of abus entries.
|
||||
* @sub_devices: Array of platform subdevices.
|
||||
* @num_sub_devices: Number of subdevices.
|
||||
*/
|
||||
struct aemif_platform_data {
|
||||
struct of_dev_auxdata *dev_lookup;
|
||||
u32 cs_offset;
|
||||
struct aemif_abus_data *abus_data;
|
||||
size_t num_abus_data;
|
||||
struct platform_device *sub_devices;
|
||||
size_t num_sub_devices;
|
||||
};
|
||||
|
||||
#endif /* __TI_DAVINCI_AEMIF_DATA_H__ */
|
||||
|
|
|
|||
|
|
@ -85,8 +85,8 @@ struct scmi_clk_ops {
|
|||
* @level_set: sets the performance level of a domain
|
||||
* @level_get: gets the performance level of a domain
|
||||
* @device_domain_id: gets the scmi domain id for a given device
|
||||
* @get_transition_latency: gets the DVFS transition latency for a given device
|
||||
* @add_opps_to_device: adds all the OPPs for a given device
|
||||
* @transition_latency_get: gets the DVFS transition latency for a given device
|
||||
* @device_opps_add: adds all the OPPs for a given device
|
||||
* @freq_set: sets the frequency for a given device using sustained frequency
|
||||
* to sustained performance level mapping
|
||||
* @freq_get: gets the frequency for a given device using sustained frequency
|
||||
|
|
@ -102,10 +102,10 @@ struct scmi_perf_ops {
|
|||
int (*level_get)(const struct scmi_handle *handle, u32 domain,
|
||||
u32 *level, bool poll);
|
||||
int (*device_domain_id)(struct device *dev);
|
||||
int (*get_transition_latency)(const struct scmi_handle *handle,
|
||||
int (*transition_latency_get)(const struct scmi_handle *handle,
|
||||
struct device *dev);
|
||||
int (*add_opps_to_device)(const struct scmi_handle *handle,
|
||||
struct device *dev);
|
||||
int (*device_opps_add)(const struct scmi_handle *handle,
|
||||
struct device *dev);
|
||||
int (*freq_set)(const struct scmi_handle *handle, u32 domain,
|
||||
unsigned long rate, bool poll);
|
||||
int (*freq_get)(const struct scmi_handle *handle, u32 domain,
|
||||
|
|
@ -189,6 +189,14 @@ struct scmi_sensor_ops {
|
|||
* @perf_ops: pointer to set of performance protocol operations
|
||||
* @clk_ops: pointer to set of clock protocol operations
|
||||
* @sensor_ops: pointer to set of sensor protocol operations
|
||||
* @perf_priv: pointer to private data structure specific to performance
|
||||
* protocol(for internal use only)
|
||||
* @clk_priv: pointer to private data structure specific to clock
|
||||
* protocol(for internal use only)
|
||||
* @power_priv: pointer to private data structure specific to power
|
||||
* protocol(for internal use only)
|
||||
* @sensor_priv: pointer to private data structure specific to sensors
|
||||
* protocol(for internal use only)
|
||||
*/
|
||||
struct scmi_handle {
|
||||
struct device *dev;
|
||||
|
|
|
|||
|
|
@ -1,17 +1,9 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Texas Instruments System Control Interface Protocol
|
||||
*
|
||||
* Copyright (C) 2015-2016 Texas Instruments Incorporated - http://www.ti.com/
|
||||
* Nishanth Menon
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed "as is" WITHOUT ANY WARRANTY of any
|
||||
* kind, whether express or implied; without even the implied warranty
|
||||
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef __TISCI_PROTOCOL_H
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue