linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] firmware: imx: scu-pd: generalize the implementation
@ 2019-02-20 14:38 Aisheng Dong
  2019-02-20 14:38 ` [PATCH 1/3] firmware: imx: scu-pd: use bool to set postfix Aisheng Dong
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Aisheng Dong @ 2019-02-20 14:38 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Aisheng Dong, ulf.hansson, dongas86, khilman, linux-pm, rjw,
	dl-linux-imx, kernel, Fabio Estevam, shawnguo

This patch series used to further generalize the driver implementation for
better adding new SCU based platforms. e.g. imx8qm which is mostly the same
as imx8qxp except a minor SS name and resource avaliability difference.
e.g.
QXP has ADMA SS while QM has DMA and Audio SS separately.
So we decouple the SS information from domain names.

Dong Aisheng (3):
  firmware: imx: scu-pd: use bool to set postfix
  firmware: imx: scu-pd: add specifying the base of domain name index
    support
  firmware: imx: scu-pd: decouple the SS information from domain names

 drivers/firmware/imx/scu-pd.c | 121 ++++++++++++++++++++++--------------------
 1 file changed, 64 insertions(+), 57 deletions(-)

-- 
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/3] firmware: imx: scu-pd: use bool to set postfix
  2019-02-20 14:38 [PATCH 0/3] firmware: imx: scu-pd: generalize the implementation Aisheng Dong
@ 2019-02-20 14:38 ` Aisheng Dong
  2019-02-20 14:38 ` [PATCH 2/3] firmware: imx: scu-pd: add specifying the base of domain name index support Aisheng Dong
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Aisheng Dong @ 2019-02-20 14:38 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Aisheng Dong, ulf.hansson, dongas86, khilman, linux-pm, rjw,
	dl-linux-imx, kernel, Fabio Estevam, shawnguo

Using bool instead 0/1 to indicate whether adding a postfix for domain
names which can improve the code readability and less confusing.

Cc: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Kevin Hilman <khilman@kernel.org>
Cc: linux-pm@vger.kernel.org
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
---
 drivers/firmware/imx/scu-pd.c | 102 +++++++++++++++++++++---------------------
 1 file changed, 51 insertions(+), 51 deletions(-)

diff --git a/drivers/firmware/imx/scu-pd.c b/drivers/firmware/imx/scu-pd.c
index 407245f..d1d39d9 100644
--- a/drivers/firmware/imx/scu-pd.c
+++ b/drivers/firmware/imx/scu-pd.c
@@ -84,71 +84,71 @@ struct imx_sc_pd_soc {
 
 static const struct imx_sc_pd_range imx8qxp_scu_pd_ranges[] = {
 	/* LSIO SS */
-	{ "lsio-pwm", IMX_SC_R_PWM_0, 8, 1 },
-	{ "lsio-gpio", IMX_SC_R_GPIO_0, 8, 1 },
-	{ "lsio-gpt", IMX_SC_R_GPT_0, 5, 1 },
-	{ "lsio-kpp", IMX_SC_R_KPP, 1, 0 },
-	{ "lsio-fspi", IMX_SC_R_FSPI_0, 2, 1 },
-	{ "lsio-mu", IMX_SC_R_MU_0A, 14, 1 },
+	{ "lsio-pwm", IMX_SC_R_PWM_0, 8, true },
+	{ "lsio-gpio", IMX_SC_R_GPIO_0, 8, true },
+	{ "lsio-gpt", IMX_SC_R_GPT_0, 5, true },
+	{ "lsio-kpp", IMX_SC_R_KPP, 1, false },
+	{ "lsio-fspi", IMX_SC_R_FSPI_0, 2, true },
+	{ "lsio-mu", IMX_SC_R_MU_0A, 14, true },
 
 	/* CONN SS */
-	{ "con-usb", IMX_SC_R_USB_0, 2, 1 },
-	{ "con-usb0phy", IMX_SC_R_USB_0_PHY, 1, 0 },
-	{ "con-usb2", IMX_SC_R_USB_2, 1, 0 },
-	{ "con-usb2phy", IMX_SC_R_USB_2_PHY, 1, 0 },
-	{ "con-sdhc", IMX_SC_R_SDHC_0, 3, 1 },
-	{ "con-enet", IMX_SC_R_ENET_0, 2, 1 },
-	{ "con-nand", IMX_SC_R_NAND, 1, 0 },
-	{ "con-mlb", IMX_SC_R_MLB_0, 1, 1 },
+	{ "con-usb", IMX_SC_R_USB_0, 2, true },
+	{ "con-usb0phy", IMX_SC_R_USB_0_PHY, 1, false },
+	{ "con-usb2", IMX_SC_R_USB_2, 1, false },
+	{ "con-usb2phy", IMX_SC_R_USB_2_PHY, 1, false },
+	{ "con-sdhc", IMX_SC_R_SDHC_0, 3, true },
+	{ "con-enet", IMX_SC_R_ENET_0, 2, true },
+	{ "con-nand", IMX_SC_R_NAND, 1, false },
+	{ "con-mlb", IMX_SC_R_MLB_0, 1, true },
 
 	/* Audio DMA SS */
-	{ "adma-audio-pll0", IMX_SC_R_AUDIO_PLL_0, 1, 0 },
-	{ "adma-audio-pll1", IMX_SC_R_AUDIO_PLL_1, 1, 0 },
-	{ "adma-audio-clk-0", IMX_SC_R_AUDIO_CLK_0, 1, 0 },
-	{ "adma-dma0-ch", IMX_SC_R_DMA_0_CH0, 16, 1 },
-	{ "adma-dma1-ch", IMX_SC_R_DMA_1_CH0, 16, 1 },
-	{ "adma-dma2-ch", IMX_SC_R_DMA_2_CH0, 5, 1 },
-	{ "adma-asrc0", IMX_SC_R_ASRC_0, 1, 0 },
-	{ "adma-asrc1", IMX_SC_R_ASRC_1, 1, 0 },
-	{ "adma-esai0", IMX_SC_R_ESAI_0, 1, 0 },
-	{ "adma-spdif0", IMX_SC_R_SPDIF_0, 1, 0 },
-	{ "adma-sai", IMX_SC_R_SAI_0, 3, 1 },
-	{ "adma-amix", IMX_SC_R_AMIX, 1, 0 },
-	{ "adma-mqs0", IMX_SC_R_MQS_0, 1, 0 },
-	{ "adma-dsp", IMX_SC_R_DSP, 1, 0 },
-	{ "adma-dsp-ram", IMX_SC_R_DSP_RAM, 1, 0 },
-	{ "adma-can", IMX_SC_R_CAN_0, 3, 1 },
-	{ "adma-ftm", IMX_SC_R_FTM_0, 2, 1 },
-	{ "adma-lpi2c", IMX_SC_R_I2C_0, 4, 1 },
-	{ "adma-adc", IMX_SC_R_ADC_0, 1, 1 },
-	{ "adma-lcd", IMX_SC_R_LCD_0, 1, 1 },
-	{ "adma-lcd0-pwm", IMX_SC_R_LCD_0_PWM_0, 1, 1 },
-	{ "adma-lpuart", IMX_SC_R_UART_0, 4, 1 },
-	{ "adma-lpspi", IMX_SC_R_SPI_0, 4, 1 },
+	{ "adma-audio-pll0", IMX_SC_R_AUDIO_PLL_0, 1, false },
+	{ "adma-audio-pll1", IMX_SC_R_AUDIO_PLL_1, 1, false },
+	{ "adma-audio-clk-0", IMX_SC_R_AUDIO_CLK_0, 1, false },
+	{ "adma-dma0-ch", IMX_SC_R_DMA_0_CH0, 16, true },
+	{ "adma-dma1-ch", IMX_SC_R_DMA_1_CH0, 16, true },
+	{ "adma-dma2-ch", IMX_SC_R_DMA_2_CH0, 5, true },
+	{ "adma-asrc0", IMX_SC_R_ASRC_0, 1, false },
+	{ "adma-asrc1", IMX_SC_R_ASRC_1, 1, false },
+	{ "adma-esai0", IMX_SC_R_ESAI_0, 1, false },
+	{ "adma-spdif0", IMX_SC_R_SPDIF_0, 1, false },
+	{ "adma-sai", IMX_SC_R_SAI_0, 3, true },
+	{ "adma-amix", IMX_SC_R_AMIX, 1, false },
+	{ "adma-mqs0", IMX_SC_R_MQS_0, 1, false },
+	{ "adma-dsp", IMX_SC_R_DSP, 1, false },
+	{ "adma-dsp-ram", IMX_SC_R_DSP_RAM, 1, false },
+	{ "adma-can", IMX_SC_R_CAN_0, 3, true },
+	{ "adma-ftm", IMX_SC_R_FTM_0, 2, true },
+	{ "adma-lpi2c", IMX_SC_R_I2C_0, 4, true },
+	{ "adma-adc", IMX_SC_R_ADC_0, 1, true },
+	{ "adma-lcd", IMX_SC_R_LCD_0, 1, true },
+	{ "adma-lcd0-pwm", IMX_SC_R_LCD_0_PWM_0, 1, true },
+	{ "adma-lpuart", IMX_SC_R_UART_0, 4, true },
+	{ "adma-lpspi", IMX_SC_R_SPI_0, 4, true },
 
 	/* VPU SS  */
-	{ "vpu", IMX_SC_R_VPU, 1, 0 },
-	{ "vpu-pid", IMX_SC_R_VPU_PID0, 8, 1 },
-	{ "vpu-dec0", IMX_SC_R_VPU_DEC_0, 1, 0 },
-	{ "vpu-enc0", IMX_SC_R_VPU_ENC_0, 1, 0 },
+	{ "vpu", IMX_SC_R_VPU, 1, false },
+	{ "vpu-pid", IMX_SC_R_VPU_PID0, 8, true },
+	{ "vpu-dec0", IMX_SC_R_VPU_DEC_0, 1, false },
+	{ "vpu-enc0", IMX_SC_R_VPU_ENC_0, 1, false },
 
 	/* GPU SS */
-	{ "gpu0-pid", IMX_SC_R_GPU_0_PID0, 4, 1 },
+	{ "gpu0-pid", IMX_SC_R_GPU_0_PID0, 4, true },
 
 	/* HSIO SS */
-	{ "hsio-pcie-b", IMX_SC_R_PCIE_B, 1, 0 },
-	{ "hsio-serdes-1", IMX_SC_R_SERDES_1, 1, 0 },
-	{ "hsio-gpio", IMX_SC_R_HSIO_GPIO, 1, 0 },
+	{ "hsio-pcie-b", IMX_SC_R_PCIE_B, 1, false },
+	{ "hsio-serdes-1", IMX_SC_R_SERDES_1, 1, false },
+	{ "hsio-gpio", IMX_SC_R_HSIO_GPIO, 1, false },
 
 	/* MIPI/LVDS SS */
-	{ "mipi0", IMX_SC_R_MIPI_0, 1, 0 },
-	{ "mipi0-pwm0", IMX_SC_R_MIPI_0_PWM_0, 1, 0 },
-	{ "mipi0-i2c", IMX_SC_R_MIPI_0_I2C_0, 2, 1 },
-	{ "lvds0", IMX_SC_R_LVDS_0, 1, 0 },
+	{ "mipi0", IMX_SC_R_MIPI_0, 1, false },
+	{ "mipi0-pwm0", IMX_SC_R_MIPI_0_PWM_0, 1, false },
+	{ "mipi0-i2c", IMX_SC_R_MIPI_0_I2C_0, 2, true },
+	{ "lvds0", IMX_SC_R_LVDS_0, 1, false },
 
 	/* DC SS */
-	{ "dc0", IMX_SC_R_DC_0, 1, 0 },
-	{ "dc0-pll", IMX_SC_R_DC_0_PLL_0, 2, 1 },
+	{ "dc0", IMX_SC_R_DC_0, 1, false },
+	{ "dc0-pll", IMX_SC_R_DC_0_PLL_0, 2, true },
 };
 
 static const struct imx_sc_pd_soc imx8qxp_scu_pd = {
-- 
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/3] firmware: imx: scu-pd: add specifying the base of domain name index support
  2019-02-20 14:38 [PATCH 0/3] firmware: imx: scu-pd: generalize the implementation Aisheng Dong
  2019-02-20 14:38 ` [PATCH 1/3] firmware: imx: scu-pd: use bool to set postfix Aisheng Dong
@ 2019-02-20 14:38 ` Aisheng Dong
  2019-02-20 14:38 ` [PATCH 3/3] firmware: imx: scu-pd: decouple the SS information from domain names Aisheng Dong
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Aisheng Dong @ 2019-02-20 14:38 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Aisheng Dong, ulf.hansson, dongas86, khilman, linux-pm, rjw,
	dl-linux-imx, kernel, Fabio Estevam, shawnguo

As the domain resource id in the same type may not be continuous, so it's
hard to describe all such power domains with current struct imx_sc_pd_range.

Adding the optional base for domain name index to address this issue.
Then we can add the discrete domains easily later.

Cc: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Kevin Hilman <khilman@kernel.org>
Cc: linux-pm@vger.kernel.org
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
---
 drivers/firmware/imx/scu-pd.c | 107 ++++++++++++++++++++++--------------------
 1 file changed, 55 insertions(+), 52 deletions(-)

diff --git a/drivers/firmware/imx/scu-pd.c b/drivers/firmware/imx/scu-pd.c
index d1d39d9..48f49f8 100644
--- a/drivers/firmware/imx/scu-pd.c
+++ b/drivers/firmware/imx/scu-pd.c
@@ -74,7 +74,10 @@ struct imx_sc_pd_range {
 	char *name;
 	u32 rsrc;
 	u8 num;
+
+	/* add domain index */
 	bool postfix;
+	u8 start_from;
 };
 
 struct imx_sc_pd_soc {
@@ -84,71 +87,71 @@ struct imx_sc_pd_soc {
 
 static const struct imx_sc_pd_range imx8qxp_scu_pd_ranges[] = {
 	/* LSIO SS */
-	{ "lsio-pwm", IMX_SC_R_PWM_0, 8, true },
-	{ "lsio-gpio", IMX_SC_R_GPIO_0, 8, true },
-	{ "lsio-gpt", IMX_SC_R_GPT_0, 5, true },
-	{ "lsio-kpp", IMX_SC_R_KPP, 1, false },
-	{ "lsio-fspi", IMX_SC_R_FSPI_0, 2, true },
-	{ "lsio-mu", IMX_SC_R_MU_0A, 14, true },
+	{ "lsio-pwm", IMX_SC_R_PWM_0, 8, true, 0 },
+	{ "lsio-gpio", IMX_SC_R_GPIO_0, 8, true, 0 },
+	{ "lsio-gpt", IMX_SC_R_GPT_0, 5, true, 0 },
+	{ "lsio-kpp", IMX_SC_R_KPP, 1, false, 0 },
+	{ "lsio-fspi", IMX_SC_R_FSPI_0, 2, true, 0 },
+	{ "lsio-mu", IMX_SC_R_MU_0A, 14, true, 0 },
 
 	/* CONN SS */
-	{ "con-usb", IMX_SC_R_USB_0, 2, true },
-	{ "con-usb0phy", IMX_SC_R_USB_0_PHY, 1, false },
-	{ "con-usb2", IMX_SC_R_USB_2, 1, false },
-	{ "con-usb2phy", IMX_SC_R_USB_2_PHY, 1, false },
-	{ "con-sdhc", IMX_SC_R_SDHC_0, 3, true },
-	{ "con-enet", IMX_SC_R_ENET_0, 2, true },
-	{ "con-nand", IMX_SC_R_NAND, 1, false },
-	{ "con-mlb", IMX_SC_R_MLB_0, 1, true },
+	{ "con-usb", IMX_SC_R_USB_0, 2, true, 0 },
+	{ "con-usb0phy", IMX_SC_R_USB_0_PHY, 1, false, 0 },
+	{ "con-usb2", IMX_SC_R_USB_2, 1, false, 0 },
+	{ "con-usb2phy", IMX_SC_R_USB_2_PHY, 1, false, 0 },
+	{ "con-sdhc", IMX_SC_R_SDHC_0, 3, true, 0 },
+	{ "con-enet", IMX_SC_R_ENET_0, 2, true, 0 },
+	{ "con-nand", IMX_SC_R_NAND, 1, false, 0 },
+	{ "con-mlb", IMX_SC_R_MLB_0, 1, true, 0 },
 
 	/* Audio DMA SS */
-	{ "adma-audio-pll0", IMX_SC_R_AUDIO_PLL_0, 1, false },
-	{ "adma-audio-pll1", IMX_SC_R_AUDIO_PLL_1, 1, false },
-	{ "adma-audio-clk-0", IMX_SC_R_AUDIO_CLK_0, 1, false },
-	{ "adma-dma0-ch", IMX_SC_R_DMA_0_CH0, 16, true },
-	{ "adma-dma1-ch", IMX_SC_R_DMA_1_CH0, 16, true },
-	{ "adma-dma2-ch", IMX_SC_R_DMA_2_CH0, 5, true },
-	{ "adma-asrc0", IMX_SC_R_ASRC_0, 1, false },
-	{ "adma-asrc1", IMX_SC_R_ASRC_1, 1, false },
-	{ "adma-esai0", IMX_SC_R_ESAI_0, 1, false },
-	{ "adma-spdif0", IMX_SC_R_SPDIF_0, 1, false },
-	{ "adma-sai", IMX_SC_R_SAI_0, 3, true },
-	{ "adma-amix", IMX_SC_R_AMIX, 1, false },
-	{ "adma-mqs0", IMX_SC_R_MQS_0, 1, false },
-	{ "adma-dsp", IMX_SC_R_DSP, 1, false },
-	{ "adma-dsp-ram", IMX_SC_R_DSP_RAM, 1, false },
-	{ "adma-can", IMX_SC_R_CAN_0, 3, true },
-	{ "adma-ftm", IMX_SC_R_FTM_0, 2, true },
-	{ "adma-lpi2c", IMX_SC_R_I2C_0, 4, true },
-	{ "adma-adc", IMX_SC_R_ADC_0, 1, true },
-	{ "adma-lcd", IMX_SC_R_LCD_0, 1, true },
-	{ "adma-lcd0-pwm", IMX_SC_R_LCD_0_PWM_0, 1, true },
-	{ "adma-lpuart", IMX_SC_R_UART_0, 4, true },
-	{ "adma-lpspi", IMX_SC_R_SPI_0, 4, true },
+	{ "adma-audio-pll0", IMX_SC_R_AUDIO_PLL_0, 1, false, 0 },
+	{ "adma-audio-pll1", IMX_SC_R_AUDIO_PLL_1, 1, false, 0 },
+	{ "adma-audio-clk-0", IMX_SC_R_AUDIO_CLK_0, 1, false, 0 },
+	{ "adma-dma0-ch", IMX_SC_R_DMA_0_CH0, 16, true, 0 },
+	{ "adma-dma1-ch", IMX_SC_R_DMA_1_CH0, 16, true, 0 },
+	{ "adma-dma2-ch", IMX_SC_R_DMA_2_CH0, 5, true, 0 },
+	{ "adma-asrc0", IMX_SC_R_ASRC_0, 1, false, 0 },
+	{ "adma-asrc1", IMX_SC_R_ASRC_1, 1, false, 0 },
+	{ "adma-esai0", IMX_SC_R_ESAI_0, 1, false, 0 },
+	{ "adma-spdif0", IMX_SC_R_SPDIF_0, 1, false, 0 },
+	{ "adma-sai", IMX_SC_R_SAI_0, 3, true, 0 },
+	{ "adma-amix", IMX_SC_R_AMIX, 1, false, 0 },
+	{ "adma-mqs0", IMX_SC_R_MQS_0, 1, false, 0 },
+	{ "adma-dsp", IMX_SC_R_DSP, 1, false, 0 },
+	{ "adma-dsp-ram", IMX_SC_R_DSP_RAM, 1, false, 0 },
+	{ "adma-can", IMX_SC_R_CAN_0, 3, true, 0 },
+	{ "adma-ftm", IMX_SC_R_FTM_0, 2, true, 0 },
+	{ "adma-lpi2c", IMX_SC_R_I2C_0, 4, true, 0 },
+	{ "adma-adc", IMX_SC_R_ADC_0, 1, true, 0 },
+	{ "adma-lcd", IMX_SC_R_LCD_0, 1, true, 0 },
+	{ "adma-lcd0-pwm", IMX_SC_R_LCD_0_PWM_0, 1, true, 0 },
+	{ "adma-lpuart", IMX_SC_R_UART_0, 4, true, 0 },
+	{ "adma-lpspi", IMX_SC_R_SPI_0, 4, true, 0 },
 
 	/* VPU SS  */
-	{ "vpu", IMX_SC_R_VPU, 1, false },
-	{ "vpu-pid", IMX_SC_R_VPU_PID0, 8, true },
-	{ "vpu-dec0", IMX_SC_R_VPU_DEC_0, 1, false },
-	{ "vpu-enc0", IMX_SC_R_VPU_ENC_0, 1, false },
+	{ "vpu", IMX_SC_R_VPU, 1, false, 0 },
+	{ "vpu-pid", IMX_SC_R_VPU_PID0, 8, true, 0 },
+	{ "vpu-dec0", IMX_SC_R_VPU_DEC_0, 1, false, 0 },
+	{ "vpu-enc0", IMX_SC_R_VPU_ENC_0, 1, false, 0 },
 
 	/* GPU SS */
-	{ "gpu0-pid", IMX_SC_R_GPU_0_PID0, 4, true },
+	{ "gpu0-pid", IMX_SC_R_GPU_0_PID0, 4, true, 0 },
 
 	/* HSIO SS */
-	{ "hsio-pcie-b", IMX_SC_R_PCIE_B, 1, false },
-	{ "hsio-serdes-1", IMX_SC_R_SERDES_1, 1, false },
-	{ "hsio-gpio", IMX_SC_R_HSIO_GPIO, 1, false },
+	{ "hsio-pcie-b", IMX_SC_R_PCIE_B, 1, false, 0 },
+	{ "hsio-serdes-1", IMX_SC_R_SERDES_1, 1, false, 0 },
+	{ "hsio-gpio", IMX_SC_R_HSIO_GPIO, 1, false, 0 },
 
 	/* MIPI/LVDS SS */
-	{ "mipi0", IMX_SC_R_MIPI_0, 1, false },
-	{ "mipi0-pwm0", IMX_SC_R_MIPI_0_PWM_0, 1, false },
-	{ "mipi0-i2c", IMX_SC_R_MIPI_0_I2C_0, 2, true },
-	{ "lvds0", IMX_SC_R_LVDS_0, 1, false },
+	{ "mipi0", IMX_SC_R_MIPI_0, 1, false, 0 },
+	{ "mipi0-pwm0", IMX_SC_R_MIPI_0_PWM_0, 1, false, 0 },
+	{ "mipi0-i2c", IMX_SC_R_MIPI_0_I2C_0, 2, true, 0 },
+	{ "lvds0", IMX_SC_R_LVDS_0, 1, false, 0 },
 
 	/* DC SS */
-	{ "dc0", IMX_SC_R_DC_0, 1, false },
-	{ "dc0-pll", IMX_SC_R_DC_0_PLL_0, 2, true },
+	{ "dc0", IMX_SC_R_DC_0, 1, false, 0 },
+	{ "dc0-pll", IMX_SC_R_DC_0_PLL_0, 2, true, 0 },
 };
 
 static const struct imx_sc_pd_soc imx8qxp_scu_pd = {
@@ -236,7 +239,7 @@ imx_scu_add_pm_domain(struct device *dev, int idx,
 
 	if (pd_ranges->postfix)
 		snprintf(sc_pd->name, sizeof(sc_pd->name),
-			 "%s%i", pd_ranges->name, idx);
+			 "%s%i", pd_ranges->name, pd_ranges->start_from + idx);
 	else
 		snprintf(sc_pd->name, sizeof(sc_pd->name),
 			 "%s", pd_ranges->name);
-- 
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 3/3] firmware: imx: scu-pd: decouple the SS information from domain names
  2019-02-20 14:38 [PATCH 0/3] firmware: imx: scu-pd: generalize the implementation Aisheng Dong
  2019-02-20 14:38 ` [PATCH 1/3] firmware: imx: scu-pd: use bool to set postfix Aisheng Dong
  2019-02-20 14:38 ` [PATCH 2/3] firmware: imx: scu-pd: add specifying the base of domain name index support Aisheng Dong
@ 2019-02-20 14:38 ` Aisheng Dong
  2019-03-19  9:04   ` Shawn Guo
  2019-03-06 13:43 ` [PATCH 0/3] firmware: imx: scu-pd: generalize the implementation Aisheng Dong
  2019-03-19 13:58 ` Shawn Guo
  4 siblings, 1 reply; 8+ messages in thread
From: Aisheng Dong @ 2019-02-20 14:38 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Aisheng Dong, ulf.hansson, dongas86, khilman, linux-pm, rjw,
	dl-linux-imx, kernel, Fabio Estevam, shawnguo

As resource power domain service is provided by SCU firmware, no
SS information required. So we can remove the SS indicator from
the domain names, then the domains defined can be better shared
among different SCU based platforms.

Cc: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Kevin Hilman <khilman@kernel.org>
Cc: linux-pm@vger.kernel.org
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
---
 drivers/firmware/imx/scu-pd.c | 92 ++++++++++++++++++++++---------------------
 1 file changed, 48 insertions(+), 44 deletions(-)

diff --git a/drivers/firmware/imx/scu-pd.c b/drivers/firmware/imx/scu-pd.c
index 48f49f8..cd745b9 100644
--- a/drivers/firmware/imx/scu-pd.c
+++ b/drivers/firmware/imx/scu-pd.c
@@ -87,49 +87,51 @@ struct imx_sc_pd_soc {
 
 static const struct imx_sc_pd_range imx8qxp_scu_pd_ranges[] = {
 	/* LSIO SS */
-	{ "lsio-pwm", IMX_SC_R_PWM_0, 8, true, 0 },
-	{ "lsio-gpio", IMX_SC_R_GPIO_0, 8, true, 0 },
-	{ "lsio-gpt", IMX_SC_R_GPT_0, 5, true, 0 },
-	{ "lsio-kpp", IMX_SC_R_KPP, 1, false, 0 },
-	{ "lsio-fspi", IMX_SC_R_FSPI_0, 2, true, 0 },
-	{ "lsio-mu", IMX_SC_R_MU_0A, 14, true, 0 },
+	{ "pwm", IMX_SC_R_PWM_0, 8, true, 0 },
+	{ "gpio", IMX_SC_R_GPIO_0, 8, true, 0 },
+	{ "gpt", IMX_SC_R_GPT_0, 5, true, 0 },
+	{ "kpp", IMX_SC_R_KPP, 1, false, 0 },
+	{ "fspi", IMX_SC_R_FSPI_0, 2, true, 0 },
+	{ "mu", IMX_SC_R_MU_0A, 14, true, 0 },
 
 	/* CONN SS */
-	{ "con-usb", IMX_SC_R_USB_0, 2, true, 0 },
-	{ "con-usb0phy", IMX_SC_R_USB_0_PHY, 1, false, 0 },
-	{ "con-usb2", IMX_SC_R_USB_2, 1, false, 0 },
-	{ "con-usb2phy", IMX_SC_R_USB_2_PHY, 1, false, 0 },
-	{ "con-sdhc", IMX_SC_R_SDHC_0, 3, true, 0 },
-	{ "con-enet", IMX_SC_R_ENET_0, 2, true, 0 },
-	{ "con-nand", IMX_SC_R_NAND, 1, false, 0 },
-	{ "con-mlb", IMX_SC_R_MLB_0, 1, true, 0 },
-
-	/* Audio DMA SS */
-	{ "adma-audio-pll0", IMX_SC_R_AUDIO_PLL_0, 1, false, 0 },
-	{ "adma-audio-pll1", IMX_SC_R_AUDIO_PLL_1, 1, false, 0 },
-	{ "adma-audio-clk-0", IMX_SC_R_AUDIO_CLK_0, 1, false, 0 },
-	{ "adma-dma0-ch", IMX_SC_R_DMA_0_CH0, 16, true, 0 },
-	{ "adma-dma1-ch", IMX_SC_R_DMA_1_CH0, 16, true, 0 },
-	{ "adma-dma2-ch", IMX_SC_R_DMA_2_CH0, 5, true, 0 },
-	{ "adma-asrc0", IMX_SC_R_ASRC_0, 1, false, 0 },
-	{ "adma-asrc1", IMX_SC_R_ASRC_1, 1, false, 0 },
-	{ "adma-esai0", IMX_SC_R_ESAI_0, 1, false, 0 },
-	{ "adma-spdif0", IMX_SC_R_SPDIF_0, 1, false, 0 },
-	{ "adma-sai", IMX_SC_R_SAI_0, 3, true, 0 },
-	{ "adma-amix", IMX_SC_R_AMIX, 1, false, 0 },
-	{ "adma-mqs0", IMX_SC_R_MQS_0, 1, false, 0 },
-	{ "adma-dsp", IMX_SC_R_DSP, 1, false, 0 },
-	{ "adma-dsp-ram", IMX_SC_R_DSP_RAM, 1, false, 0 },
-	{ "adma-can", IMX_SC_R_CAN_0, 3, true, 0 },
-	{ "adma-ftm", IMX_SC_R_FTM_0, 2, true, 0 },
-	{ "adma-lpi2c", IMX_SC_R_I2C_0, 4, true, 0 },
-	{ "adma-adc", IMX_SC_R_ADC_0, 1, true, 0 },
-	{ "adma-lcd", IMX_SC_R_LCD_0, 1, true, 0 },
-	{ "adma-lcd0-pwm", IMX_SC_R_LCD_0_PWM_0, 1, true, 0 },
-	{ "adma-lpuart", IMX_SC_R_UART_0, 4, true, 0 },
-	{ "adma-lpspi", IMX_SC_R_SPI_0, 4, true, 0 },
-
-	/* VPU SS  */
+	{ "usb", IMX_SC_R_USB_0, 2, true, 0 },
+	{ "usb0phy", IMX_SC_R_USB_0_PHY, 1, false, 0 },
+	{ "usb2", IMX_SC_R_USB_2, 1, false, 0 },
+	{ "usb2phy", IMX_SC_R_USB_2_PHY, 1, false, 0 },
+	{ "sdhc", IMX_SC_R_SDHC_0, 3, true, 0 },
+	{ "enet", IMX_SC_R_ENET_0, 2, true, 0 },
+	{ "nand", IMX_SC_R_NAND, 1, false, 0 },
+	{ "mlb", IMX_SC_R_MLB_0, 1, true, 0 },
+
+	/* AUDIO SS */
+	{ "audio-pll0", IMX_SC_R_AUDIO_PLL_0, 1, false, 0 },
+	{ "audio-pll1", IMX_SC_R_AUDIO_PLL_1, 1, false, 0 },
+	{ "audio-clk-0", IMX_SC_R_AUDIO_CLK_0, 1, false, 0 },
+	{ "dma0-ch", IMX_SC_R_DMA_0_CH0, 16, true, 0 },
+	{ "dma1-ch", IMX_SC_R_DMA_1_CH0, 16, true, 0 },
+	{ "dma2-ch", IMX_SC_R_DMA_2_CH0, 5, true, 0 },
+	{ "asrc0", IMX_SC_R_ASRC_0, 1, false, 0 },
+	{ "asrc1", IMX_SC_R_ASRC_1, 1, false, 0 },
+	{ "esai0", IMX_SC_R_ESAI_0, 1, false, 0 },
+	{ "spdif0", IMX_SC_R_SPDIF_0, 1, false, 0 },
+	{ "sai", IMX_SC_R_SAI_0, 3, true, 0 },
+	{ "amix", IMX_SC_R_AMIX, 1, false, 0 },
+	{ "mqs0", IMX_SC_R_MQS_0, 1, false, 0 },
+	{ "dsp", IMX_SC_R_DSP, 1, false, 0 },
+	{ "dsp-ram", IMX_SC_R_DSP_RAM, 1, false, 0 },
+
+	/* DMA SS */
+	{ "can", IMX_SC_R_CAN_0, 3, true, 0 },
+	{ "ftm", IMX_SC_R_FTM_0, 2, true, 0 },
+	{ "lpi2c", IMX_SC_R_I2C_0, 4, true, 0 },
+	{ "adc", IMX_SC_R_ADC_0, 1, true, 0 },
+	{ "lcd", IMX_SC_R_LCD_0, 1, true, 0 },
+	{ "lcd0-pwm", IMX_SC_R_LCD_0_PWM_0, 1, true, 0 },
+	{ "lpuart", IMX_SC_R_UART_0, 4, true, 0 },
+	{ "lpspi", IMX_SC_R_SPI_0, 4, true, 0 },
+
+	/* VPU SS */
 	{ "vpu", IMX_SC_R_VPU, 1, false, 0 },
 	{ "vpu-pid", IMX_SC_R_VPU_PID0, 8, true, 0 },
 	{ "vpu-dec0", IMX_SC_R_VPU_DEC_0, 1, false, 0 },
@@ -139,14 +141,16 @@ static const struct imx_sc_pd_range imx8qxp_scu_pd_ranges[] = {
 	{ "gpu0-pid", IMX_SC_R_GPU_0_PID0, 4, true, 0 },
 
 	/* HSIO SS */
-	{ "hsio-pcie-b", IMX_SC_R_PCIE_B, 1, false, 0 },
-	{ "hsio-serdes-1", IMX_SC_R_SERDES_1, 1, false, 0 },
+	{ "pcie-b", IMX_SC_R_PCIE_B, 1, false, 0 },
+	{ "serdes-1", IMX_SC_R_SERDES_1, 1, false, 0 },
 	{ "hsio-gpio", IMX_SC_R_HSIO_GPIO, 1, false, 0 },
 
-	/* MIPI/LVDS SS */
+	/* MIPI SS */
 	{ "mipi0", IMX_SC_R_MIPI_0, 1, false, 0 },
 	{ "mipi0-pwm0", IMX_SC_R_MIPI_0_PWM_0, 1, false, 0 },
 	{ "mipi0-i2c", IMX_SC_R_MIPI_0_I2C_0, 2, true, 0 },
+
+	/* LVDS SS */
 	{ "lvds0", IMX_SC_R_LVDS_0, 1, false, 0 },
 
 	/* DC SS */
-- 
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* RE: [PATCH 0/3] firmware: imx: scu-pd: generalize the implementation
  2019-02-20 14:38 [PATCH 0/3] firmware: imx: scu-pd: generalize the implementation Aisheng Dong
                   ` (2 preceding siblings ...)
  2019-02-20 14:38 ` [PATCH 3/3] firmware: imx: scu-pd: decouple the SS information from domain names Aisheng Dong
@ 2019-03-06 13:43 ` Aisheng Dong
  2019-03-19 13:58 ` Shawn Guo
  4 siblings, 0 replies; 8+ messages in thread
From: Aisheng Dong @ 2019-03-06 13:43 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: ulf.hansson, dongas86, khilman, linux-pm, rjw, dl-linux-imx,
	kernel, Fabio Estevam, shawnguo

Gently Ping.

> -----Original Message-----
> From: Aisheng Dong
> Sent: Wednesday, February 20, 2019 10:38 PM
> To: linux-arm-kernel@lists.infradead.org
> Cc: dongas86@gmail.com; kernel@pengutronix.de; shawnguo@kernel.org;
> Fabio Estevam <fabio.estevam@nxp.com>; dl-linux-imx <linux-imx@nxp.com>;
> rjw@rjwysocki.net; ulf.hansson@linaro.org; khilman@kernel.org;
> linux-pm@vger.kernel.org; Aisheng Dong <aisheng.dong@nxp.com>
> Subject: [PATCH 0/3] firmware: imx: scu-pd: generalize the implementation
> 
> This patch series used to further generalize the driver implementation for
> better adding new SCU based platforms. e.g. imx8qm which is mostly the same
> as imx8qxp except a minor SS name and resource avaliability difference.
> e.g.
> QXP has ADMA SS while QM has DMA and Audio SS separately.
> So we decouple the SS information from domain names.
> 
> Dong Aisheng (3):
>   firmware: imx: scu-pd: use bool to set postfix
>   firmware: imx: scu-pd: add specifying the base of domain name index
>     support
>   firmware: imx: scu-pd: decouple the SS information from domain names
> 
>  drivers/firmware/imx/scu-pd.c | 121
> ++++++++++++++++++++++--------------------
>  1 file changed, 64 insertions(+), 57 deletions(-)
> 
> --
> 2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 3/3] firmware: imx: scu-pd: decouple the SS information from domain names
  2019-02-20 14:38 ` [PATCH 3/3] firmware: imx: scu-pd: decouple the SS information from domain names Aisheng Dong
@ 2019-03-19  9:04   ` Shawn Guo
  2019-03-19 12:28     ` Aisheng Dong
  0 siblings, 1 reply; 8+ messages in thread
From: Shawn Guo @ 2019-03-19  9:04 UTC (permalink / raw)
  To: Aisheng Dong
  Cc: ulf.hansson, dongas86, khilman, linux-pm, rjw, dl-linux-imx,
	kernel, Fabio Estevam, linux-arm-kernel

On Wed, Feb 20, 2019 at 02:38:36PM +0000, Aisheng Dong wrote:
> As resource power domain service is provided by SCU firmware, no
> SS information required. So we can remove the SS indicator from
> the domain names, then the domains defined can be better shared
> among different SCU based platforms.
> 
> Cc: Ulf Hansson <ulf.hansson@linaro.org>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Sascha Hauer <kernel@pengutronix.de>
> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
> Cc: Kevin Hilman <khilman@kernel.org>
> Cc: linux-pm@vger.kernel.org
> Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
> ---
>  drivers/firmware/imx/scu-pd.c | 92 ++++++++++++++++++++++---------------------
>  1 file changed, 48 insertions(+), 44 deletions(-)
> 
> diff --git a/drivers/firmware/imx/scu-pd.c b/drivers/firmware/imx/scu-pd.c
> index 48f49f8..cd745b9 100644
> --- a/drivers/firmware/imx/scu-pd.c
> +++ b/drivers/firmware/imx/scu-pd.c
> @@ -87,49 +87,51 @@ struct imx_sc_pd_soc {
>  
>  static const struct imx_sc_pd_range imx8qxp_scu_pd_ranges[] = {
>  	/* LSIO SS */
> -	{ "lsio-pwm", IMX_SC_R_PWM_0, 8, true, 0 },
> -	{ "lsio-gpio", IMX_SC_R_GPIO_0, 8, true, 0 },
> -	{ "lsio-gpt", IMX_SC_R_GPT_0, 5, true, 0 },
> -	{ "lsio-kpp", IMX_SC_R_KPP, 1, false, 0 },
> -	{ "lsio-fspi", IMX_SC_R_FSPI_0, 2, true, 0 },
> -	{ "lsio-mu", IMX_SC_R_MU_0A, 14, true, 0 },
> +	{ "pwm", IMX_SC_R_PWM_0, 8, true, 0 },
> +	{ "gpio", IMX_SC_R_GPIO_0, 8, true, 0 },
> +	{ "gpt", IMX_SC_R_GPT_0, 5, true, 0 },
> +	{ "kpp", IMX_SC_R_KPP, 1, false, 0 },
> +	{ "fspi", IMX_SC_R_FSPI_0, 2, true, 0 },
> +	{ "mu", IMX_SC_R_MU_0A, 14, true, 0 },
>  
>  	/* CONN SS */
> -	{ "con-usb", IMX_SC_R_USB_0, 2, true, 0 },
> -	{ "con-usb0phy", IMX_SC_R_USB_0_PHY, 1, false, 0 },
> -	{ "con-usb2", IMX_SC_R_USB_2, 1, false, 0 },
> -	{ "con-usb2phy", IMX_SC_R_USB_2_PHY, 1, false, 0 },
> -	{ "con-sdhc", IMX_SC_R_SDHC_0, 3, true, 0 },
> -	{ "con-enet", IMX_SC_R_ENET_0, 2, true, 0 },
> -	{ "con-nand", IMX_SC_R_NAND, 1, false, 0 },
> -	{ "con-mlb", IMX_SC_R_MLB_0, 1, true, 0 },
> -
> -	/* Audio DMA SS */
> -	{ "adma-audio-pll0", IMX_SC_R_AUDIO_PLL_0, 1, false, 0 },
> -	{ "adma-audio-pll1", IMX_SC_R_AUDIO_PLL_1, 1, false, 0 },
> -	{ "adma-audio-clk-0", IMX_SC_R_AUDIO_CLK_0, 1, false, 0 },
> -	{ "adma-dma0-ch", IMX_SC_R_DMA_0_CH0, 16, true, 0 },
> -	{ "adma-dma1-ch", IMX_SC_R_DMA_1_CH0, 16, true, 0 },
> -	{ "adma-dma2-ch", IMX_SC_R_DMA_2_CH0, 5, true, 0 },
> -	{ "adma-asrc0", IMX_SC_R_ASRC_0, 1, false, 0 },
> -	{ "adma-asrc1", IMX_SC_R_ASRC_1, 1, false, 0 },
> -	{ "adma-esai0", IMX_SC_R_ESAI_0, 1, false, 0 },
> -	{ "adma-spdif0", IMX_SC_R_SPDIF_0, 1, false, 0 },
> -	{ "adma-sai", IMX_SC_R_SAI_0, 3, true, 0 },
> -	{ "adma-amix", IMX_SC_R_AMIX, 1, false, 0 },
> -	{ "adma-mqs0", IMX_SC_R_MQS_0, 1, false, 0 },
> -	{ "adma-dsp", IMX_SC_R_DSP, 1, false, 0 },
> -	{ "adma-dsp-ram", IMX_SC_R_DSP_RAM, 1, false, 0 },
> -	{ "adma-can", IMX_SC_R_CAN_0, 3, true, 0 },
> -	{ "adma-ftm", IMX_SC_R_FTM_0, 2, true, 0 },
> -	{ "adma-lpi2c", IMX_SC_R_I2C_0, 4, true, 0 },
> -	{ "adma-adc", IMX_SC_R_ADC_0, 1, true, 0 },
> -	{ "adma-lcd", IMX_SC_R_LCD_0, 1, true, 0 },
> -	{ "adma-lcd0-pwm", IMX_SC_R_LCD_0_PWM_0, 1, true, 0 },
> -	{ "adma-lpuart", IMX_SC_R_UART_0, 4, true, 0 },
> -	{ "adma-lpspi", IMX_SC_R_SPI_0, 4, true, 0 },
> -
> -	/* VPU SS  */
> +	{ "usb", IMX_SC_R_USB_0, 2, true, 0 },
> +	{ "usb0phy", IMX_SC_R_USB_0_PHY, 1, false, 0 },
> +	{ "usb2", IMX_SC_R_USB_2, 1, false, 0 },
> +	{ "usb2phy", IMX_SC_R_USB_2_PHY, 1, false, 0 },
> +	{ "sdhc", IMX_SC_R_SDHC_0, 3, true, 0 },
> +	{ "enet", IMX_SC_R_ENET_0, 2, true, 0 },
> +	{ "nand", IMX_SC_R_NAND, 1, false, 0 },
> +	{ "mlb", IMX_SC_R_MLB_0, 1, true, 0 },
> +
> +	/* AUDIO SS */
> +	{ "audio-pll0", IMX_SC_R_AUDIO_PLL_0, 1, false, 0 },
> +	{ "audio-pll1", IMX_SC_R_AUDIO_PLL_1, 1, false, 0 },
> +	{ "audio-clk-0", IMX_SC_R_AUDIO_CLK_0, 1, false, 0 },
> +	{ "dma0-ch", IMX_SC_R_DMA_0_CH0, 16, true, 0 },
> +	{ "dma1-ch", IMX_SC_R_DMA_1_CH0, 16, true, 0 },
> +	{ "dma2-ch", IMX_SC_R_DMA_2_CH0, 5, true, 0 },
> +	{ "asrc0", IMX_SC_R_ASRC_0, 1, false, 0 },
> +	{ "asrc1", IMX_SC_R_ASRC_1, 1, false, 0 },
> +	{ "esai0", IMX_SC_R_ESAI_0, 1, false, 0 },
> +	{ "spdif0", IMX_SC_R_SPDIF_0, 1, false, 0 },
> +	{ "sai", IMX_SC_R_SAI_0, 3, true, 0 },
> +	{ "amix", IMX_SC_R_AMIX, 1, false, 0 },
> +	{ "mqs0", IMX_SC_R_MQS_0, 1, false, 0 },
> +	{ "dsp", IMX_SC_R_DSP, 1, false, 0 },
> +	{ "dsp-ram", IMX_SC_R_DSP_RAM, 1, false, 0 },
> +
> +	/* DMA SS */
> +	{ "can", IMX_SC_R_CAN_0, 3, true, 0 },
> +	{ "ftm", IMX_SC_R_FTM_0, 2, true, 0 },
> +	{ "lpi2c", IMX_SC_R_I2C_0, 4, true, 0 },
> +	{ "adc", IMX_SC_R_ADC_0, 1, true, 0 },
> +	{ "lcd", IMX_SC_R_LCD_0, 1, true, 0 },
> +	{ "lcd0-pwm", IMX_SC_R_LCD_0_PWM_0, 1, true, 0 },
> +	{ "lpuart", IMX_SC_R_UART_0, 4, true, 0 },
> +	{ "lpspi", IMX_SC_R_SPI_0, 4, true, 0 },
> +
> +	/* VPU SS */
>  	{ "vpu", IMX_SC_R_VPU, 1, false, 0 },
>  	{ "vpu-pid", IMX_SC_R_VPU_PID0, 8, true, 0 },
>  	{ "vpu-dec0", IMX_SC_R_VPU_DEC_0, 1, false, 0 },
> @@ -139,14 +141,16 @@ static const struct imx_sc_pd_range imx8qxp_scu_pd_ranges[] = {
>  	{ "gpu0-pid", IMX_SC_R_GPU_0_PID0, 4, true, 0 },
>  
>  	/* HSIO SS */
> -	{ "hsio-pcie-b", IMX_SC_R_PCIE_B, 1, false, 0 },
> -	{ "hsio-serdes-1", IMX_SC_R_SERDES_1, 1, false, 0 },
> +	{ "pcie-b", IMX_SC_R_PCIE_B, 1, false, 0 },
> +	{ "serdes-1", IMX_SC_R_SERDES_1, 1, false, 0 },
>  	{ "hsio-gpio", IMX_SC_R_HSIO_GPIO, 1, false, 0 },

Why is gpio so special that we need to keep the SS indicator?

Shawn

>  
> -	/* MIPI/LVDS SS */
> +	/* MIPI SS */
>  	{ "mipi0", IMX_SC_R_MIPI_0, 1, false, 0 },
>  	{ "mipi0-pwm0", IMX_SC_R_MIPI_0_PWM_0, 1, false, 0 },
>  	{ "mipi0-i2c", IMX_SC_R_MIPI_0_I2C_0, 2, true, 0 },
> +
> +	/* LVDS SS */
>  	{ "lvds0", IMX_SC_R_LVDS_0, 1, false, 0 },
>  
>  	/* DC SS */
> -- 
> 2.7.4
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [PATCH 3/3] firmware: imx: scu-pd: decouple the SS information from domain names
  2019-03-19  9:04   ` Shawn Guo
@ 2019-03-19 12:28     ` Aisheng Dong
  0 siblings, 0 replies; 8+ messages in thread
From: Aisheng Dong @ 2019-03-19 12:28 UTC (permalink / raw)
  To: Shawn Guo
  Cc: ulf.hansson, dongas86, khilman, linux-pm, rjw, dl-linux-imx,
	kernel, Fabio Estevam, linux-arm-kernel

> >  	/* HSIO SS */
> > -	{ "hsio-pcie-b", IMX_SC_R_PCIE_B, 1, false, 0 },
> > -	{ "hsio-serdes-1", IMX_SC_R_SERDES_1, 1, false, 0 },
> > +	{ "pcie-b", IMX_SC_R_PCIE_B, 1, false, 0 },
> > +	{ "serdes-1", IMX_SC_R_SERDES_1, 1, false, 0 },
> >  	{ "hsio-gpio", IMX_SC_R_HSIO_GPIO, 1, false, 0 },
> 
> Why is gpio so special that we need to keep the SS indicator?
> 

GPIO also exists on other SS like LSIO.
For those special resources in special SS, we add the SS indicator,
Just like how SC firmware does when defining resource ID.

Regards
Dong Aisheng

> Shawn
> 
> >
> > -	/* MIPI/LVDS SS */
> > +	/* MIPI SS */
> >  	{ "mipi0", IMX_SC_R_MIPI_0, 1, false, 0 },
> >  	{ "mipi0-pwm0", IMX_SC_R_MIPI_0_PWM_0, 1, false, 0 },
> >  	{ "mipi0-i2c", IMX_SC_R_MIPI_0_I2C_0, 2, true, 0 },
> > +
> > +	/* LVDS SS */
> >  	{ "lvds0", IMX_SC_R_LVDS_0, 1, false, 0 },
> >
> >  	/* DC SS */
> > --
> > 2.7.4
> >

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/3] firmware: imx: scu-pd: generalize the implementation
  2019-02-20 14:38 [PATCH 0/3] firmware: imx: scu-pd: generalize the implementation Aisheng Dong
                   ` (3 preceding siblings ...)
  2019-03-06 13:43 ` [PATCH 0/3] firmware: imx: scu-pd: generalize the implementation Aisheng Dong
@ 2019-03-19 13:58 ` Shawn Guo
  4 siblings, 0 replies; 8+ messages in thread
From: Shawn Guo @ 2019-03-19 13:58 UTC (permalink / raw)
  To: Aisheng Dong
  Cc: ulf.hansson, dongas86, linux-pm, khilman, rjw, dl-linux-imx,
	kernel, Fabio Estevam, linux-arm-kernel

On Wed, Feb 20, 2019 at 02:38:23PM +0000, Aisheng Dong wrote:
> This patch series used to further generalize the driver implementation for
> better adding new SCU based platforms. e.g. imx8qm which is mostly the same
> as imx8qxp except a minor SS name and resource avaliability difference.
> e.g.
> QXP has ADMA SS while QM has DMA and Audio SS separately.
> So we decouple the SS information from domain names.
> 
> Dong Aisheng (3):
>   firmware: imx: scu-pd: use bool to set postfix
>   firmware: imx: scu-pd: add specifying the base of domain name index
>     support
>   firmware: imx: scu-pd: decouple the SS information from domain names

Applied all, thanks.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-03-19 13:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-20 14:38 [PATCH 0/3] firmware: imx: scu-pd: generalize the implementation Aisheng Dong
2019-02-20 14:38 ` [PATCH 1/3] firmware: imx: scu-pd: use bool to set postfix Aisheng Dong
2019-02-20 14:38 ` [PATCH 2/3] firmware: imx: scu-pd: add specifying the base of domain name index support Aisheng Dong
2019-02-20 14:38 ` [PATCH 3/3] firmware: imx: scu-pd: decouple the SS information from domain names Aisheng Dong
2019-03-19  9:04   ` Shawn Guo
2019-03-19 12:28     ` Aisheng Dong
2019-03-06 13:43 ` [PATCH 0/3] firmware: imx: scu-pd: generalize the implementation Aisheng Dong
2019-03-19 13:58 ` Shawn Guo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).