Hi, El 15/04/2017 a las 20:48, Daniel Schwierzeck escribió: > > > Am 15.04.2017 um 20:08 schrieb Álvaro Fernández Rojas: >> Hi again, >> >> El 15/04/2017 a las 19:18, Álvaro Fernández Rojas escribió: >>> Hi Daniel, >>> >>> El 14/04/2017 a las 20:26, Daniel Schwierzeck escribió: >>>> >>>> >>>> Am 13.04.2017 um 17:52 schrieb Álvaro Fernández Rojas: >>>>> BCM6358 has its internal registers mapped to 0xfffe0000, which is changed >>>>> to >>>>> 0x1ffe0000 when ioremap is called. >>>>> >>>>> Signed-off-by: Álvaro Fernández Rojas <nolt...@gmail.com> >>>>> --- >>>>> arch/mips/include/asm/mach-generic/ioremap.h | 15 ++++++++++++++- >>>>> 1 file changed, 14 insertions(+), 1 deletion(-) >>>>> >>>>> diff --git a/arch/mips/include/asm/mach-generic/ioremap.h >>>>> b/arch/mips/include/asm/mach-generic/ioremap.h >>>>> index 6b191d5..b6a920d 100644 >>>>> --- a/arch/mips/include/asm/mach-generic/ioremap.h >>>>> +++ b/arch/mips/include/asm/mach-generic/ioremap.h >>>>> @@ -16,15 +16,28 @@ static inline phys_addr_t >>>>> fixup_bigphys_addr(phys_addr_t phys_addr, >>>>> return phys_addr; >>>>> } >>>>> >>>>> +static inline int is_mips_internal_registers(phys_addr_t offset) >>>>> +{ >>>>> +#ifdef CONFIG_SOC_BMIPS_BCM6358 >>>>> + if (offset >= 0xfffe0000) >>>>> + return 1; >>>>> +#endif >>>>> + >>>>> + return 0; >>>>> +} >>>>> + >>>>> static inline void __iomem *plat_ioremap(phys_addr_t offset, unsigned >>>>> long size, >>>>> unsigned long flags) >>>>> { >>>>> + if (is_mips_internal_registers(offset)) >>>>> + return (void __iomem *)offset; >>>>> + >>>>> return NULL; >>>>> } >>>>> >>>>> static inline int plat_iounmap(const volatile void __iomem *addr) >>>>> { >>>>> - return 0; >>>>> + return is_mips_internal_registers((unsigned long)addr); >>>>> } >>>>> >>>>> #define _page_cachable_default _CACHE_CACHABLE_NONCOHERENT >>>>> >>>> >>>> please create a separate ioremap.h in arch/mips/include/asm/mach-bmips/ >>>> with the BMIPS specific code. Then this file will be automatically used >>>> instead of the generic version. This is working like in Linux kernel. >>> I will try, but I remember having tested that and I couldn't get it >>> working... >> Nope, it doesn't work... >> > > sorry, my fault. The correct path is arch/mips/mach-bmips/include/ioremap.h > > Following commit on top of your series works for me: > http://git.denx.de/?p=u-boot/u-boot-mips.git;a=commitdiff;h=5f98514bc09d4748ddf7ccc70bd4df0c7b36dd75 Great, it's working now :)
> _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot