From f5a8c3f2a4f5aef086e2c7275ded6519d74ea71c Mon Sep 17 00:00:00 2001 From: "chunlong.cao" Date: Fri, 17 Jul 2020 18:27:14 +0800 Subject: [PATCH] reverse #PD-SWPL-17563:create power domain control API Change-Id: Ic2385db42dd60a1202b0eeb473790ada913ce4f9 --- arch/arm/boot/dts/amlogic/mesonsm1.dtsi | 13 ++++--------- arch/arm64/boot/dts/amlogic/mesonsm1.dtsi | 13 ++++--------- drivers/amlogic/media/common/ge2d/ge2d_io.h | 6 ------ drivers/amlogic/media/common/ge2d/ge2d_main.c | 17 +---------------- drivers/amlogic/power/Makefile | 2 +- 5 files changed, 10 insertions(+), 41 deletions(-) diff --git a/arch/arm/boot/dts/amlogic/mesonsm1.dtsi b/arch/arm/boot/dts/amlogic/mesonsm1.dtsi index a50658743884..446191418edb 100644 --- a/arch/arm/boot/dts/amlogic/mesonsm1.dtsi +++ b/arch/arm/boot/dts/amlogic/mesonsm1.dtsi @@ -495,15 +495,10 @@ reg = <0xff809000 0x48>; }; - pwrdm: power-domains { - compatible = "amlogic,sm1-power-domain"; - reg = <0xff62fc00 0xf0>, - <0xff8000e8 0x10>, - <0xff63c100 0x40>, - <0xffd01080 0x20>; - vpu_mempd_reg3 = <0xc>; - vpu_mempd_reg4 = <0x10>; - status = "okay"; + power_ctrl: power_ctrl@ff8000e8 { + compatible = "amlogic, sm1-powerctrl"; + reg = <0xff8000e8 0x10>, + <0xff63c100 0x10>; }; bl40: bl40 { diff --git a/arch/arm64/boot/dts/amlogic/mesonsm1.dtsi b/arch/arm64/boot/dts/amlogic/mesonsm1.dtsi index 8eef12c3c637..6eae61580613 100644 --- a/arch/arm64/boot/dts/amlogic/mesonsm1.dtsi +++ b/arch/arm64/boot/dts/amlogic/mesonsm1.dtsi @@ -495,15 +495,10 @@ reg = <0x0 0xff809000 0x0 0x48>; }; - pwrdm: power-domains { - compatible = "amlogic,sm1-power-domain"; - reg = <0x0 0xff62fc00 0x0 0xf0>, - <0x0 0xff8000e8 0x0 0x10>, - <0x0 0xff63c100 0x0 0x40>, - <0x0 0xffd01080 0x0 0x20>; - vpu_mempd_reg3 = <0xc>; - vpu_mempd_reg4 = <0x10>; - status = "okay"; + power_ctrl: power_ctrl@ff8000e8 { + compatible = "amlogic, sm1-powerctrl"; + reg = <0x0 0xff8000e8 0x0 0x10>, + <0x0 0xff63c100 0x0 0x10>; }; bl40: bl40 { diff --git a/drivers/amlogic/media/common/ge2d/ge2d_io.h b/drivers/amlogic/media/common/ge2d/ge2d_io.h index 9f629495b95c..f5f69df58ca1 100644 --- a/drivers/amlogic/media/common/ge2d/ge2d_io.h +++ b/drivers/amlogic/media/common/ge2d/ge2d_io.h @@ -23,13 +23,10 @@ #include #include #include -#include #include "ge2d_log.h" #define GE2DBUS_REG_ADDR(reg) (((reg - 0x1800) << 2)) -#define GE2D_PWR_DOMAIN 19 - extern unsigned int ge2d_dump_reg_cnt; extern unsigned int ge2d_dump_reg_enable; extern void __iomem *ge2d_reg_map; @@ -181,9 +178,6 @@ static inline void ge2d_set_pwr_tbl_bits(unsigned int table_type, case MEM_PD_REG0: power_ctrl_mempd0(val ? 0 : 1, 0xFF, start); break; - case PWR_DOMAIN_CTRL: - power_domain_switch(GE2D_PWR_DOMAIN, val); - break; default: ge2d_log_err("unsupported bus type\n"); break; diff --git a/drivers/amlogic/media/common/ge2d/ge2d_main.c b/drivers/amlogic/media/common/ge2d/ge2d_main.c index 1c6ce9a18498..3af17151f87a 100644 --- a/drivers/amlogic/media/common/ge2d/ge2d_main.c +++ b/drivers/amlogic/media/common/ge2d/ge2d_main.c @@ -55,7 +55,6 @@ #define MAX_GE2D_CLK 500000000 #define HHI_MEM_PD_REG0 0x40 #define RESET2_LEVEL 0x422 -#define GE2D_POWER_DOMAIN_CTRL struct ge2d_device_s { char name[20]; @@ -1051,7 +1050,6 @@ static int ge2d_release(struct inode *inode, struct file *file) return -1; } -#ifndef GE2D_POWER_DOMAIN_CTRL static struct ge2d_ctrl_s default_poweron_ctrl[] = { /* power up ge2d */ {GEN_PWR_SLEEP0, AO_RTI_GEN_PWR_SLEEP0, 0, 19, 1, 0}, @@ -1077,19 +1075,6 @@ static struct ge2d_ctrl_s default_poweroff_ctrl[] = { struct ge2d_power_table_s default_poweron_table = {5, default_poweron_ctrl}; struct ge2d_power_table_s default_poweroff_table = {4, default_poweroff_ctrl}; -#else -static struct ge2d_ctrl_s default_poweron_ctrl[] = { - /* power on */ - {PWR_DOMAIN_CTRL, 0, 0, 0, 0, 0}, - }; -static struct ge2d_ctrl_s default_poweroff_ctrl[] = { - /* power off */ - {PWR_DOMAIN_CTRL, 0, 1, 0, 0, 0}, - }; - -struct ge2d_power_table_s default_poweron_table = {1, default_poweron_ctrl}; -struct ge2d_power_table_s default_poweroff_table = {1, default_poweroff_ctrl}; -#endif static struct ge2d_device_data_s ge2d_gxl = { .ge2d_rate = 400000000, @@ -1302,7 +1287,7 @@ static int ge2d_probe(struct platform_device *pdev) } ret = of_reserved_mem_device_init(&(pdev->dev)); if (ret < 0) - ge2d_log_info("reserved mem is not used\n"); + ge2d_log_info("reserved mem init failed\n"); ret = ge2d_wq_init(pdev, irq, clk_gate); diff --git a/drivers/amlogic/power/Makefile b/drivers/amlogic/power/Makefile index a7637e80c531..518b1d6b974f 100644 --- a/drivers/amlogic/power/Makefile +++ b/drivers/amlogic/power/Makefile @@ -4,4 +4,4 @@ obj-$(CONFIG_AMLOGIC_PMU_OF) += aml_pmu_of_common.o obj-$(CONFIG_AMLOGIC_M8B_DVFS) += aml_dvfs/ obj-$(CONFIG_AMLOGIC_POWER) += power_ctrl.o -obj-$(CONFIG_AMLOGIC_POWER) += power_domain.o +#obj-$(CONFIG_AMLOGIC_POWER) += power_domain.o