Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

soc: actions: sps: Add S900 power domains

Add power domains for Actions Semi S900 SoC.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
[AF: Update Kconfig help text]
Signed-off-by: Andreas Färber <afaerber@suse.de>

authored by

Manivannan Sadhasivam and committed by
Andreas Färber
da8c37e1 dba84571

+59 -1
+1 -1
drivers/soc/actions/Kconfig
··· 10 10 select PM_GENERIC_DOMAINS 11 11 help 12 12 Say 'y' here to enable support for Smart Power System (SPS) 13 - power-gating on Actions Semiconductor S500 and S700 SoCs. 13 + power-gating on Actions Semiconductor S500, S700 and S900 SoCs. 14 14 If unsure, say 'n'. 15 15 16 16 endif
+58
drivers/soc/actions/owl-sps.c
··· 14 14 #include <linux/soc/actions/owl-sps.h> 15 15 #include <dt-bindings/power/owl-s500-powergate.h> 16 16 #include <dt-bindings/power/owl-s700-powergate.h> 17 + #include <dt-bindings/power/owl-s900-powergate.h> 17 18 18 19 struct owl_sps_domain_info { 19 20 const char *name; ··· 241 240 .domains = s700_sps_domains, 242 241 }; 243 242 243 + static const struct owl_sps_domain_info s900_sps_domains[] = { 244 + [S900_PD_GPU_B] = { 245 + .name = "GPU_B", 246 + .pwr_bit = 3, 247 + }, 248 + [S900_PD_VCE] = { 249 + .name = "VCE", 250 + .pwr_bit = 4, 251 + }, 252 + [S900_PD_SENSOR] = { 253 + .name = "SENSOR", 254 + .pwr_bit = 5, 255 + }, 256 + [S900_PD_VDE] = { 257 + .name = "VDE", 258 + .pwr_bit = 6, 259 + }, 260 + [S900_PD_HDE] = { 261 + .name = "HDE", 262 + .pwr_bit = 7, 263 + }, 264 + [S900_PD_USB3] = { 265 + .name = "USB3", 266 + .pwr_bit = 8, 267 + }, 268 + [S900_PD_DDR0] = { 269 + .name = "DDR0", 270 + .pwr_bit = 9, 271 + }, 272 + [S900_PD_DDR1] = { 273 + .name = "DDR1", 274 + .pwr_bit = 10, 275 + }, 276 + [S900_PD_DE] = { 277 + .name = "DE", 278 + .pwr_bit = 13, 279 + }, 280 + [S900_PD_NAND] = { 281 + .name = "NAND", 282 + .pwr_bit = 14, 283 + }, 284 + [S900_PD_USB2_H0] = { 285 + .name = "USB2_H0", 286 + .pwr_bit = 15, 287 + }, 288 + [S900_PD_USB2_H1] = { 289 + .name = "USB2_H1", 290 + .pwr_bit = 16, 291 + }, 292 + }; 293 + 294 + static const struct owl_sps_info s900_sps_info = { 295 + .num_domains = ARRAY_SIZE(s900_sps_domains), 296 + .domains = s900_sps_domains, 297 + }; 298 + 244 299 static const struct of_device_id owl_sps_of_matches[] = { 245 300 { .compatible = "actions,s500-sps", .data = &s500_sps_info }, 246 301 { .compatible = "actions,s700-sps", .data = &s700_sps_info }, 302 + { .compatible = "actions,s900-sps", .data = &s900_sps_info }, 247 303 { } 248 304 }; 249 305