From ca31807b8506d261c884f152fc434a9dd7ccdf42 Mon Sep 17 00:00:00 2001 From: Arnd Bergmann Date: Thu, 28 Apr 2022 09:32:09 +0200 Subject: ARM: davinci: remove include/mach/ subdirectory The files in include/mach are only used from mach/davinci, so they are no longer needed in the traditional location. Move them to arch/arm/mach-davinci/ and drop the logic for the special include path. The mach/uncompress.h file is not used at all and can just be removed. Signed-off-by: Arnd Bergmann --- arch/arm/mach-davinci/Makefile | 4 +- arch/arm/mach-davinci/board-da830-evm.c | 7 +- arch/arm/mach-davinci/board-da850-evm.c | 7 +- arch/arm/mach-davinci/board-dm355-evm.c | 5 +- arch/arm/mach-davinci/board-dm355-leopard.c | 5 +- arch/arm/mach-davinci/board-dm365-evm.c | 6 +- arch/arm/mach-davinci/board-dm644x-evm.c | 7 +- arch/arm/mach-davinci/board-dm646x-evm.c | 5 +- arch/arm/mach-davinci/board-mityomapl138.c | 8 +- arch/arm/mach-davinci/board-neuros-osd2.c | 7 +- arch/arm/mach-davinci/board-omapl138-hawk.c | 6 +- arch/arm/mach-davinci/board-sffsdr.c | 6 +- arch/arm/mach-davinci/common.c | 4 +- arch/arm/mach-davinci/common.h | 79 ++ arch/arm/mach-davinci/cputype.h | 86 ++ arch/arm/mach-davinci/da830.c | 11 +- arch/arm/mach-davinci/da850.c | 12 +- arch/arm/mach-davinci/da8xx-dt.c | 4 +- arch/arm/mach-davinci/da8xx.h | 171 ++++ arch/arm/mach-davinci/davinci.h | 3 +- arch/arm/mach-davinci/devices-da8xx.c | 7 +- arch/arm/mach-davinci/devices.c | 7 +- arch/arm/mach-davinci/dm355.c | 12 +- arch/arm/mach-davinci/dm365.c | 12 +- arch/arm/mach-davinci/dm644x.c | 12 +- arch/arm/mach-davinci/dm646x.c | 12 +- arch/arm/mach-davinci/hardware.h | 33 + arch/arm/mach-davinci/include/mach/common.h | 79 -- arch/arm/mach-davinci/include/mach/cputype.h | 86 -- arch/arm/mach-davinci/include/mach/da8xx.h | 170 ---- arch/arm/mach-davinci/include/mach/hardware.h | 33 - arch/arm/mach-davinci/include/mach/mux.h | 990 ------------------------ arch/arm/mach-davinci/include/mach/pm.h | 54 -- arch/arm/mach-davinci/include/mach/serial.h | 37 - arch/arm/mach-davinci/include/mach/uncompress.h | 97 --- arch/arm/mach-davinci/mux.c | 4 +- arch/arm/mach-davinci/mux.h | 969 ++++++++++++++++++++++- arch/arm/mach-davinci/pdata-quirks.c | 4 +- arch/arm/mach-davinci/pm.c | 9 +- arch/arm/mach-davinci/pm.h | 54 ++ arch/arm/mach-davinci/serial.c | 4 +- arch/arm/mach-davinci/serial.h | 37 + arch/arm/mach-davinci/sram.c | 2 +- arch/arm/mach-davinci/usb-da8xx.c | 7 +- arch/arm/mach-davinci/usb.c | 5 +- 45 files changed, 1519 insertions(+), 1660 deletions(-) create mode 100644 arch/arm/mach-davinci/common.h create mode 100644 arch/arm/mach-davinci/cputype.h create mode 100644 arch/arm/mach-davinci/da8xx.h create mode 100644 arch/arm/mach-davinci/hardware.h delete mode 100644 arch/arm/mach-davinci/include/mach/common.h delete mode 100644 arch/arm/mach-davinci/include/mach/cputype.h delete mode 100644 arch/arm/mach-davinci/include/mach/da8xx.h delete mode 100644 arch/arm/mach-davinci/include/mach/hardware.h delete mode 100644 arch/arm/mach-davinci/include/mach/mux.h delete mode 100644 arch/arm/mach-davinci/include/mach/pm.h delete mode 100644 arch/arm/mach-davinci/include/mach/serial.h delete mode 100644 arch/arm/mach-davinci/include/mach/uncompress.h create mode 100644 arch/arm/mach-davinci/pm.h create mode 100644 arch/arm/mach-davinci/serial.h (limited to 'arch/arm/mach-davinci') diff --git a/arch/arm/mach-davinci/Makefile b/arch/arm/mach-davinci/Makefile index 58838a9de651..b04c084b707e 100644 --- a/arch/arm/mach-davinci/Makefile +++ b/arch/arm/mach-davinci/Makefile @@ -3,9 +3,7 @@ # Makefile for the linux kernel. # # - -ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include - +# # Common objects obj-y := serial.o usb.o common.o sram.o diff --git a/arch/arm/mach-davinci/board-da830-evm.c b/arch/arm/mach-davinci/board-da830-evm.c index 823c9cc98f18..86a037d629bb 100644 --- a/arch/arm/mach-davinci/board-da830-evm.c +++ b/arch/arm/mach-davinci/board-da830-evm.c @@ -36,10 +36,9 @@ #include #include -#include -#include -#include - +#include "common.h" +#include "mux.h" +#include "da8xx.h" #include "irqs.h" #define DA830_EVM_PHY_ID "" diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c index 428012687a80..f4df5eceb9be 100644 --- a/arch/arm/mach-davinci/board-da850-evm.c +++ b/arch/arm/mach-davinci/board-da850-evm.c @@ -43,10 +43,9 @@ #include #include -#include -#include -#include - +#include "common.h" +#include "da8xx.h" +#include "mux.h" #include "irqs.h" #include "sram.h" diff --git a/arch/arm/mach-davinci/board-dm355-evm.c b/arch/arm/mach-davinci/board-dm355-evm.c index 3c5a9e3c128a..f7c56f662d4c 100644 --- a/arch/arm/mach-davinci/board-dm355-evm.c +++ b/arch/arm/mach-davinci/board-dm355-evm.c @@ -33,9 +33,8 @@ #include #include -#include -#include - +#include "serial.h" +#include "common.h" #include "davinci.h" /* NOTE: this is geared for the standard config, with a socketed diff --git a/arch/arm/mach-davinci/board-dm355-leopard.c b/arch/arm/mach-davinci/board-dm355-leopard.c index e475b2113e70..0f2b61266197 100644 --- a/arch/arm/mach-davinci/board-dm355-leopard.c +++ b/arch/arm/mach-davinci/board-dm355-leopard.c @@ -27,9 +27,8 @@ #include #include -#include -#include - +#include "common.h" +#include "serial.h" #include "davinci.h" /* NOTE: this is geared for the standard config, with a socketed diff --git a/arch/arm/mach-davinci/board-dm365-evm.c b/arch/arm/mach-davinci/board-dm365-evm.c index b3bef74c982a..9adcb5879d14 100644 --- a/arch/arm/mach-davinci/board-dm365-evm.c +++ b/arch/arm/mach-davinci/board-dm365-evm.c @@ -36,10 +36,7 @@ #include #include -#include -#include #include -#include #include #include #include @@ -47,6 +44,9 @@ #include #include +#include "mux.h" +#include "common.h" +#include "serial.h" #include "davinci.h" static inline int have_imager(void) diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c index cce3a621eb20..070fb06cd1ff 100644 --- a/arch/arm/mach-davinci/board-dm644x-evm.c +++ b/arch/arm/mach-davinci/board-dm644x-evm.c @@ -37,10 +37,6 @@ #include #include -#include -#include -#include - #include #include #include @@ -49,6 +45,9 @@ #include #include "davinci.h" +#include "common.h" +#include "mux.h" +#include "serial.h" #include "irqs.h" #define DM644X_EVM_PHY_ID "davinci_mdio-0:01" diff --git a/arch/arm/mach-davinci/board-dm646x-evm.c b/arch/arm/mach-davinci/board-dm646x-evm.c index ee91d81ebbfd..f258180f36ae 100644 --- a/arch/arm/mach-davinci/board-dm646x-evm.c +++ b/arch/arm/mach-davinci/board-dm646x-evm.c @@ -43,9 +43,8 @@ #include #include -#include -#include - +#include "common.h" +#include "serial.h" #include "davinci.h" #include "irqs.h" diff --git a/arch/arm/mach-davinci/board-mityomapl138.c b/arch/arm/mach-davinci/board-mityomapl138.c index 2127969beb96..3f084bdb9bc5 100644 --- a/arch/arm/mach-davinci/board-mityomapl138.c +++ b/arch/arm/mach-davinci/board-mityomapl138.c @@ -28,12 +28,14 @@ #include #include #include -#include -#include + +#include "common.h" +#include "da8xx.h" +#include "mux.h" + #include #include #include -#include #include #define MITYOMAPL138_PHY_ID "" diff --git a/arch/arm/mach-davinci/board-neuros-osd2.c b/arch/arm/mach-davinci/board-neuros-osd2.c index b4843f68bb57..94be492b8a9e 100644 --- a/arch/arm/mach-davinci/board-neuros-osd2.c +++ b/arch/arm/mach-davinci/board-neuros-osd2.c @@ -36,10 +36,9 @@ #include #include -#include -#include -#include - +#include "common.h" +#include "serial.h" +#include "mux.h" #include "davinci.h" #define NEUROS_OSD2_PHY_ID "davinci_mdio-0:01" diff --git a/arch/arm/mach-davinci/board-omapl138-hawk.c b/arch/arm/mach-davinci/board-omapl138-hawk.c index 88df8011a4e6..20f71856bf7e 100644 --- a/arch/arm/mach-davinci/board-omapl138-hawk.c +++ b/arch/arm/mach-davinci/board-omapl138-hawk.c @@ -27,9 +27,9 @@ #include #include -#include -#include -#include +#include "common.h" +#include "da8xx.h" +#include "mux.h" #define HAWKBOARD_PHY_ID "davinci_mdio-0:07" diff --git a/arch/arm/mach-davinci/board-sffsdr.c b/arch/arm/mach-davinci/board-sffsdr.c index 6930b2f485d1..e87fd8f82d89 100644 --- a/arch/arm/mach-davinci/board-sffsdr.c +++ b/arch/arm/mach-davinci/board-sffsdr.c @@ -22,12 +22,12 @@ #include #include -#include #include -#include -#include #include +#include "common.h" +#include "serial.h" +#include "mux.h" #include "davinci.h" #define SFFSDR_PHY_ID "davinci_mdio-0:01" diff --git a/arch/arm/mach-davinci/common.c b/arch/arm/mach-davinci/common.c index ae61d19f9b3a..0a6f826ff136 100644 --- a/arch/arm/mach-davinci/common.c +++ b/arch/arm/mach-davinci/common.c @@ -17,8 +17,8 @@ #include #include -#include -#include +#include "common.h" +#include "cputype.h" struct davinci_soc_info davinci_soc_info; EXPORT_SYMBOL(davinci_soc_info); diff --git a/arch/arm/mach-davinci/common.h b/arch/arm/mach-davinci/common.h new file mode 100644 index 000000000000..139b83de011d --- /dev/null +++ b/arch/arm/mach-davinci/common.h @@ -0,0 +1,79 @@ +/* + * Header for code common to all DaVinci machines. + * + * Author: Kevin Hilman, MontaVista Software, Inc. + * + * 2007 (c) MontaVista Software, Inc. This file is licensed under + * the terms of the GNU General Public License version 2. This program + * is licensed "as is" without any warranty of any kind, whether express + * or implied. + */ + +#ifndef __ARCH_ARM_MACH_DAVINCI_COMMON_H +#define __ARCH_ARM_MACH_DAVINCI_COMMON_H + +#include +#include +#include +#include + +#include + +#define DAVINCI_INTC_START NR_IRQS +#define DAVINCI_INTC_IRQ(_irqnum) (DAVINCI_INTC_START + (_irqnum)) + +struct davinci_gpio_controller; + +/* + * SoC info passed into common davinci modules. + * + * Base addresses in this structure should be physical and not virtual. + * Modules that take such base addresses, should internally ioremap() them to + * use. + */ +struct davinci_soc_info { + struct map_desc *io_desc; + unsigned long io_desc_num; + u32 cpu_id; + u32 jtag_id; + u32 jtag_id_reg; + struct davinci_id *ids; + unsigned long ids_num; + u32 pinmux_base; + const struct mux_config *pinmux_pins; + unsigned long pinmux_pins_num; + int gpio_type; + u32 gpio_base; + unsigned gpio_num; + unsigned gpio_irq; + unsigned gpio_unbanked; + struct davinci_gpio_controller *gpio_ctlrs; + int gpio_ctlrs_num; + struct emac_platform_data *emac_pdata; + dma_addr_t sram_dma; + unsigned sram_len; +}; + +extern struct davinci_soc_info davinci_soc_info; + +extern void davinci_common_init(const struct davinci_soc_info *soc_info); +extern void davinci_init_ide(void); +void davinci_init_late(void); + +#ifdef CONFIG_CPU_FREQ +int davinci_cpufreq_init(void); +#else +static inline int davinci_cpufreq_init(void) { return 0; } +#endif + +#ifdef CONFIG_SUSPEND +int davinci_pm_init(void); +#else +static inline int davinci_pm_init(void) { return 0; } +#endif + +void __init pdata_quirks_init(void); + +#define SRAM_SIZE SZ_128K + +#endif /* __ARCH_ARM_MACH_DAVINCI_COMMON_H */ diff --git a/arch/arm/mach-davinci/cputype.h b/arch/arm/mach-davinci/cputype.h new file mode 100644 index 000000000000..1fe9f84d5ee6 --- /dev/null +++ b/arch/arm/mach-davinci/cputype.h @@ -0,0 +1,86 @@ +/* + * DaVinci CPU type detection + * + * Author: Kevin Hilman, Deep Root Systems, LLC + * + * Defines the cpu_is_*() macros for runtime detection of DaVinci + * device type. In addition, if support for a given device is not + * compiled in to the kernel, the macros return 0 so that + * resulting code can be optimized out. + * + * 2009 (c) Deep Root Systems, LLC. This file is licensed under + * the terms of the GNU General Public License version 2. This program + * is licensed "as is" without any warranty of any kind, whether express + * or implied. + */ +#ifndef _ASM_ARCH_CPU_H +#define _ASM_ARCH_CPU_H + +#include "common.h" + +struct davinci_id { + u8 variant; /* JTAG ID bits 31:28 */ + u16 part_no; /* JTAG ID bits 27:12 */ + u16 manufacturer; /* JTAG ID bits 11:1 */ + u32 cpu_id; + char *name; +}; + +/* Can use lower 16 bits of cpu id for a variant when required */ +#define DAVINCI_CPU_ID_DM6446 0x64460000 +#define DAVINCI_CPU_ID_DM6467 0x64670000 +#define DAVINCI_CPU_ID_DM355 0x03550000 +#define DAVINCI_CPU_ID_DM365 0x03650000 +#define DAVINCI_CPU_ID_DA830 0x08300000 +#define DAVINCI_CPU_ID_DA850 0x08500000 + +#define IS_DAVINCI_CPU(type, id) \ +static inline int is_davinci_ ##type(void) \ +{ \ + return (davinci_soc_info.cpu_id == (id)); \ +} + +IS_DAVINCI_CPU(dm644x, DAVINCI_CPU_ID_DM6446) +IS_DAVINCI_CPU(dm646x, DAVINCI_CPU_ID_DM6467) +IS_DAVINCI_CPU(dm355, DAVINCI_CPU_ID_DM355) +IS_DAVINCI_CPU(dm365, DAVINCI_CPU_ID_DM365) +IS_DAVINCI_CPU(da830, DAVINCI_CPU_ID_DA830) +IS_DAVINCI_CPU(da850, DAVINCI_CPU_ID_DA850) + +#ifdef CONFIG_ARCH_DAVINCI_DM644x +#define cpu_is_davinci_dm644x() is_davinci_dm644x() +#else +#define cpu_is_davinci_dm644x() 0 +#endif + +#ifdef CONFIG_ARCH_DAVINCI_DM646x +#define cpu_is_davinci_dm646x() is_davinci_dm646x() +#else +#define cpu_is_davinci_dm646x() 0 +#endif + +#ifdef CONFIG_ARCH_DAVINCI_DM355 +#define cpu_is_davinci_dm355() is_davinci_dm355() +#else +#define cpu_is_davinci_dm355() 0 +#endif + +#ifdef CONFIG_ARCH_DAVINCI_DM365 +#define cpu_is_davinci_dm365() is_davinci_dm365() +#else +#define cpu_is_davinci_dm365() 0 +#endif + +#ifdef CONFIG_ARCH_DAVINCI_DA830 +#define cpu_is_davinci_da830() is_davinci_da830() +#else +#define cpu_is_davinci_da830() 0 +#endif + +#ifdef CONFIG_ARCH_DAVINCI_DA850 +#define cpu_is_davinci_da850() is_davinci_da850() +#else +#define cpu_is_davinci_da850() 0 +#endif + +#endif diff --git a/arch/arm/mach-davinci/da830.c b/arch/arm/mach-davinci/da830.c index 018ab4b549f1..1b86657c6e9d 100644 --- a/arch/arm/mach-davinci/da830.c +++ b/arch/arm/mach-davinci/da830.c @@ -16,14 +16,13 @@ #include #include -#include - -#include -#include -#include - #include +#include + +#include "common.h" +#include "cputype.h" +#include "da8xx.h" #include "irqs.h" #include "mux.h" diff --git a/arch/arm/mach-davinci/da850.c b/arch/arm/mach-davinci/da850.c index 68156e7239a6..cd514c136de0 100644 --- a/arch/arm/mach-davinci/da850.c +++ b/arch/arm/mach-davinci/da850.c @@ -28,16 +28,14 @@ #include #include #include +#include #include -#include -#include -#include -#include - -#include - +#include "common.h" +#include "cputype.h" +#include "da8xx.h" +#include "pm.h" #include "irqs.h" #include "mux.h" diff --git a/arch/arm/mach-davinci/da8xx-dt.c b/arch/arm/mach-davinci/da8xx-dt.c index 0cd2f30aeb9c..45763a9b37ee 100644 --- a/arch/arm/mach-davinci/da8xx-dt.c +++ b/arch/arm/mach-davinci/da8xx-dt.c @@ -7,8 +7,8 @@ #include -#include -#include +#include "common.h" +#include "da8xx.h" #ifdef CONFIG_ARCH_DAVINCI_DA850 diff --git a/arch/arm/mach-davinci/da8xx.h b/arch/arm/mach-davinci/da8xx.h new file mode 100644 index 000000000000..699df08714ba --- /dev/null +++ b/arch/arm/mach-davinci/da8xx.h @@ -0,0 +1,171 @@ +/* + * Chip specific defines for DA8XX/OMAP L1XX SoC + * + * Author: Mark A. Greer + * + * 2007, 2009-2010 (c) MontaVista Software, Inc. This file is licensed under + * the terms of the GNU General Public License version 2. This program + * is licensed "as is" without any warranty of any kind, whether express + * or implied. + */ +#ifndef __ASM_ARCH_DAVINCI_DA8XX_H +#define __ASM_ARCH_DAVINCI_DA8XX_H + +#include