All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lukasz Majewski <lukma@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 04/21] vybrid: clock: Provide enable_i2c_clk() function for Vybrid
Date: Fri, 1 Feb 2019 21:49:33 +0100	[thread overview]
Message-ID: <20190201214933.461b9172@jawa> (raw)
In-Reply-To: <8381cbc3bee0a79f5313135ae0802fd5@agner.ch>

Hi Stefan,

> On 01.02.2019 15:19, Lukasz Majewski wrote:
> > Hi Stefan,
> >   
> >> On 20.01.2019 14:34, Lukasz Majewski wrote:  
> >> > Provide function to enable I2C2 clock for vf610 (BK4) - in the
> >> > generic code.  
> >>
> >> Can you split this in two commits, one adding enable_i2c_clk and
> >> the second removing board specific clock enable?  
> > 
> > This particular commit only adds new clock to generic driver.  
> 
> No, this commit also touches board/phytec/pcm052/pcm052.c.
> 
> > 
> > There is a commit latter, which is removing the board file:
> > [PATCH v2 15/21] pcm052: board: Remove in-board setup code (it is
> > now replaced by DM setup)
> > 
> > The approach as is is optimal - I do not see any build errors for
> > separate patches.
> >   
> >>
> >> Also our module seems to use I2C0, could you add that instance to
> >> the supported instances too? It should be rather trivial:
> >>
> >>
> >> 	switch (i2c_num) {
> >> 	case 0:
> >> 		clrsetbits_le32(&ccm->ccgr4,
> >> CCM_CCGR4_I2C0_CTRL_MASK, CCM_CCGR4_I2C0_CTRL_MASK);  
> > 
> > The problem is that this change is not related to BK4/PCM052 ... or
> > "our module" is a PCM052?
> > 
> > If this is some custom board / module (not pcm052) then I would
> > prefer to have this change as a separate (not related to this patch
> > set) patch.  
> 
> You are touching common code. So far enable_i2c_clk was a weak
> function which returned 1. If a board calls that function with
> i2c_num other than 2, the new platform specific enable_i2c_clk will
> return -EINVAL... Hence this breaks boards which do not use instance
> 2...
> 

Thanks for pointing this out explicitly. There is indeed a weak
function. I will add the code as you suggested.

> I am not asking to update other board files. Simply making the common
> code to work for all (known) cases.

Ok.

> 
> --
> Stefan
> 
> >   
> >> ...
> >>
> >>
> >> --
> >> Stefan
> >>  
> >> >
> >> > Signed-off-by: Lukasz Majewski <lukma@denx.de>
> >> > ---
> >> >
> >> > Changes in v2: None
> >> >
> >> >  arch/arm/cpu/armv7/vf610/generic.c      | 19 +++++++++++++++++++
> >> >  arch/arm/include/asm/arch-vf610/clock.h |  3 +++
> >> >  board/phytec/pcm052/pcm052.c            |  2 +-
> >> >  3 files changed, 23 insertions(+), 1 deletion(-)
> >> >
> >> > diff --git a/arch/arm/cpu/armv7/vf610/generic.c
> >> > b/arch/arm/cpu/armv7/vf610/generic.c
> >> > index cbd3391918..f1e6c7816e 100644
> >> > --- a/arch/arm/cpu/armv7/vf610/generic.c
> >> > +++ b/arch/arm/cpu/armv7/vf610/generic.c
> >> > @@ -375,3 +375,22 @@ void enable_caches(void)
> >> >  	mmu_set_region_dcache_behaviour(IRAM_BASE_ADDR,
> >> > IRAM_SIZE, option); }
> >> >  #endif
> >> > +
> >> > +#ifdef CONFIG_SYS_I2C_MXC
> >> > +/* i2c_num can be from 0 - 3 */
> >> > +int enable_i2c_clk(unsigned char enable, unsigned int i2c_num)
> >> > +{
> >> > +	struct ccm_reg *ccm = (struct ccm_reg *)CCM_BASE_ADDR;
> >> > +
> >> > +	switch (i2c_num) {
> >> > +	case 2:
> >> > +		clrsetbits_le32(&ccm->ccgr10,
> >> > CCM_CCGR10_I2C2_CTRL_MASK,
> >> > +				CCM_CCGR10_I2C2_CTRL_MASK);
> >> > +		break;
> >> > +	default:
> >> > +		return -EINVAL;
> >> > +	}
> >> > +
> >> > +	return 0;
> >> > +}
> >> > +#endif
> >> > diff --git a/arch/arm/include/asm/arch-vf610/clock.h
> >> > b/arch/arm/include/asm/arch-vf610/clock.h
> >> > index 3bd73a01f3..72184fd608 100644
> >> > --- a/arch/arm/include/asm/arch-vf610/clock.h
> >> > +++ b/arch/arm/include/asm/arch-vf610/clock.h
> >> > @@ -22,6 +22,9 @@ enum mxc_clock {
> >> >  void enable_ocotp_clk(unsigned char enable);
> >> >  unsigned int mxc_get_clock(enum mxc_clock clk);
> >> >  u32 get_lpuart_clk(void);
> >> > +#ifdef CONFIG_SYS_I2C_MXC
> >> > +int enable_i2c_clk(unsigned char enable, unsigned int i2c_num);
> >> > +#endif
> >> >
> >> >  #define imx_get_fecclk() mxc_get_clock(MXC_FEC_CLK)
> >> >
> >> > diff --git a/board/phytec/pcm052/pcm052.c
> >> > b/board/phytec/pcm052/pcm052.c index f988af2abc..cfc8009102
> >> > 100644 --- a/board/phytec/pcm052/pcm052.c
> >> > +++ b/board/phytec/pcm052/pcm052.c
> >> > @@ -485,7 +485,7 @@ static void clock_init(void)
> >> >  	clrsetbits_le32(&ccm->ccgr9, CCM_REG_CTRL_MASK,
> >> >  			CCM_CCGR9_FEC0_CTRL_MASK |
> >> > CCM_CCGR9_FEC1_CTRL_MASK); clrsetbits_le32(&ccm->ccgr10,
> >> > CCM_REG_CTRL_MASK,
> >> > -			CCM_CCGR10_NFC_CTRL_MASK |
> >> > CCM_CCGR10_I2C2_CTRL_MASK);
> >> > +			CCM_CCGR10_NFC_CTRL_MASK);
> >> >
> >> >  	clrsetbits_le32(&anadig->pll2_ctrl,
> >> > ANADIG_PLL2_CTRL_POWERDOWN, ANADIG_PLL2_CTRL_ENABLE |
> >> > ANADIG_PLL2_CTRL_DIV_SELECT);  
> > 
> > 
> > 
> > 
> > Best regards,
> > 
> > Lukasz Majewski
> > 
> > --
> > 
> > DENX Software Engineering GmbH,      Managing Director: Wolfgang
> > Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell,
> > Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email:
> > lukma at denx.de  




Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190201/aece697d/attachment.sig>

  reply	other threads:[~2019-02-01 20:49 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-20 13:34 [U-Boot] [PATCH v2 00/21] imx: vybrid: Update BK4 and PCM052 boards to only use DM/DTS Lukasz Majewski
2019-01-20 13:34 ` [U-Boot] [PATCH v2 01/21] net: FEC: Add compatible for vybrid (vf610) to reuse fec_mxc.c driver Lukasz Majewski
2019-02-01  9:53   ` Stefan Agner
2019-01-20 13:34 ` [U-Boot] [PATCH v2 02/21] net: Kconfig: FEC: Add dependency on VF610 Lukasz Majewski
2019-02-01  9:54   ` Stefan Agner
2019-01-20 13:34 ` [U-Boot] [PATCH v2 03/21] vybrid: ddr: Extend vf610-pinfunc.h with DDR pads definitions Lukasz Majewski
2019-02-01 13:06   ` Stefan Agner
2019-01-20 13:34 ` [U-Boot] [PATCH v2 04/21] vybrid: clock: Provide enable_i2c_clk() function for Vybrid Lukasz Majewski
2019-02-01 13:19   ` Stefan Agner
2019-02-01 14:19     ` Lukasz Majewski
2019-02-01 14:53       ` Stefan Agner
2019-02-01 20:49         ` Lukasz Majewski [this message]
2019-01-20 13:34 ` [U-Boot] [PATCH v2 05/21] vybrid: Define the imx_get_mac_from_fuse() as a __weak function Lukasz Majewski
2019-01-20 13:34 ` [U-Boot] [PATCH v2 06/21] pcm052: board: Remove "m4go" command as it is superseded by "bootaux" Lukasz Majewski
2019-01-20 13:34 ` [U-Boot] [PATCH v2 07/21] pcm052: board: vybrid: Update the board name for BK4 device Lukasz Majewski
2019-01-20 13:34 ` [U-Boot] [PATCH v2 08/21] ARM: DTS: vybrid: Update vf.dtsi file to descibe more vf610 hardware Lukasz Majewski
2019-02-01 13:15   ` Stefan Agner
2019-01-20 13:34 ` [U-Boot] [PATCH v2 09/21] pcm052: board: cosmetic: Add copyright notice to pcm052.c Lukasz Majewski
2019-01-20 13:34 ` [U-Boot] [PATCH v2 10/21] ARM: DTS: Update pcm052 based dts files (bk4r1/pcm052) Lukasz Majewski
2019-01-20 13:34 ` [U-Boot] [PATCH v2 11/21] ARM: DTS: Provide vf610-bk4r1-u-boot.dtsi for U-Boot specific properties Lukasz Majewski
2019-01-22  2:29   ` Tom Rini
2019-01-20 13:34 ` [U-Boot] [PATCH v2 12/21] defconfig: bk4/pcm052: Update bk4r1|pcm052_defconfig to support DM/DT Lukasz Majewski
2019-01-20 13:34 ` [U-Boot] [PATCH v2 13/21] config: pcm052: Use SZ_X{MK} from linux/sizes.h for include/configs/pcm052.h Lukasz Majewski
2019-01-20 13:34 ` [U-Boot] [PATCH v2 14/21] config: bk4: Update include/configs/bk4r1.h file Lukasz Majewski
2019-01-20 13:34 ` [U-Boot] [PATCH v2 15/21] pcm052: board: Remove in-board setup code (it is now replaced by DM setup) Lukasz Majewski
2019-01-20 13:34 ` [U-Boot] [PATCH v2 16/21] config: bk4: Update u-boot script to support recovery via SD card Lukasz Majewski
2019-01-20 13:34 ` [U-Boot] [PATCH v2 17/21] config: bk4: Update u-boot envs to support NOR memories initial setup Lukasz Majewski
2019-01-20 13:34 ` [U-Boot] [PATCH v2 18/21] pcm052: bk4: sdcard: Add support for SD card booting/recovery Lukasz Majewski
2019-01-20 13:34 ` [U-Boot] [PATCH v2 19/21] pcm052: board: Add code to setup LED default states Lukasz Majewski
2019-01-20 13:34 ` [U-Boot] [PATCH v2 20/21] pcm052: mac: Provide board specific imx_get_mac_from_fuse() function Lukasz Majewski
2019-01-20 13:34 ` [U-Boot] [PATCH v2 21/21] pcm052: bk4: Add board_phy_config() for BK4 to setup ksz8081 phy Lukasz Majewski
2019-01-21  8:33 ` [U-Boot] [PATCH v2 00/21] imx: vybrid: Update BK4 and PCM052 boards to only use DM/DTS Lukasz Majewski
2019-01-21 14:22   ` Lukasz Majewski
2019-02-01 13:22     ` Stefan Agner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190201214933.461b9172@jawa \
    --to=lukma@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.