On 8/2/20 11:29 PM, Bin Meng wrote: > On Tue, Jul 28, 2020 at 11:52 PM Heinrich Schuchardt <xypron.g...@gmx.de> > wrote: >> >> The kendryte PLL code uses nop as barrier. The macro is not defined for >> the sandbox on x86 but is defined on RISC-V. > > Is this kendryte PLL driver built for Sandbox?
Yes. I added a unit test for the parameter calculation function. > >> >> Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de> >> --- >> include/kendryte/pll.h | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/include/kendryte/pll.h b/include/kendryte/pll.h >> index c8e3200799..55a40b9c97 100644 >> --- a/include/kendryte/pll.h >> +++ b/include/kendryte/pll.h >> @@ -7,6 +7,7 @@ >> >> #include <clk.h> >> #include <test/export.h> >> +#include <asm/io.h> >> >> #define K210_PLL_CLKR GENMASK(3, 0) >> #define K210_PLL_CLKF GENMASK(9, 4) >> @@ -43,9 +44,13 @@ struct k210_pll_config { >> #ifdef CONFIG_UNIT_TEST >> TEST_STATIC int k210_pll_calc_config(u32 rate, u32 rate_in, >> struct k210_pll_config *best); >> + >> +#ifndef nop >> #define nop() >> #endif > > Maybe we can fix the kendryte PLL driver to use: > > asm volatile ("nop"); Is that preferred over the nop macro? --Sean