public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH V2 1/2] imx: mx6 remove duplicated enable_cspi_clock
@ 2015-06-25  1:33 Peng Fan
  2015-06-28  8:53 ` Stefano Babic
  0 siblings, 1 reply; 6+ messages in thread
From: Peng Fan @ 2015-06-25  1:33 UTC (permalink / raw)
  To: u-boot

enable_spi_clock does the same thing with enable_cspi_clock, so
remove enable_cspi_clock.
Remove enable_cspi_clock prototype in header file
convert cm_fx6/spl.c to use enable_spi_clk

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
---
 arch/arm/cpu/armv7/mx6/clock.c        | 19 -------------------
 arch/arm/include/asm/arch-mx6/clock.h |  1 -
 board/compulab/cm_fx6/spl.c           |  2 +-
 3 files changed, 1 insertion(+), 21 deletions(-)

diff --git a/arch/arm/cpu/armv7/mx6/clock.c b/arch/arm/cpu/armv7/mx6/clock.c
index ae99945..1134770 100644
--- a/arch/arm/cpu/armv7/mx6/clock.c
+++ b/arch/arm/cpu/armv7/mx6/clock.c
@@ -102,25 +102,6 @@ void enable_uart_clk(unsigned char enable)
 }
 #endif
 
-#ifdef CONFIG_SPI
-/* spi_num can be from 0 - 4 */
-int enable_cspi_clock(unsigned char enable, unsigned spi_num)
-{
-	u32 mask;
-
-	if (spi_num > 4)
-		return -EINVAL;
-
-	mask = MXC_CCM_CCGR_CG_MASK << (spi_num * 2);
-	if (enable)
-		setbits_le32(&imx_ccm->CCGR1, mask);
-	else
-		clrbits_le32(&imx_ccm->CCGR1, mask);
-
-	return 0;
-}
-#endif
-
 #ifdef CONFIG_MMC
 int enable_usdhc_clk(unsigned char enable, unsigned bus_num)
 {
diff --git a/arch/arm/include/asm/arch-mx6/clock.h b/arch/arm/include/asm/arch-mx6/clock.h
index a6de5ee..7b3bbb8 100644
--- a/arch/arm/include/asm/arch-mx6/clock.h
+++ b/arch/arm/include/asm/arch-mx6/clock.h
@@ -57,7 +57,6 @@ void hab_caam_clock_enable(unsigned char enable);
 void enable_ocotp_clk(unsigned char enable);
 void enable_usboh3_clk(unsigned char enable);
 void enable_uart_clk(unsigned char enable);
-int enable_cspi_clock(unsigned char enable, unsigned spi_num);
 int enable_usdhc_clk(unsigned char enable, unsigned bus_num);
 int enable_sata_clock(void);
 void disable_sata_clock(void);
diff --git a/board/compulab/cm_fx6/spl.c b/board/compulab/cm_fx6/spl.c
index 5b4b76f..d94ced9 100644
--- a/board/compulab/cm_fx6/spl.c
+++ b/board/compulab/cm_fx6/spl.c
@@ -303,7 +303,7 @@ static void cm_fx6_setup_uart(void)
 static void cm_fx6_setup_ecspi(void)
 {
 	cm_fx6_set_ecspi_iomux();
-	enable_cspi_clock(1, 0);
+	enable_spi_clk(1, 0);
 }
 #else
 static void cm_fx6_setup_ecspi(void) { }
-- 
1.8.4

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

* [U-Boot] [PATCH V2 1/2] imx: mx6 remove duplicated enable_cspi_clock
  2015-06-25  1:33 Peng Fan
@ 2015-06-28  8:53 ` Stefano Babic
  0 siblings, 0 replies; 6+ messages in thread
From: Stefano Babic @ 2015-06-28  8:53 UTC (permalink / raw)
  To: u-boot

Hi Peng,

On 25/06/2015 03:33, Peng Fan wrote:
> enable_spi_clock does the same thing with enable_cspi_clock, so
> remove enable_cspi_clock.
> Remove enable_cspi_clock prototype in header file
> convert cm_fx6/spl.c to use enable_spi_clk
> 
> Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
> ---
>  arch/arm/cpu/armv7/mx6/clock.c        | 19 -------------------
>  arch/arm/include/asm/arch-mx6/clock.h |  1 -
>  board/compulab/cm_fx6/spl.c           |  2 +-
>  3 files changed, 1 insertion(+), 21 deletions(-)
> 
> diff --git a/arch/arm/cpu/armv7/mx6/clock.c b/arch/arm/cpu/armv7/mx6/clock.c
> index ae99945..1134770 100644
> --- a/arch/arm/cpu/armv7/mx6/clock.c
> +++ b/arch/arm/cpu/armv7/mx6/clock.c
> @@ -102,25 +102,6 @@ void enable_uart_clk(unsigned char enable)
>  }
>  #endif
>  
> -#ifdef CONFIG_SPI
> -/* spi_num can be from 0 - 4 */
> -int enable_cspi_clock(unsigned char enable, unsigned spi_num)
> -{
> -	u32 mask;
> -
> -	if (spi_num > 4)
> -		return -EINVAL;
> -
> -	mask = MXC_CCM_CCGR_CG_MASK << (spi_num * 2);
> -	if (enable)
> -		setbits_le32(&imx_ccm->CCGR1, mask);
> -	else
> -		clrbits_le32(&imx_ccm->CCGR1, mask);
> -
> -	return 0;
> -}
> -#endif
> -
>  #ifdef CONFIG_MMC
>  int enable_usdhc_clk(unsigned char enable, unsigned bus_num)
>  {
> diff --git a/arch/arm/include/asm/arch-mx6/clock.h b/arch/arm/include/asm/arch-mx6/clock.h
> index a6de5ee..7b3bbb8 100644
> --- a/arch/arm/include/asm/arch-mx6/clock.h
> +++ b/arch/arm/include/asm/arch-mx6/clock.h
> @@ -57,7 +57,6 @@ void hab_caam_clock_enable(unsigned char enable);
>  void enable_ocotp_clk(unsigned char enable);
>  void enable_usboh3_clk(unsigned char enable);
>  void enable_uart_clk(unsigned char enable);
> -int enable_cspi_clock(unsigned char enable, unsigned spi_num);
>  int enable_usdhc_clk(unsigned char enable, unsigned bus_num);
>  int enable_sata_clock(void);
>  void disable_sata_clock(void);
> diff --git a/board/compulab/cm_fx6/spl.c b/board/compulab/cm_fx6/spl.c
> index 5b4b76f..d94ced9 100644
> --- a/board/compulab/cm_fx6/spl.c
> +++ b/board/compulab/cm_fx6/spl.c
> @@ -303,7 +303,7 @@ static void cm_fx6_setup_uart(void)
>  static void cm_fx6_setup_ecspi(void)
>  {
>  	cm_fx6_set_ecspi_iomux();
> -	enable_cspi_clock(1, 0);
> +	enable_spi_clk(1, 0);
>  }
>  #else
>  static void cm_fx6_setup_ecspi(void) { }
> 

Acked-by: Stefano Babic <sbabic@denx.de>

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

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

* [U-Boot] [PATCH V2 1/2] imx: mx6 remove duplicated enable_cspi_clock
@ 2015-07-01  9:01 Peng Fan
  2015-07-01  9:01 ` [U-Boot] [PATCH V2 2/2] imx: mx6 add i2c4 clock support for i.MX6SX Peng Fan
  2015-07-10  7:37 ` [U-Boot] [PATCH V2 1/2] imx: mx6 remove duplicated enable_cspi_clock Stefano Babic
  0 siblings, 2 replies; 6+ messages in thread
From: Peng Fan @ 2015-07-01  9:01 UTC (permalink / raw)
  To: u-boot

enable_spi_clock does the same thing with enable_cspi_clock, so
remove enable_cspi_clock.
Remove enable_cspi_clock prototype in header file
convert cm_fx6/spl.c to use enable_spi_clk

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Acked-by: Stefano Babic <sbabic@denx.de>
---

Changes v2:
 Add Stefano's Acked-by

 arch/arm/cpu/armv7/mx6/clock.c        | 19 -------------------
 arch/arm/include/asm/arch-mx6/clock.h |  1 -
 board/compulab/cm_fx6/spl.c           |  2 +-
 3 files changed, 1 insertion(+), 21 deletions(-)

diff --git a/arch/arm/cpu/armv7/mx6/clock.c b/arch/arm/cpu/armv7/mx6/clock.c
index b7e714c..7bd78d7 100644
--- a/arch/arm/cpu/armv7/mx6/clock.c
+++ b/arch/arm/cpu/armv7/mx6/clock.c
@@ -102,25 +102,6 @@ void enable_uart_clk(unsigned char enable)
 }
 #endif
 
-#ifdef CONFIG_SPI
-/* spi_num can be from 0 - 4 */
-int enable_cspi_clock(unsigned char enable, unsigned spi_num)
-{
-	u32 mask;
-
-	if (spi_num > 4)
-		return -EINVAL;
-
-	mask = MXC_CCM_CCGR_CG_MASK << (spi_num * 2);
-	if (enable)
-		setbits_le32(&imx_ccm->CCGR1, mask);
-	else
-		clrbits_le32(&imx_ccm->CCGR1, mask);
-
-	return 0;
-}
-#endif
-
 #ifdef CONFIG_MMC
 int enable_usdhc_clk(unsigned char enable, unsigned bus_num)
 {
diff --git a/arch/arm/include/asm/arch-mx6/clock.h b/arch/arm/include/asm/arch-mx6/clock.h
index a6de5ee..7b3bbb8 100644
--- a/arch/arm/include/asm/arch-mx6/clock.h
+++ b/arch/arm/include/asm/arch-mx6/clock.h
@@ -57,7 +57,6 @@ void hab_caam_clock_enable(unsigned char enable);
 void enable_ocotp_clk(unsigned char enable);
 void enable_usboh3_clk(unsigned char enable);
 void enable_uart_clk(unsigned char enable);
-int enable_cspi_clock(unsigned char enable, unsigned spi_num);
 int enable_usdhc_clk(unsigned char enable, unsigned bus_num);
 int enable_sata_clock(void);
 void disable_sata_clock(void);
diff --git a/board/compulab/cm_fx6/spl.c b/board/compulab/cm_fx6/spl.c
index 5b4b76f..d94ced9 100644
--- a/board/compulab/cm_fx6/spl.c
+++ b/board/compulab/cm_fx6/spl.c
@@ -303,7 +303,7 @@ static void cm_fx6_setup_uart(void)
 static void cm_fx6_setup_ecspi(void)
 {
 	cm_fx6_set_ecspi_iomux();
-	enable_cspi_clock(1, 0);
+	enable_spi_clk(1, 0);
 }
 #else
 static void cm_fx6_setup_ecspi(void) { }
-- 
1.8.4

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

* [U-Boot] [PATCH V2 2/2] imx: mx6 add i2c4 clock support for i.MX6SX
  2015-07-01  9:01 [U-Boot] [PATCH V2 1/2] imx: mx6 remove duplicated enable_cspi_clock Peng Fan
@ 2015-07-01  9:01 ` Peng Fan
  2015-07-10  7:37   ` Stefano Babic
  2015-07-10  7:37 ` [U-Boot] [PATCH V2 1/2] imx: mx6 remove duplicated enable_cspi_clock Stefano Babic
  1 sibling, 1 reply; 6+ messages in thread
From: Peng Fan @ 2015-07-01  9:01 UTC (permalink / raw)
  To: u-boot

Add I2C4 clock support for i.MX6SX. Since we use runtime check,
but not macro, we need to remove `#ifdef ..` in crm_regs.h, or
gcc will fail to compile the code succesfully.

Making the macros only for i.MX6SX open to other i.MX6x maybe not
a good choice, but we have runtime check.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
---

Changes v2:
 correct spelling error in commit log.

 arch/arm/cpu/armv7/mx6/clock.c           | 14 ++++++++++----
 arch/arm/include/asm/arch-mx6/crm_regs.h |  5 ++---
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/arch/arm/cpu/armv7/mx6/clock.c b/arch/arm/cpu/armv7/mx6/clock.c
index 7bd78d7..3e94472 100644
--- a/arch/arm/cpu/armv7/mx6/clock.c
+++ b/arch/arm/cpu/armv7/mx6/clock.c
@@ -126,6 +126,7 @@ int enable_i2c_clk(unsigned char enable, unsigned i2c_num)
 {
 	u32 reg;
 	u32 mask;
+	u32 *addr;
 
 	if (i2c_num > 3)
 		return -EINVAL;
@@ -140,14 +141,19 @@ int enable_i2c_clk(unsigned char enable, unsigned i2c_num)
 			reg &= ~mask;
 		__raw_writel(reg, &imx_ccm->CCGR2);
 	} else {
-		mask = MXC_CCM_CCGR_CG_MASK
-			<< (MXC_CCM_CCGR1_I2C4_SERIAL_OFFSET);
-		reg = __raw_readl(&imx_ccm->CCGR1);
+		if (is_cpu_type(MXC_CPU_MX6SX)) {
+			mask = MXC_CCM_CCGR6_I2C4_MASK;
+			addr = &imx_ccm->CCGR6;
+		} else {
+			mask = MXC_CCM_CCGR1_I2C4_SERIAL_MASK;
+			addr = &imx_ccm->CCGR1;
+		}
+		reg = __raw_readl(addr);
 		if (enable)
 			reg |= mask;
 		else
 			reg &= ~mask;
-		__raw_writel(reg, &imx_ccm->CCGR1);
+		__raw_writel(reg, addr);
 	}
 	return 0;
 }
diff --git a/arch/arm/include/asm/arch-mx6/crm_regs.h b/arch/arm/include/asm/arch-mx6/crm_regs.h
index 5bbf6e0..7d9fe73 100644
--- a/arch/arm/include/asm/arch-mx6/crm_regs.h
+++ b/arch/arm/include/asm/arch-mx6/crm_regs.h
@@ -742,7 +742,7 @@ struct mxc_ccm_reg {
 #define MXC_CCM_CCGR6_USDHC4_MASK		(3 << MXC_CCM_CCGR6_USDHC4_OFFSET)
 #define MXC_CCM_CCGR6_EMI_SLOW_OFFSET		10
 #define MXC_CCM_CCGR6_EMI_SLOW_MASK		(3 << MXC_CCM_CCGR6_EMI_SLOW_OFFSET)
-#ifdef CONFIG_MX6SX
+/* The following *CCGR6* exist only i.MX6SX */
 #define MXC_CCM_CCGR6_PWM8_OFFSET		16
 #define MXC_CCM_CCGR6_PWM8_MASK			(3 << MXC_CCM_CCGR6_PWM8_OFFSET)
 #define MXC_CCM_CCGR6_VADC_OFFSET		20
@@ -757,10 +757,9 @@ struct mxc_ccm_reg {
 #define MXC_CCM_CCGR6_PWM6_MASK			(3 << MXC_CCM_CCGR6_PWM6_OFFSET)
 #define MXC_CCM_CCGR6_PWM7_OFFSET		30
 #define MXC_CCM_CCGR6_PWM7_MASK			(3 << MXC_CCM_CCGR6_PWM7_OFFSET)
-#else
+/* The two does not exist on i.MX6SX */
 #define MXC_CCM_CCGR6_VDOAXICLK_OFFSET		12
 #define MXC_CCM_CCGR6_VDOAXICLK_MASK		(3 << MXC_CCM_CCGR6_VDOAXICLK_OFFSET)
-#endif
 
 #define BM_ANADIG_PLL_SYS_LOCK 0x80000000
 #define BP_ANADIG_PLL_SYS_RSVD0      20
-- 
1.8.4

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

* [U-Boot] [PATCH V2 1/2] imx: mx6 remove duplicated enable_cspi_clock
  2015-07-01  9:01 [U-Boot] [PATCH V2 1/2] imx: mx6 remove duplicated enable_cspi_clock Peng Fan
  2015-07-01  9:01 ` [U-Boot] [PATCH V2 2/2] imx: mx6 add i2c4 clock support for i.MX6SX Peng Fan
@ 2015-07-10  7:37 ` Stefano Babic
  1 sibling, 0 replies; 6+ messages in thread
From: Stefano Babic @ 2015-07-10  7:37 UTC (permalink / raw)
  To: u-boot

Hi Peng,

On 01/07/2015 11:01, Peng Fan wrote:
> enable_spi_clock does the same thing with enable_cspi_clock, so
> remove enable_cspi_clock.
> Remove enable_cspi_clock prototype in header file
> convert cm_fx6/spl.c to use enable_spi_clk
> 
> Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
> Acked-by: Stefano Babic <sbabic@denx.de>
> ---

Applied to u-boot-imx, thanks !

Best regards,
Stefano Babic


-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

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

* [U-Boot] [PATCH V2 2/2] imx: mx6 add i2c4 clock support for i.MX6SX
  2015-07-01  9:01 ` [U-Boot] [PATCH V2 2/2] imx: mx6 add i2c4 clock support for i.MX6SX Peng Fan
@ 2015-07-10  7:37   ` Stefano Babic
  0 siblings, 0 replies; 6+ messages in thread
From: Stefano Babic @ 2015-07-10  7:37 UTC (permalink / raw)
  To: u-boot

On 01/07/2015 11:01, Peng Fan wrote:
> Add I2C4 clock support for i.MX6SX. Since we use runtime check,
> but not macro, we need to remove `#ifdef ..` in crm_regs.h, or
> gcc will fail to compile the code succesfully.
> 
> Making the macros only for i.MX6SX open to other i.MX6x maybe not
> a good choice, but we have runtime check.
> 
> Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
> ---
> 
> Changes v2:
>  correct spelling error in commit log.
> 
>  arch/arm/cpu/armv7/mx6/clock.c           | 14 ++++++++++----
>  arch/arm/include/asm/arch-mx6/crm_regs.h |  5 ++---
>  2 files changed, 12 insertions(+), 7 deletions(-)
> 
> diff --git a/arch/arm/cpu/armv7/mx6/clock.c b/arch/arm/cpu/armv7/mx6/clock.c
> index 7bd78d7..3e94472 100644
> --- a/arch/arm/cpu/armv7/mx6/clock.c
> +++ b/arch/arm/cpu/armv7/mx6/clock.c
> @@ -126,6 +126,7 @@ int enable_i2c_clk(unsigned char enable, unsigned i2c_num)
>  {
>  	u32 reg;
>  	u32 mask;
> +	u32 *addr;
>  
>  	if (i2c_num > 3)
>  		return -EINVAL;
> @@ -140,14 +141,19 @@ int enable_i2c_clk(unsigned char enable, unsigned i2c_num)
>  			reg &= ~mask;
>  		__raw_writel(reg, &imx_ccm->CCGR2);
>  	} else {
> -		mask = MXC_CCM_CCGR_CG_MASK
> -			<< (MXC_CCM_CCGR1_I2C4_SERIAL_OFFSET);
> -		reg = __raw_readl(&imx_ccm->CCGR1);
> +		if (is_cpu_type(MXC_CPU_MX6SX)) {
> +			mask = MXC_CCM_CCGR6_I2C4_MASK;
> +			addr = &imx_ccm->CCGR6;
> +		} else {
> +			mask = MXC_CCM_CCGR1_I2C4_SERIAL_MASK;
> +			addr = &imx_ccm->CCGR1;
> +		}
> +		reg = __raw_readl(addr);
>  		if (enable)
>  			reg |= mask;
>  		else
>  			reg &= ~mask;
> -		__raw_writel(reg, &imx_ccm->CCGR1);
> +		__raw_writel(reg, addr);
>  	}
>  	return 0;
>  }
> diff --git a/arch/arm/include/asm/arch-mx6/crm_regs.h b/arch/arm/include/asm/arch-mx6/crm_regs.h
> index 5bbf6e0..7d9fe73 100644
> --- a/arch/arm/include/asm/arch-mx6/crm_regs.h
> +++ b/arch/arm/include/asm/arch-mx6/crm_regs.h
> @@ -742,7 +742,7 @@ struct mxc_ccm_reg {
>  #define MXC_CCM_CCGR6_USDHC4_MASK		(3 << MXC_CCM_CCGR6_USDHC4_OFFSET)
>  #define MXC_CCM_CCGR6_EMI_SLOW_OFFSET		10
>  #define MXC_CCM_CCGR6_EMI_SLOW_MASK		(3 << MXC_CCM_CCGR6_EMI_SLOW_OFFSET)
> -#ifdef CONFIG_MX6SX
> +/* The following *CCGR6* exist only i.MX6SX */
>  #define MXC_CCM_CCGR6_PWM8_OFFSET		16
>  #define MXC_CCM_CCGR6_PWM8_MASK			(3 << MXC_CCM_CCGR6_PWM8_OFFSET)
>  #define MXC_CCM_CCGR6_VADC_OFFSET		20
> @@ -757,10 +757,9 @@ struct mxc_ccm_reg {
>  #define MXC_CCM_CCGR6_PWM6_MASK			(3 << MXC_CCM_CCGR6_PWM6_OFFSET)
>  #define MXC_CCM_CCGR6_PWM7_OFFSET		30
>  #define MXC_CCM_CCGR6_PWM7_MASK			(3 << MXC_CCM_CCGR6_PWM7_OFFSET)
> -#else
> +/* The two does not exist on i.MX6SX */
>  #define MXC_CCM_CCGR6_VDOAXICLK_OFFSET		12
>  #define MXC_CCM_CCGR6_VDOAXICLK_MASK		(3 << MXC_CCM_CCGR6_VDOAXICLK_OFFSET)
> -#endif
>  
>  #define BM_ANADIG_PLL_SYS_LOCK 0x80000000
>  #define BP_ANADIG_PLL_SYS_RSVD0      20
> 

Applied to u-boot-imx, thanks !

Best regards,
Stefano Babic
-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

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

end of thread, other threads:[~2015-07-10  7:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-01  9:01 [U-Boot] [PATCH V2 1/2] imx: mx6 remove duplicated enable_cspi_clock Peng Fan
2015-07-01  9:01 ` [U-Boot] [PATCH V2 2/2] imx: mx6 add i2c4 clock support for i.MX6SX Peng Fan
2015-07-10  7:37   ` Stefano Babic
2015-07-10  7:37 ` [U-Boot] [PATCH V2 1/2] imx: mx6 remove duplicated enable_cspi_clock Stefano Babic
  -- strict thread matches above, loose matches on Subject: below --
2015-06-25  1:33 Peng Fan
2015-06-28  8:53 ` Stefano Babic

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox