mirror of https://gitee.com/openkylin/linux.git
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
|
@ -3,11 +3,13 @@ Actions Semi Owl Smart Power System (SPS)
|
|||
Required properties:
|
||||
- compatible : "actions,s500-sps" for S500
|
||||
"actions,s700-sps" for S700
|
||||
"actions,s900-sps" for S900
|
||||
- reg : Offset and length of the register set for the device.
|
||||
- #power-domain-cells : Must be 1.
|
||||
See macros in:
|
||||
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-s900-powergate.h for S900
|
||||
|
||||
|
||||
Example:
|
||||
|
|
|
@ -10,7 +10,7 @@ config OWL_PM_DOMAINS
|
|||
select PM_GENERIC_DOMAINS
|
||||
help
|
||||
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'.
|
||||
|
||||
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) += owl-sps.o
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Actions Semi Owl Smart Power System (SPS) shared helpers
|
||||
*
|
||||
|
@ -5,11 +6,6 @@
|
|||
* Author: Actions Semi, Inc.
|
||||
*
|
||||
* 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>
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Actions Semi Owl Smart Power System (SPS)
|
||||
*
|
||||
|
@ -5,11 +6,6 @@
|
|||
* Author: Actions Semi, Inc.
|
||||
*
|
||||
* 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>
|
||||
|
@ -18,6 +14,7 @@
|
|||
#include <linux/soc/actions/owl-sps.h>
|
||||
#include <dt-bindings/power/owl-s500-powergate.h>
|
||||
#include <dt-bindings/power/owl-s700-powergate.h>
|
||||
#include <dt-bindings/power/owl-s900-powergate.h>
|
||||
|
||||
struct owl_sps_domain_info {
|
||||
const char *name;
|
||||
|
@ -244,9 +241,66 @@ static const struct owl_sps_info s700_sps_info = {
|
|||
.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[] = {
|
||||
{ .compatible = "actions,s500-sps", .data = &s500_sps_info },
|
||||
{ .compatible = "actions,s700-sps", .data = &s700_sps_info },
|
||||
{ .compatible = "actions,s900-sps", .data = &s900_sps_info },
|
||||
{ }
|
||||
};
|
||||
|
||||
|
|
|
@ -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…
Reference in New Issue