Initial multi-platform support
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v3 Latest posting 2/20 of 12 patches 0 repliesNew
- v3 posting 1/212 patches 0 repliesSuperseded
- v11 of 3 patches 0 repliesSuperseded
Patches in v3 posting 2/2 No applies recorded yet
None of the 12 patches the cover letter announces are in this archive.
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.
Cover letter [PATCH v3 00/12] Initial multi-platform support
Quoted 62 lines · Shawn Guo
Quoted 29 lines · Jamie Iles
8<---
Subject: [PATCH] ARM: picoxcell: fixup multiplatform breakage.
The debug macros had a dependency on mach headers. Break that dependency and restore building.
Signed-off-by Jamie Iles <[email protected]>--- arch/arm/include/debug/picoxcell.S | 4 ++-- arch/arm/mach-picoxcell/common.c | 11 ++++++----- arch/arm/mach-picoxcell/picoxcell_soc.h | 25 ------------------------- 3 files changed, 8 insertions(+), 32 deletions(-) delete mode 100644 arch/arm/mach-picoxcell/picoxcell_soc.harch/arm/include/debug/picoxcell.S +2
-2@@ -9,10 +9,10 @@ * accesses to the 8250. */ #include <linux/serial_reg.h> -#include <mach/hardware.h> -#include <mach/map.h> #define UART_SHIFT 2 +#define PICOXCELL_UART1_BASE 0x80230000 +#define PHYS_TO_IO(x) (((x) & 0x00ffffff) | 0xfe000000)...
Quoted 8 lines
arch/arm/include/debug/picoxcell.S +0
-0.macro addruart, rp, rv, tmp ldr \rv, =PHYS_TO_IO(PICOXCELL_UART1_BASE)arch/arm/mach-picoxcell/common.c +0
-0arch/arm/mach-picoxcell/common.c line 25
Quoted 8 lines
arch/arm/mach-picoxcell/common.c +1
-2@@ -20,14 +20,15 @@#include <asm/hardware/vic.h> #include <asm/mach/map.h> -#include "picoxcell_soc.h" #include "common.h" -#define PHYS_TO_IO (x) (((x) & 0x00ffffff) | 0xfe000000) +#define PHYS_TO_IO (x) (((x) & 0x00ffffff) | 0xfe000000)So you end up with defining the same thing at two places. You need to somehow ensure any update to
PHYS_TO_IOneeds to get applied on both to keep them synchronized. This is difficult for maintaining.We're running into the exactly same problem when moving
debug-macro.Sfor imx. I believe this is a common issue which needs a common solution.I would propose to have the static mapping below (imx example) defined in something like
arch/arm/include/asm/mach/map_imx.h, so that both imx machine code and ll-debug code can include it.
Quoted 8 lines
#define IMX_IO_P2V(x) ( \ (((x) & 0x80000000) >> 7) | \ (0xf4000000 + \ (((x) & 0x50000000) >> 6) + \ (((x) & 0x0b000000) >> 4) + \ (((x) & 0x000fffff))))Thoughts?
My thought is to use a fixed virtual address across platforms and make the physical address a config option. Possibly the uart type can also be a config option. The 8250 one also needs register stride. See here:
http://lists.infradead.org/pipermail/linux-arm-kernel/2012-August/116982.html
Rob
Quoted 49 lines
Regards,
ShawnQuoted 46 lines
arch/arm/mach-picoxcell/common.c +5
-3+#define PICOXCELL_PERIPH_BASE 0x80000000 +#define PICOXCELL_PERIPH_LENGTH SZ_4M -#define WDT_CTRL_REG_EN_MASK (1 << 0) -#define WDT_CTRL_REG_OFFS (0x00) -#define WDT_TIMEOUT_REG_OFFS (0x04) +#define WDT_CTRL_REG_EN_MASK (1 << 0) +#define WDT_CTRL_REG_OFFS (0x00) +#define WDT_TIMEOUT_REG_OFFS (0x04)static void __iomem *wdt_regs;/* arch/arm/mach-picoxcell/picoxcell_soc.h deleted +0
-25@@ -1,25 +0,0 @@ -/* -* Copyright (c) 2011 Picochip Ltd., Jamie Iles -* -* This file contains the hardware definitions of the picoXcell SoC devices. -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation; either version 2 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -*/ -#ifndef __PICOXCELL_SOC_H__ -#define __PICOXCELL_SOC_H__ - -#define PICOXCELL_UART1_BASE 0x80230000 -#define PICOXCELL_PERIPH_BASE 0x80000000 -#define PICOXCELL_PERIPH_LENGTH SZ_4M -#define PICOXCELL_VIC0_BASE 0x80060000 -#define PICOXCELL_VIC1_BASE 0x80064000 - -#endif /* __PICOXCELL_SOC_H__ */ Signature · 1 line
1.7.9.5