Hi Marek, > On 1/2/19 12:37 AM, Lukasz Majewski wrote: > > This patch provides a generic way to setup ENET (ETH) clocks for > > imx6(q) based boards. Previously this was performed per board in the > > board_eth_init() function. > > > > Signed-off-by: Lukasz Majewski <lu...@denx.de> > > --- > > > > arch/arm/include/asm/arch-mx6/clock.h | 1 + > > arch/arm/mach-imx/mx6/clock.c | 17 +++++++++++++++++ > > 2 files changed, 18 insertions(+) > > > > diff --git a/arch/arm/include/asm/arch-mx6/clock.h > > b/arch/arm/include/asm/arch-mx6/clock.h index > > a9481a5fea..9a217349f5 100644 --- > > a/arch/arm/include/asm/arch-mx6/clock.h +++ > > b/arch/arm/include/asm/arch-mx6/clock.h @@ -72,6 +72,7 @@ int > > enable_i2c_clk(unsigned char enable, unsigned i2c_num); int > > enable_spi_clk(unsigned char enable, unsigned spi_num); void > > enable_ipu_clock(void); int enable_fec_anatop_clock(int fec_id, > > enum enet_freq freq); +int set_fec_clock(int fec_id, enum enet_freq > > freq); void enable_enet_clk(unsigned char enable); > > int enable_lcdif_clock(u32 base_addr, bool enable); > > void enable_qspi_clk(int qspi_num); > > diff --git a/arch/arm/mach-imx/mx6/clock.c > > b/arch/arm/mach-imx/mx6/clock.c index 366a4e3c6b..8a4fb23090 100644 > > --- a/arch/arm/mach-imx/mx6/clock.c > > +++ b/arch/arm/mach-imx/mx6/clock.c > > @@ -902,6 +902,17 @@ void enable_qspi_clk(int qspi_num) > > #endif > > > > #ifdef CONFIG_FEC_MXC > > +static void select_fec_clock_source(int fec_id) > > How is the fec_id() used in here ?
I guess that you refer to "int fec_id." > Shouldn't this be part of > enable_fec_anatop_clock() ? The enable_fec_anatop_clock() function is used on several board files - for example: http://git.denx.de/?p=u-boot.git;a=blob;f=board/dhelectronics/dh_imx6/dh_imx6.c;h=f9ac5c10e1dc954b64605a1c4f84a6c819d183a7;hb=HEAD#l154 And changing it could break some boards. The select_fec_clock_source() shall be used to replace several: clrsetbits_le32(&iomuxc_regs->gpr[1], 0x1 << 21, 0x1 << 21); clauses for imx6 variants. Moreover, I'd pass 'fec_id' parameter anyway - it may be needed by other imx6 variants. > > > +{ > > + struct iomuxc *iomuxc_regs = (struct iomuxc > > *)IOMUXC_BASE_ADDR; + > > + if (is_mx6dq()) { > > + /* set gpr1[21] to select anatop clock */ > > + setbits_le32(&iomuxc_regs->gpr[1], > > + IOMUXC_GPR1_ENET_CLK_SEL_MASK); > > + } > > +} > > + > > int enable_fec_anatop_clock(int fec_id, enum enet_freq freq) > > { > > u32 reg = 0; > > @@ -976,6 +987,12 @@ int enable_fec_anatop_clock(int fec_id, enum > > enet_freq freq) #endif > > return 0; > > } > > + > > +int set_fec_clock(int fec_id, enum enet_freq freq) > > +{ > > + select_fec_clock_source(fec_id); > > + return enable_fec_anatop_clock(fec_id, freq); > > +} > > #endif > > > > static u32 get_usdhc_clk(u32 port) > > > > 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: lu...@denx.de
pgpaLzzKgg3pM.pgp
Description: OpenPGP digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot