On Tuesday 23 August 2022 10:17:31 mich...@walle.cc wrote: > Am 2022-08-23 07:02, schrieb Stefan Roese: > > Hi Michael, > > > > On 17.08.22 21:37, Michael Walle wrote: > > > From: Pali Rohár <p...@kernel.org> > > > > > > Bit 21 in SAR register specifies if TCLK is running at 166 MHz or > > > 200 MHz. > > > This information is undocumented in public Marvell Kirkwood Functional > > > Specifications [2], but is available in Linux v3.15 kirkwood code [1]. > > > > > > Commit 8ac303d49f89 ("arm: kirkwood: Do not overwrite > > > CONFIG_SYS_TCLK") > > > broke support for Marvell 88F6281 SoCs because it was expected that > > > all > > > those SoCs have TCLK running at 200 MHz as specified in Marvell > > > 88F6281 > > > Hardware Specifications [3]. > > > > > > Fix broken support for 88F6281 by detecting CONFIG_SYS_TCLK from SAR > > > register, like it was doing Linux v3.15. > > > > > > [1] - > > > https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch/arm/mach-kirkwood/common.c?h=v3.15#n542 > > > [2] - > > > https://web.archive.org/web/20130730091033/http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf > > > [3] - > > > https://web.archive.org/web/20120620073511/http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F6281_OpenSource.pdf > > > > > > Fixes: 8ac303d49f89 ("arm: kirkwood: Do not overwrite > > > CONFIG_SYS_TCLK") > > > Signed-off-by: Pali Rohár <p...@kernel.org> > > > > I've applied your patch series on master (from yesterday) and see > > these error(s): > > > > $ make ds109_defconfig > > $ make -sj > > ... > > In file included from ./arch/arm/include/asm/arch/config.h:18, > > from include/configs/mv-common.h:58, > > from include/configs/ds109.h:14, > > from include/config.h:4, > > from include/common.h:16, > > from board/Synology/ds109/ds109.c:8: > > board/Synology/ds109/ds109.c: In function 'reset_misc': > > ./arch/arm/include/asm/arch/kw88f6281.h:18:43: warning: implicit > > declaration of function 'readl' [-Wimplicit-function-declaration] > > 18 | #define CONFIG_SYS_TCLK > > ((readl(CONFIG_SAR_REG) & BIT(21)) ? \ > > | ^~~~~ > > include/configs/mv-common.h:36:41: note: in expansion of macro > > 'CONFIG_SYS_TCLK' > > 36 | #define CONFIG_SYS_NS16550_CLK CONFIG_SYS_TCLK > > | ^~~~~~~~~~~~~~~ > > board/Synology/ds109/ds109.c:111:36: note: in expansion of macro > > 'CONFIG_SYS_NS16550_CLK' > > 111 | CONFIG_SYS_NS16550_CLK, > > 9600); > > | ^~~~~~~~~~~~~~~~~~~~~~ > > /opt/kernel.org/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld.bfd: > > board/Synology/ds109/ds109.o: in function `reset_misc': > > /home/stefan/git/u-boot/u-boot-marvell/board/Synology/ds109/ds109.c:111: > > undefined reference to `readl' > > make: *** [Makefile:1823: u-boot] Error 1 > > > > Could you please take a look and fix this? > > I guess soc.h should also include <asm/io.h> because now it is > using that hidden readl(). > > Pali? > > -michael
Yes!