diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-11 21:15:22 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-11 21:15:22 -0400 |
| commit | 32bcbf8b6d09428907fd045a4ea90562ec7dc4a2 (patch) | |
| tree | 5fe094aa94931f207307817c747fcc5935e2665c /include/linux | |
| parent | 721afaa2aeb860067decdddadc84ed16f42f2048 (diff) | |
| parent | 32561354b16944e784e82a2011765c50e77e1c56 (diff) | |
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
...
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/platform_data/ti-aemif.h | 25 | ||||
| -rw-r--r-- | include/linux/scmi_protocol.h | 18 | ||||
| -rw-r--r-- | include/linux/soc/ti/ti_sci_protocol.h | 10 |
3 files changed, 39 insertions, 14 deletions
diff --git a/include/linux/platform_data/ti-aemif.h b/include/linux/platform_data/ti-aemif.h index ac72e115093c..e6407bafcbf8 100644 --- a/include/linux/platform_data/ti-aemif.h +++ b/include/linux/platform_data/ti-aemif.h | |||
| @@ -16,8 +16,33 @@ | |||
| 16 | 16 | ||
| 17 | #include <linux/of_platform.h> | 17 | #include <linux/of_platform.h> |
| 18 | 18 | ||
| 19 | /** | ||
| 20 | * struct aemif_abus_data - Async bus configuration parameters. | ||
| 21 | * | ||
| 22 | * @cs - Chip-select number. | ||
| 23 | */ | ||
| 24 | struct aemif_abus_data { | ||
| 25 | u32 cs; | ||
| 26 | }; | ||
| 27 | |||
| 28 | /** | ||
| 29 | * struct aemif_platform_data - Data to set up the TI aemif driver. | ||
| 30 | * | ||
| 31 | * @dev_lookup: of_dev_auxdata passed to of_platform_populate() for aemif | ||
| 32 | * subdevices. | ||
| 33 | * @cs_offset: Lowest allowed chip-select number. | ||
| 34 | * @abus_data: Array of async bus configuration entries. | ||
| 35 | * @num_abus_data: Number of abus entries. | ||
| 36 | * @sub_devices: Array of platform subdevices. | ||
| 37 | * @num_sub_devices: Number of subdevices. | ||
| 38 | */ | ||
| 19 | struct aemif_platform_data { | 39 | struct aemif_platform_data { |
| 20 | struct of_dev_auxdata *dev_lookup; | 40 | struct of_dev_auxdata *dev_lookup; |
| 41 | u32 cs_offset; | ||
| 42 | struct aemif_abus_data *abus_data; | ||
| 43 | size_t num_abus_data; | ||
| 44 | struct platform_device *sub_devices; | ||
| 45 | size_t num_sub_devices; | ||
| 21 | }; | 46 | }; |
| 22 | 47 | ||
| 23 | #endif /* __TI_DAVINCI_AEMIF_DATA_H__ */ | 48 | #endif /* __TI_DAVINCI_AEMIF_DATA_H__ */ |
diff --git a/include/linux/scmi_protocol.h b/include/linux/scmi_protocol.h index b458c87b866c..f4c9fc0fc755 100644 --- a/include/linux/scmi_protocol.h +++ b/include/linux/scmi_protocol.h | |||
| @@ -85,8 +85,8 @@ struct scmi_clk_ops { | |||
| 85 | * @level_set: sets the performance level of a domain | 85 | * @level_set: sets the performance level of a domain |
| 86 | * @level_get: gets the performance level of a domain | 86 | * @level_get: gets the performance level of a domain |
| 87 | * @device_domain_id: gets the scmi domain id for a given device | 87 | * @device_domain_id: gets the scmi domain id for a given device |
| 88 | * @get_transition_latency: gets the DVFS transition latency for a given device | 88 | * @transition_latency_get: gets the DVFS transition latency for a given device |
| 89 | * @add_opps_to_device: adds all the OPPs for a given device | 89 | * @device_opps_add: adds all the OPPs for a given device |
| 90 | * @freq_set: sets the frequency for a given device using sustained frequency | 90 | * @freq_set: sets the frequency for a given device using sustained frequency |
| 91 | * to sustained performance level mapping | 91 | * to sustained performance level mapping |
| 92 | * @freq_get: gets the frequency for a given device using sustained frequency | 92 | * @freq_get: gets the frequency for a given device using sustained frequency |
| @@ -102,10 +102,10 @@ struct scmi_perf_ops { | |||
| 102 | int (*level_get)(const struct scmi_handle *handle, u32 domain, | 102 | int (*level_get)(const struct scmi_handle *handle, u32 domain, |
| 103 | u32 *level, bool poll); | 103 | u32 *level, bool poll); |
| 104 | int (*device_domain_id)(struct device *dev); | 104 | int (*device_domain_id)(struct device *dev); |
| 105 | int (*get_transition_latency)(const struct scmi_handle *handle, | 105 | int (*transition_latency_get)(const struct scmi_handle *handle, |
| 106 | struct device *dev); | 106 | struct device *dev); |
| 107 | int (*add_opps_to_device)(const struct scmi_handle *handle, | 107 | int (*device_opps_add)(const struct scmi_handle *handle, |
| 108 | struct device *dev); | 108 | struct device *dev); |
| 109 | int (*freq_set)(const struct scmi_handle *handle, u32 domain, | 109 | int (*freq_set)(const struct scmi_handle *handle, u32 domain, |
| 110 | unsigned long rate, bool poll); | 110 | unsigned long rate, bool poll); |
| 111 | int (*freq_get)(const struct scmi_handle *handle, u32 domain, | 111 | int (*freq_get)(const struct scmi_handle *handle, u32 domain, |
| @@ -189,6 +189,14 @@ struct scmi_sensor_ops { | |||
| 189 | * @perf_ops: pointer to set of performance protocol operations | 189 | * @perf_ops: pointer to set of performance protocol operations |
| 190 | * @clk_ops: pointer to set of clock protocol operations | 190 | * @clk_ops: pointer to set of clock protocol operations |
| 191 | * @sensor_ops: pointer to set of sensor protocol operations | 191 | * @sensor_ops: pointer to set of sensor protocol operations |
| 192 | * @perf_priv: pointer to private data structure specific to performance | ||
| 193 | * protocol(for internal use only) | ||
| 194 | * @clk_priv: pointer to private data structure specific to clock | ||
| 195 | * protocol(for internal use only) | ||
| 196 | * @power_priv: pointer to private data structure specific to power | ||
| 197 | * protocol(for internal use only) | ||
| 198 | * @sensor_priv: pointer to private data structure specific to sensors | ||
| 199 | * protocol(for internal use only) | ||
| 192 | */ | 200 | */ |
| 193 | struct scmi_handle { | 201 | struct scmi_handle { |
| 194 | struct device *dev; | 202 | struct device *dev; |
diff --git a/include/linux/soc/ti/ti_sci_protocol.h b/include/linux/soc/ti/ti_sci_protocol.h index 0ccbc138c26a..18435e5c6364 100644 --- a/include/linux/soc/ti/ti_sci_protocol.h +++ b/include/linux/soc/ti/ti_sci_protocol.h | |||
| @@ -1,17 +1,9 @@ | |||
| 1 | // SPDX-License-Identifier: GPL-2.0 | ||
| 1 | /* | 2 | /* |
| 2 | * Texas Instruments System Control Interface Protocol | 3 | * Texas Instruments System Control Interface Protocol |
| 3 | * | 4 | * |
| 4 | * Copyright (C) 2015-2016 Texas Instruments Incorporated - http://www.ti.com/ | 5 | * Copyright (C) 2015-2016 Texas Instruments Incorporated - http://www.ti.com/ |
| 5 | * Nishanth Menon | 6 | * Nishanth Menon |
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify | ||
| 8 | * it under the terms of the GNU General Public License version 2 as | ||
| 9 | * published by the Free Software Foundation. | ||
| 10 | * | ||
| 11 | * This program is distributed "as is" WITHOUT ANY WARRANTY of any | ||
| 12 | * kind, whether express or implied; without even the implied warranty | ||
| 13 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | */ | 7 | */ |
| 16 | 8 | ||
| 17 | #ifndef __TISCI_PROTOCOL_H | 9 | #ifndef __TISCI_PROTOCOL_H |
