mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-11-17 20:26:49 +00:00
Actions Semi SoC drivers for v4.20 #2
The SPS power domain driver is extended for S900 SoC. This required merging a topic branch for the new bindings header. -----BEGIN PGP SIGNATURE----- iQJFBAABCAAvFiEEF08DRxvMIhphdW+W+i7RLT5+AT8FAluxDmkRHGFmYWVyYmVy QHN1c2UuZGUACgkQ+i7RLT5+AT+ryxAAk6dVEaVoyoY1CSR3oAZXQ5EF75zp9GY9 4YYLg95WzUd/JX+9dzWlOy4L95Rx+E1nLoOQQQiI9Z7AIkgsm75n5qWB9PRFzHQN oH37uyRReet25eLijK7rzt5mRf82XFKnA10J2Efdot/STVrrfnb7kJ0Moyp5eQre MeuifSRP0to7NKhpCnvuxmKkwQeYY+SexPFOH/yJj3q2lKWbqH8bJWRxk6h79yv3 cc2u+JfQ/7VhMFsHTfEnJeeQKIJJ/qYmXsGeSkWnl1NMonKAcsP4WeI3ebKhV1bl gJtNVEEFQnVUGiWVdcHPE22nj9M2fhrF2WIU+EOlsIjaRspaRdi8Saa2Qxgiq5D3 bFRFgAl6waCe+iuJBmMuTus14qt2WkBP5I4aS8JBli/JnftfiSUcV2yySMA4nNlj e7RDX71aF/qMZWxITbNHwV/Kj9DJESjbb54tegdL4qYbLtwCUYmvPqlmsYNXLRpp 0KPyWeqgSTY6aDsJm4ksdvzLXAWcae7Bqtz5Od+CZ77l24N2yuoSDymbs2LoHIVa nQgCMCog3B2rO3WTR1TLxGKFrCa6Itv8HsU6qxj+0m2ff/KGEZokgOU2hK3t6xxW YoI/+bLpuiaSzRDy0EGjyC4XN9Hz8AzN39bUIO2PxQM2UuG5aE6uqTlk/ahi6zpO 0fHImgLwewc= =W/nr -----END PGP SIGNATURE----- Merge tag 'actions-drivers+s900-sps-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/afaerber/linux-actions into next/drivers Actions Semi SoC drivers for v4.20 #2 The SPS power domain driver is extended for S900 SoC. This required merging a topic branch for the new bindings header. * tag 'actions-drivers+s900-sps-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/afaerber/linux-actions: soc: actions: sps: Add S900 power domains dt-bindings: power: Add Actions Semi S900 SPS soc: actions: Update SPS help text for S700 soc: actions: Convert to SPDX license identifiers Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
68b679b339
6 changed files with 88 additions and 11 deletions
|
|
@ -3,11 +3,13 @@ Actions Semi Owl Smart Power System (SPS)
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible : "actions,s500-sps" for S500
|
- compatible : "actions,s500-sps" for S500
|
||||||
"actions,s700-sps" for S700
|
"actions,s700-sps" for S700
|
||||||
|
"actions,s900-sps" for S900
|
||||||
- reg : Offset and length of the register set for the device.
|
- reg : Offset and length of the register set for the device.
|
||||||
- #power-domain-cells : Must be 1.
|
- #power-domain-cells : Must be 1.
|
||||||
See macros in:
|
See macros in:
|
||||||
include/dt-bindings/power/owl-s500-powergate.h for S500
|
include/dt-bindings/power/owl-s500-powergate.h for S500
|
||||||
include/dt-bindings/power/owl-s700-powergate.h for S700
|
include/dt-bindings/power/owl-s700-powergate.h for S700
|
||||||
|
include/dt-bindings/power/owl-s900-powergate.h for S900
|
||||||
|
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ config OWL_PM_DOMAINS
|
||||||
select PM_GENERIC_DOMAINS
|
select PM_GENERIC_DOMAINS
|
||||||
help
|
help
|
||||||
Say 'y' here to enable support for Smart Power System (SPS)
|
Say 'y' here to enable support for Smart Power System (SPS)
|
||||||
power-gating on Actions Semiconductor S500 SoC.
|
power-gating on Actions Semiconductor S500, S700 and S900 SoCs.
|
||||||
If unsure, say 'n'.
|
If unsure, say 'n'.
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,4 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
obj-$(CONFIG_OWL_PM_DOMAINS_HELPER) += owl-sps-helper.o
|
obj-$(CONFIG_OWL_PM_DOMAINS_HELPER) += owl-sps-helper.o
|
||||||
obj-$(CONFIG_OWL_PM_DOMAINS) += owl-sps.o
|
obj-$(CONFIG_OWL_PM_DOMAINS) += owl-sps.o
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* Actions Semi Owl Smart Power System (SPS) shared helpers
|
* Actions Semi Owl Smart Power System (SPS) shared helpers
|
||||||
*
|
*
|
||||||
|
|
@ -5,11 +6,6 @@
|
||||||
* Author: Actions Semi, Inc.
|
* Author: Actions Semi, Inc.
|
||||||
*
|
*
|
||||||
* Copyright (c) 2017 Andreas Färber
|
* Copyright (c) 2017 Andreas Färber
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by the
|
|
||||||
* Free Software Foundation; either version 2 of the License, or (at your
|
|
||||||
* option) any later version.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* Actions Semi Owl Smart Power System (SPS)
|
* Actions Semi Owl Smart Power System (SPS)
|
||||||
*
|
*
|
||||||
|
|
@ -5,11 +6,6 @@
|
||||||
* Author: Actions Semi, Inc.
|
* Author: Actions Semi, Inc.
|
||||||
*
|
*
|
||||||
* Copyright (c) 2017 Andreas Färber
|
* Copyright (c) 2017 Andreas Färber
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by the
|
|
||||||
* Free Software Foundation; either version 2 of the License, or (at your
|
|
||||||
* option) any later version.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/of_address.h>
|
#include <linux/of_address.h>
|
||||||
|
|
@ -18,6 +14,7 @@
|
||||||
#include <linux/soc/actions/owl-sps.h>
|
#include <linux/soc/actions/owl-sps.h>
|
||||||
#include <dt-bindings/power/owl-s500-powergate.h>
|
#include <dt-bindings/power/owl-s500-powergate.h>
|
||||||
#include <dt-bindings/power/owl-s700-powergate.h>
|
#include <dt-bindings/power/owl-s700-powergate.h>
|
||||||
|
#include <dt-bindings/power/owl-s900-powergate.h>
|
||||||
|
|
||||||
struct owl_sps_domain_info {
|
struct owl_sps_domain_info {
|
||||||
const char *name;
|
const char *name;
|
||||||
|
|
@ -244,9 +241,66 @@ static const struct owl_sps_info s700_sps_info = {
|
||||||
.domains = s700_sps_domains,
|
.domains = s700_sps_domains,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct owl_sps_domain_info s900_sps_domains[] = {
|
||||||
|
[S900_PD_GPU_B] = {
|
||||||
|
.name = "GPU_B",
|
||||||
|
.pwr_bit = 3,
|
||||||
|
},
|
||||||
|
[S900_PD_VCE] = {
|
||||||
|
.name = "VCE",
|
||||||
|
.pwr_bit = 4,
|
||||||
|
},
|
||||||
|
[S900_PD_SENSOR] = {
|
||||||
|
.name = "SENSOR",
|
||||||
|
.pwr_bit = 5,
|
||||||
|
},
|
||||||
|
[S900_PD_VDE] = {
|
||||||
|
.name = "VDE",
|
||||||
|
.pwr_bit = 6,
|
||||||
|
},
|
||||||
|
[S900_PD_HDE] = {
|
||||||
|
.name = "HDE",
|
||||||
|
.pwr_bit = 7,
|
||||||
|
},
|
||||||
|
[S900_PD_USB3] = {
|
||||||
|
.name = "USB3",
|
||||||
|
.pwr_bit = 8,
|
||||||
|
},
|
||||||
|
[S900_PD_DDR0] = {
|
||||||
|
.name = "DDR0",
|
||||||
|
.pwr_bit = 9,
|
||||||
|
},
|
||||||
|
[S900_PD_DDR1] = {
|
||||||
|
.name = "DDR1",
|
||||||
|
.pwr_bit = 10,
|
||||||
|
},
|
||||||
|
[S900_PD_DE] = {
|
||||||
|
.name = "DE",
|
||||||
|
.pwr_bit = 13,
|
||||||
|
},
|
||||||
|
[S900_PD_NAND] = {
|
||||||
|
.name = "NAND",
|
||||||
|
.pwr_bit = 14,
|
||||||
|
},
|
||||||
|
[S900_PD_USB2_H0] = {
|
||||||
|
.name = "USB2_H0",
|
||||||
|
.pwr_bit = 15,
|
||||||
|
},
|
||||||
|
[S900_PD_USB2_H1] = {
|
||||||
|
.name = "USB2_H1",
|
||||||
|
.pwr_bit = 16,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct owl_sps_info s900_sps_info = {
|
||||||
|
.num_domains = ARRAY_SIZE(s900_sps_domains),
|
||||||
|
.domains = s900_sps_domains,
|
||||||
|
};
|
||||||
|
|
||||||
static const struct of_device_id owl_sps_of_matches[] = {
|
static const struct of_device_id owl_sps_of_matches[] = {
|
||||||
{ .compatible = "actions,s500-sps", .data = &s500_sps_info },
|
{ .compatible = "actions,s500-sps", .data = &s500_sps_info },
|
||||||
{ .compatible = "actions,s700-sps", .data = &s700_sps_info },
|
{ .compatible = "actions,s700-sps", .data = &s700_sps_info },
|
||||||
|
{ .compatible = "actions,s900-sps", .data = &s900_sps_info },
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
23
include/dt-bindings/power/owl-s900-powergate.h
Normal file
23
include/dt-bindings/power/owl-s900-powergate.h
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
/* SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) */
|
||||||
|
/*
|
||||||
|
* Actions Semi S900 SPS
|
||||||
|
*
|
||||||
|
* Copyright (c) 2018 Linaro Ltd.
|
||||||
|
*/
|
||||||
|
#ifndef DT_BINDINGS_POWER_OWL_S900_POWERGATE_H
|
||||||
|
#define DT_BINDINGS_POWER_OWL_S900_POWERGATE_H
|
||||||
|
|
||||||
|
#define S900_PD_GPU_B 0
|
||||||
|
#define S900_PD_VCE 1
|
||||||
|
#define S900_PD_SENSOR 2
|
||||||
|
#define S900_PD_VDE 3
|
||||||
|
#define S900_PD_HDE 4
|
||||||
|
#define S900_PD_USB3 5
|
||||||
|
#define S900_PD_DDR0 6
|
||||||
|
#define S900_PD_DDR1 7
|
||||||
|
#define S900_PD_DE 8
|
||||||
|
#define S900_PD_NAND 9
|
||||||
|
#define S900_PD_USB2_H0 10
|
||||||
|
#define S900_PD_USB2_H1 11
|
||||||
|
|
||||||
|
#endif
|
||||||
Loading…
Add table
Reference in a new issue