From: viresh.kumar@st.com (Viresh KUMAR)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 02/11] ST SPEAr: Added basic header files for SPEAr3xx machine family
Date: Wed, 10 Mar 2010 11:31:22 +0530 [thread overview]
Message-ID: <4B9735B2.1030108@st.com> (raw)
In-Reply-To: <63386a3d1003091242i5e8786e4n1fe0d83b97d51e3b@mail.gmail.com>
Linus,
On 3/10/2010 2:12 AM, Linus Walleij wrote:
> Hi Viresh,
>
> 2010/3/3 Viresh KUMAR <viresh.kumar@st.com>:
>> (...)
>> diff --git a/arch/arm/mach-spear3xx/include/mach/debug-macro.S b/arch/arm/mach-spear3xx/include/mach/debug-macro.S
>> + .macro busyuart, rd, rx
>> +1002: ldr \rd, [\rx, #UART01x_FR] @ FLAG REGISTER
>> + tst \rd, #UART011_FR_TXFE @ TX_EMPTY
>> + beq 1002b
>> + .endm
>
> Apart from that the base offset is named SPEAR6XX_ICM1_UART0_BASE
> this is the same file in 3xx and 6xx series. Can you rename the base offset
> to SPEARXXX_ICM1_UART0_BASE or something similar in both machines
> and move this file to plat-spear/include/plat/debug-macro.S?
OK. This will be done.
>
> You'll probably need mach/include/mach/debug-macro.S to
> #include <plat/debug-macro.S> I think.
>
I think so.
>> diff --git a/arch/arm/mach-spear6xx/include/mach/dma.h b/arch/arm/mach-spear6xx/include/mach/dma.h
>> new file mode 100644
>> index 0000000..c4afd17
>> --- /dev/null
>> +++ b/arch/arm/mach-spear6xx/include/mach/dma.h
>> @@ -0,0 +1,17 @@
>> +/*
>> + * arch/arm/mach-spear6xx/include/mach/dma.h
>> + *
>> + * Generic SPEAr6XX machine family DMA support
>> + *
>> + * Copyright (C) 2009 ST Microelectronics
>> + * Rajeev Kumar<rajeev-dlh.kumar@st.com>
>> + *
>> + * 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_DMA_H
>> +#define __ASM_ARCH_DMA_H
>> +
>> +#endif /* __ASM_ARCH_DMA_H */
>
> Is this file needed? (Perhaps...) Anyway, the name of that #define should
> probably be __MACH_DMA_H if it shall match the filepath.
>
It is not required now, was required by earlier kernels. will be removed.
>> (...)
>> diff --git a/arch/arm/mach-spear3xx/include/mach/misc_regs.h b/arch/arm/mach-spear3xx/include/mach/misc_regs.h
>> new file mode 100755
>> index 0000000..d83dae9
>> +#ifndef __ASM_MACH_MISC_REGS_H
>> +#define __ASM_MACH_MISC_REGS_H
>
> It's not __ASM_MACH* really, but just __MACH* if it's supposed to follow
> the filename...
Will be done globally.
>
>> +
>> +#include <mach/spear.h>
>> +
>> +#define MISC_BASE VA_SPEAR3XX_ICM3_MISC_REG_BASE
>> +
>> +#define SOC_CFG_CTR ((unsigned int *)(MISC_BASE + 0x000))
>> +#define DIAG_CFG_CTR ((unsigned int *)(MISC_BASE + 0x004))
>> +#define PLL1_CTR ((unsigned int *)(MISC_BASE + 0x008))
>> +#define PLL1_FRQ ((unsigned int *)(MISC_BASE + 0x00C))
>> +#define PLL1_MOD ((unsigned int *)(MISC_BASE + 0x010))
>> +#define PLL2_CTR ((unsigned int *)(MISC_BASE + 0x014))
>> +/* PLL_CTR register masks */
>> +#define PLL_ENABLE 2
>> +#define PLL_MODE_SHIFT 4
>> +#define PLL_MODE_MASK 0x3
>> +#define PLL_MODE_NORMAL 0
>> +#define PLL_MODE_FRACTION 1
>> +#define PLL_MODE_DITH_DSB 2
>> +#define PLL_MODE_DITH_SSB 3
>> +
>> +#define PLL2_FRQ ((unsigned int *)(MISC_BASE + 0x018))
>> +/* PLL FRQ register masks */
>> +#define PLL_DIV_N_SHIFT 0
>> +#define PLL_DIV_N_MASK 0xFF
>> +#define PLL_DIV_P_SHIFT 8
>> +#define PLL_DIV_P_MASK 0x7
>> +#define PLL_NORM_FDBK_M_SHIFT 24
>> +#define PLL_NORM_FDBK_M_MASK 0xFF
>> +#define PLL_DITH_FDBK_M_SHIFT 16
>> +#define PLL_DITH_FDBK_M_MASK 0xFFFF
>> +
>> +#define PLL2_MOD ((unsigned int *)(MISC_BASE + 0x01C))
>> +#define PLL_CLK_CFG ((unsigned int *)(MISC_BASE + 0x020))
>> +#define CORE_CLK_CFG ((unsigned int *)(MISC_BASE + 0x024))
>> +/* CORE CLK CFG register masks */
>> +#define PLL_HCLK_RATIO_SHIFT 10
>> +#define PLL_HCLK_RATIO_MASK 0x3
>> +#define HCLK_PCLK_RATIO_SHIFT 8
>> +#define HCLK_PCLK_RATIO_MASK 0x3
>> +
>> +#define PERIP_CLK_CFG ((unsigned int *)(MISC_BASE + 0x028))
>> +/* PERIP_CLK_CFG register masks */
>> +#define UART_CLK_SHIFT 4
>> +#define UART_CLK_MASK 0x1
>> +#define FIRDA_CLK_SHIFT 5
>> +#define FIRDA_CLK_MASK 0x3
>> +#define GPT0_CLK_SHIFT 8
>> +#define GPT1_CLK_SHIFT 11
>> +#define GPT2_CLK_SHIFT 12
>> +#define GPT_CLK_MASK 0x1
>> +#define AUX_CLK_PLL3_MASK 0
>> +#define AUX_CLK_PLL1_MASK 1
>> +
>> +#define PERIP1_CLK_ENB ((unsigned int *)(MISC_BASE + 0x02C))
>> +/* PERIP1_CLK_ENB register masks */
>> +#define UART_CLK_ENB 3
>> +#define SSP_CLK_ENB 5
>> +#define I2C_CLK_ENB 7
>> +#define JPEG_CLK_ENB 8
>> +#define FIRDA_CLK_ENB 10
>> +#define GPT1_CLK_ENB 11
>> +#define GPT2_CLK_ENB 12
>> +#define ADC_CLK_ENB 15
>> +#define RTC_CLK_ENB 17
>> +#define GPIO_CLK_ENB 18
>> +#define DMA_CLK_ENB 19
>> +#define SMI_CLK_ENB 21
>> +#define GMAC_CLK_ENB 23
>> +#define USBD_CLK_ENB 24
>> +#define USBH_CLK_ENB 25
>> +#define C3_CLK_ENB 31
>> +
>> +#define SOC_CORE_ID ((unsigned int *)(MISC_BASE + 0x030))
>> +#define RAS_CLK_ENB ((unsigned int *)(MISC_BASE + 0x034))
>> +#define PERIP1_SOF_RST ((unsigned int *)(MISC_BASE + 0x038))
>> +/* PERIP1_SOF_RST register masks */
>> +#define JPEG_SOF_RST 8
>> +
>> +#define SOC_USER_ID ((unsigned int *)(MISC_BASE + 0x03C))
>> +#define RAS_SOF_RST ((unsigned int *)(MISC_BASE + 0x040))
>> +#define PRSC1_CLK_CFG ((unsigned int *)(MISC_BASE + 0x044))
>> +#define PRSC2_CLK_CFG ((unsigned int *)(MISC_BASE + 0x048))
>> +#define PRSC3_CLK_CFG ((unsigned int *)(MISC_BASE + 0x04C))
>> +/* gpt synthesizer register masks */
>> +#define GPT_MSCALE_SHIFT 0
>> +#define GPT_MSCALE_MASK 0xFFF
>> +#define GPT_NSCALE_SHIFT 12
>> +#define GPT_NSCALE_MASK 0xF
>> +
>> +#define AMEM_CLK_CFG ((unsigned int *)(MISC_BASE + 0x050))
>> +#define EXPI_CLK_CFG ((unsigned int *)(MISC_BASE + 0x054))
>> +#define CLCD_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x05C))
>> +#define FIRDA_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x060))
>> +#define UART_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x064))
>> +#define GMAC_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x068))
>> +#define RAS1_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x06C))
>> +#define RAS2_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x070))
>> +#define RAS3_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x074))
>> +#define RAS4_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x078))
>> +/* aux clk synthesiser register masks for irda to ras4 */
>> +#define AUX_EQ_SEL_SHIFT 30
>> +#define AUX_EQ_SEL_MASK 1
>> +#define AUX_EQ1_SEL 0
>> +#define AUX_EQ2_SEL 1
>> +#define AUX_XSCALE_SHIFT 16
>> +#define AUX_XSCALE_MASK 0xFFF
>> +#define AUX_YSCALE_SHIFT 0
>> +#define AUX_YSCALE_MASK 0xFFF
>> +
>> +#define ICM1_ARB_CFG ((unsigned int *)(MISC_BASE + 0x07C))
>> +#define ICM2_ARB_CFG ((unsigned int *)(MISC_BASE + 0x080))
>> +#define ICM3_ARB_CFG ((unsigned int *)(MISC_BASE + 0x084))
>> +#define ICM4_ARB_CFG ((unsigned int *)(MISC_BASE + 0x088))
>> +#define ICM5_ARB_CFG ((unsigned int *)(MISC_BASE + 0x08C))
>> +#define ICM6_ARB_CFG ((unsigned int *)(MISC_BASE + 0x090))
>> +#define ICM7_ARB_CFG ((unsigned int *)(MISC_BASE + 0x094))
>> +#define ICM8_ARB_CFG ((unsigned int *)(MISC_BASE + 0x098))
>> +#define ICM9_ARB_CFG ((unsigned int *)(MISC_BASE + 0x09C))
>> +#define DMA_CHN_CFG ((unsigned int *)(MISC_BASE + 0x0A0))
>> +#define USB2_PHY_CFG ((unsigned int *)(MISC_BASE + 0x0A4))
>> +#define GMAC_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0A8))
>> +#define EXPI_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0AC))
>> +#define PRC1_LOCK_CTR ((unsigned int *)(MISC_BASE + 0x0C0))
>> +#define PRC2_LOCK_CTR ((unsigned int *)(MISC_BASE + 0x0C4))
>> +#define PRC3_LOCK_CTR ((unsigned int *)(MISC_BASE + 0x0C8))
>> +#define PRC4_LOCK_CTR ((unsigned int *)(MISC_BASE + 0x0CC))
>> +#define PRC1_IRQ_CTR ((unsigned int *)(MISC_BASE + 0x0D0))
>> +#define PRC2_IRQ_CTR ((unsigned int *)(MISC_BASE + 0x0D4))
>> +#define PRC3_IRQ_CTR ((unsigned int *)(MISC_BASE + 0x0D8))
>> +#define PRC4_IRQ_CTR ((unsigned int *)(MISC_BASE + 0x0DC))
>> +#define PWRDOWN_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0E0))
>> +#define COMPSSTL_1V8_CFG ((unsigned int *)(MISC_BASE + 0x0E4))
>> +#define COMPSSTL_2V5_CFG ((unsigned int *)(MISC_BASE + 0x0E8))
>> +#define COMPCOR_3V3_CFG ((unsigned int *)(MISC_BASE + 0x0EC))
>> +#define SSTLPAD_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0F0))
>> +#define BIST1_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0F4))
>> +#define BIST2_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0F8))
>> +#define BIST3_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0FC))
>> +#define BIST4_CFG_CTR ((unsigned int *)(MISC_BASE + 0x100))
>> +#define BIST5_CFG_CTR ((unsigned int *)(MISC_BASE + 0x104))
>> +#define BIST1_STS_RES ((unsigned int *)(MISC_BASE + 0x108))
>> +#define BIST2_STS_RES ((unsigned int *)(MISC_BASE + 0x10C))
>> +#define BIST3_STS_RES ((unsigned int *)(MISC_BASE + 0x110))
>> +#define BIST4_STS_RES ((unsigned int *)(MISC_BASE + 0x114))
>> +#define BIST5_STS_RES ((unsigned int *)(MISC_BASE + 0x118))
>> +#define SYSERR_CFG_CTR ((unsigned int *)(MISC_BASE + 0x11C))
>> +
>> +#endif /* __ASM_MACH_MISC_REGS_H */
>
> Personally I like to push down these definitions into the actual driver files,
> so that all PLL+CLK stuff goes into clock.c, all GPT stuff into timer.c etc.
> It has the convenience of easily finding everything in a single file and
> at the same time surely blocking some other driver from poking around
> in the same registers.
Background: This file defines miscellaneous registers for spear machines. They
provide features like enabling/disabling peripherals, clocks, selecting clock
sources, etc.
I wanted to keep this file because, i didn't wanted people using same
miscellaneous registers make different macros. It is actually like a module for
machines, and so this can be kept separate.
>
> If you want to keep this file anyway, move it from mach-spear3xx/include/mach
> to just mach-spear3xx and include like this: #include "misc_regs.h" and
> thus avoid the entire drivers/* tree (etc) from being able to #include
> <mach/misc_regs.h>
> because surely any machine-specific special driver using these very
> machine-specific
> registers will be in mach-spear3xx/ anyway.
Surely, any standard driver will not use them. Actually we have kept clock
framework code common to different machines in plat-spear.
And here we need to use misc_regs.h, for this reason i kept it in
mach/include/mach.
Is it Okay?
>
>> (...)
>> diff --git a/arch/arm/mach-spear3xx/include/mach/system.h b/arch/arm/mach-spear3xx/include/mach/system.h
>> new file mode 100644
>> index 0000000..b7bc53f
>> +
>> +#ifndef __ASM_MACH_SYSTEM_H
>> +#define __ASM_MACH_SYSTEM_H
>
> Again __MACH_SYSTEM_H
>
>> +
>> +#include <linux/io.h>
>> +#include <linux/sysctl_sp810.h>
>
> In regard to earlier comment:
> #include <asm/hardware/sysctl_sp810.h>
OK.
>
>> +#include <mach/spear.h>
>> +
>> +static inline void arch_idle(void)
>> +{
>> + /*
>> + * This should do all the clock switching
>> + * and wait for interrupt tricks
>> + */
>> + cpu_do_idle();
>> +}
>> +
>> +static inline void arch_reset(char mode, const char *cmd)
>> +{
>> + if (mode == 's') {
>> + /* software reset, Jump into ROM at address 0 */
>> + cpu_reset(0);
>> + } else {
>> + /* hardware reset, Use on-chip reset capability */
>> + sysctl_soft_reset(SPEAR3XX_ICM3_SYS_CTRL_BASE);
>> + }
>> +}
>> +
>> +#endif /* __ASM_MACH_SYSTEM_H */
>
> Again this file is identical to the same file for 6xx. Define a generic
> SPEAR_ICM3_SYS_CTRL_BASE or so and move to
> plat-spear/include/plat/system.h
>
OK.
> (I don't know how this works, perhaps you have to have a skeleton
> mach/include/mach/system.h that will just #include <plat/system.h>
> for this to work.)
Yes.
>
>> diff --git a/arch/arm/mach-spear3xx/include/mach/timex.h b/arch/arm/mach-spear3xx/include/mach/timex.h
>> new file mode 100644
>> index 0000000..29708db
>> --- /dev/null
>> +++ b/arch/arm/mach-spear3xx/include/mach/timex.h
>> @@ -0,0 +1,19 @@
>> +/*
>> + * arch/arm/mach-spear3xx/include/mach/timex.h
>> + *
>> + * SPEAr3XX machine family specific timex definitions
>> + *
>> + * Copyright (C) 2009 ST Microelectronics
>> + * Viresh Kumar<viresh.kumar@st.com>
>> + *
>> + * 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_MACH_TIMEX_H
>> +#define __ASM_MACH_TIMEX_H
>
> Again __MACH_TIMEX_H
OK
>
>> +
>> +#define CLOCK_TICK_RATE 48000000
>> +
>> +#endif /* __ASM_MACH_TIMEX_H */
>> diff --git a/arch/arm/mach-spear3xx/include/mach/uncompress.h b/arch/arm/mach-spear3xx/include/mach/uncompress.h
>> new file mode 100644
>> index 0000000..08ec3b1
>> --- /dev/null
>> +++ b/arch/arm/mach-spear3xx/include/mach/uncompress.h
>> @@ -0,0 +1,43 @@
>> +/*
>> + * arch/arm/mach-spear3xx/include/mach/uncompress.h
>> + *
>> + * Serial port stubs for kernel decompress status messages
>> + *
>> + * Copyright (C) 2009 ST Microelectronics
>> + * Viresh Kumar<viresh.kumar@st.com>
>> + *
>> + * 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.
>> + */
>> +
>> +#include <linux/io.h>
>> +#include <linux/amba/serial.h>
>> +#include <mach/spear.h>
>> +
>> +#ifndef __ASM_MACH_UNCOMPRESS_H
>> +#define __ASM_MACH_UNCOMPRESS_H
>> +/*
>> + * This does not append a newline
>> + */
>> +static inline void putc(int c)
>> +{
>> + void __iomem *base = (void __iomem *)SPEAR3XX_ICM1_UART_BASE;
>> +
>> + while (readl(base + UART01x_FR) & UART01x_FR_TXFF)
>> + barrier();
>> +
>> + writel(c, base + UART01x_DR);
>> +}
>> +
>> +static inline void flush(void)
>> +{
>> +}
>> +
>> +/*
>> + * nothing to do
>> + */
>> +#define arch_decomp_setup()
>> +#define arch_decomp_wdog()
>> +
>> +#endif /* __ASM_MACH_UNCOMPRESS_H */
>
> Apart from that the base offset is named SPEAR6XX_ICM1_UART0_BASE
> this is the same file in 3xx and 6xx series. Can you rename the base offset
> to SPEARXXX_ICM1_UART0_BASE or something similar in both machines
> and move this file to plat-spear/include/plat/uncompress.h?
OK
>
> (Perhaps mach/include/mach/uncompress.h has to contain a single
> #include <plat/uncompress.h> I haven't tested.)
yes, this is required.
>
>> diff --git a/arch/arm/mach-spear3xx/include/mach/vmalloc.h b/arch/arm/mach-spear3xx/include/mach/vmalloc.h
>> new file mode 100644
>> index 0000000..4f236f3
>> --- /dev/null
>> +++ b/arch/arm/mach-spear3xx/include/mach/vmalloc.h
>> @@ -0,0 +1,22 @@
>> +/*
>> + * arch/arm/mach-spear3xx/include/mach/vmalloc.h
>> + *
>> + * Defining Vmalloc area for SPEAr3xx machine family
>> + *
>> + * Copyright (C) 2009 ST Microelectronics
>> + * Viresh Kumar<viresh.kumar@st.com>
>> + *
>> + * 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_MACH_VMALLOC_H
>> +#define __ASM_MACH_VMALLOC_H
>
> Again __MACH_VMALLOC_H
>
>> +
>> +#include <mach/memory.h>
>> +
>> +#define VMALLOC_SIZE (0x30000000)
>> +#define VMALLOC_END (PAGE_OFFSET + VMALLOC_SIZE)
>> +
>> +#endif /* __ASM_MACH_VMALLOC_H */
>
> This is exactly the same file as in spear6xx again move to plat-spear.
> Might need a single #include <plat/vmalloc.h>
>
> Most comments on this file are in relation to the 6xx header files, so they
> apply to that patch as well. Mostly "move to plat-spear" stuff. Just
> replace in the proper places.
>
> (The entry-macro is unique for both platforms though!)
OK. will be done.
viresh kumar.
WARNING: multiple messages have this Message-ID (diff)
From: Viresh KUMAR <viresh.kumar@st.com>
To: Linus Walleij <linus.ml.walleij@gmail.com>
Cc: linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, armando.visconti@st.com,
amit.goel@st.com, shiraz.hashim@st.com, vipin.kumar@st.com,
rajeev-dlh.kumar@st.com, deepak.sikri@st.com,
ashish.priyadarshi@st.com
Subject: Re: [PATCH 02/11] ST SPEAr: Added basic header files for SPEAr3xx machine family
Date: Wed, 10 Mar 2010 11:31:22 +0530 [thread overview]
Message-ID: <4B9735B2.1030108@st.com> (raw)
In-Reply-To: <63386a3d1003091242i5e8786e4n1fe0d83b97d51e3b@mail.gmail.com>
Linus,
On 3/10/2010 2:12 AM, Linus Walleij wrote:
> Hi Viresh,
>
> 2010/3/3 Viresh KUMAR <viresh.kumar@st.com>:
>> (...)
>> diff --git a/arch/arm/mach-spear3xx/include/mach/debug-macro.S b/arch/arm/mach-spear3xx/include/mach/debug-macro.S
>> + .macro busyuart, rd, rx
>> +1002: ldr \rd, [\rx, #UART01x_FR] @ FLAG REGISTER
>> + tst \rd, #UART011_FR_TXFE @ TX_EMPTY
>> + beq 1002b
>> + .endm
>
> Apart from that the base offset is named SPEAR6XX_ICM1_UART0_BASE
> this is the same file in 3xx and 6xx series. Can you rename the base offset
> to SPEARXXX_ICM1_UART0_BASE or something similar in both machines
> and move this file to plat-spear/include/plat/debug-macro.S?
OK. This will be done.
>
> You'll probably need mach/include/mach/debug-macro.S to
> #include <plat/debug-macro.S> I think.
>
I think so.
>> diff --git a/arch/arm/mach-spear6xx/include/mach/dma.h b/arch/arm/mach-spear6xx/include/mach/dma.h
>> new file mode 100644
>> index 0000000..c4afd17
>> --- /dev/null
>> +++ b/arch/arm/mach-spear6xx/include/mach/dma.h
>> @@ -0,0 +1,17 @@
>> +/*
>> + * arch/arm/mach-spear6xx/include/mach/dma.h
>> + *
>> + * Generic SPEAr6XX machine family DMA support
>> + *
>> + * Copyright (C) 2009 ST Microelectronics
>> + * Rajeev Kumar<rajeev-dlh.kumar@st.com>
>> + *
>> + * 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_DMA_H
>> +#define __ASM_ARCH_DMA_H
>> +
>> +#endif /* __ASM_ARCH_DMA_H */
>
> Is this file needed? (Perhaps...) Anyway, the name of that #define should
> probably be __MACH_DMA_H if it shall match the filepath.
>
It is not required now, was required by earlier kernels. will be removed.
>> (...)
>> diff --git a/arch/arm/mach-spear3xx/include/mach/misc_regs.h b/arch/arm/mach-spear3xx/include/mach/misc_regs.h
>> new file mode 100755
>> index 0000000..d83dae9
>> +#ifndef __ASM_MACH_MISC_REGS_H
>> +#define __ASM_MACH_MISC_REGS_H
>
> It's not __ASM_MACH* really, but just __MACH* if it's supposed to follow
> the filename...
Will be done globally.
>
>> +
>> +#include <mach/spear.h>
>> +
>> +#define MISC_BASE VA_SPEAR3XX_ICM3_MISC_REG_BASE
>> +
>> +#define SOC_CFG_CTR ((unsigned int *)(MISC_BASE + 0x000))
>> +#define DIAG_CFG_CTR ((unsigned int *)(MISC_BASE + 0x004))
>> +#define PLL1_CTR ((unsigned int *)(MISC_BASE + 0x008))
>> +#define PLL1_FRQ ((unsigned int *)(MISC_BASE + 0x00C))
>> +#define PLL1_MOD ((unsigned int *)(MISC_BASE + 0x010))
>> +#define PLL2_CTR ((unsigned int *)(MISC_BASE + 0x014))
>> +/* PLL_CTR register masks */
>> +#define PLL_ENABLE 2
>> +#define PLL_MODE_SHIFT 4
>> +#define PLL_MODE_MASK 0x3
>> +#define PLL_MODE_NORMAL 0
>> +#define PLL_MODE_FRACTION 1
>> +#define PLL_MODE_DITH_DSB 2
>> +#define PLL_MODE_DITH_SSB 3
>> +
>> +#define PLL2_FRQ ((unsigned int *)(MISC_BASE + 0x018))
>> +/* PLL FRQ register masks */
>> +#define PLL_DIV_N_SHIFT 0
>> +#define PLL_DIV_N_MASK 0xFF
>> +#define PLL_DIV_P_SHIFT 8
>> +#define PLL_DIV_P_MASK 0x7
>> +#define PLL_NORM_FDBK_M_SHIFT 24
>> +#define PLL_NORM_FDBK_M_MASK 0xFF
>> +#define PLL_DITH_FDBK_M_SHIFT 16
>> +#define PLL_DITH_FDBK_M_MASK 0xFFFF
>> +
>> +#define PLL2_MOD ((unsigned int *)(MISC_BASE + 0x01C))
>> +#define PLL_CLK_CFG ((unsigned int *)(MISC_BASE + 0x020))
>> +#define CORE_CLK_CFG ((unsigned int *)(MISC_BASE + 0x024))
>> +/* CORE CLK CFG register masks */
>> +#define PLL_HCLK_RATIO_SHIFT 10
>> +#define PLL_HCLK_RATIO_MASK 0x3
>> +#define HCLK_PCLK_RATIO_SHIFT 8
>> +#define HCLK_PCLK_RATIO_MASK 0x3
>> +
>> +#define PERIP_CLK_CFG ((unsigned int *)(MISC_BASE + 0x028))
>> +/* PERIP_CLK_CFG register masks */
>> +#define UART_CLK_SHIFT 4
>> +#define UART_CLK_MASK 0x1
>> +#define FIRDA_CLK_SHIFT 5
>> +#define FIRDA_CLK_MASK 0x3
>> +#define GPT0_CLK_SHIFT 8
>> +#define GPT1_CLK_SHIFT 11
>> +#define GPT2_CLK_SHIFT 12
>> +#define GPT_CLK_MASK 0x1
>> +#define AUX_CLK_PLL3_MASK 0
>> +#define AUX_CLK_PLL1_MASK 1
>> +
>> +#define PERIP1_CLK_ENB ((unsigned int *)(MISC_BASE + 0x02C))
>> +/* PERIP1_CLK_ENB register masks */
>> +#define UART_CLK_ENB 3
>> +#define SSP_CLK_ENB 5
>> +#define I2C_CLK_ENB 7
>> +#define JPEG_CLK_ENB 8
>> +#define FIRDA_CLK_ENB 10
>> +#define GPT1_CLK_ENB 11
>> +#define GPT2_CLK_ENB 12
>> +#define ADC_CLK_ENB 15
>> +#define RTC_CLK_ENB 17
>> +#define GPIO_CLK_ENB 18
>> +#define DMA_CLK_ENB 19
>> +#define SMI_CLK_ENB 21
>> +#define GMAC_CLK_ENB 23
>> +#define USBD_CLK_ENB 24
>> +#define USBH_CLK_ENB 25
>> +#define C3_CLK_ENB 31
>> +
>> +#define SOC_CORE_ID ((unsigned int *)(MISC_BASE + 0x030))
>> +#define RAS_CLK_ENB ((unsigned int *)(MISC_BASE + 0x034))
>> +#define PERIP1_SOF_RST ((unsigned int *)(MISC_BASE + 0x038))
>> +/* PERIP1_SOF_RST register masks */
>> +#define JPEG_SOF_RST 8
>> +
>> +#define SOC_USER_ID ((unsigned int *)(MISC_BASE + 0x03C))
>> +#define RAS_SOF_RST ((unsigned int *)(MISC_BASE + 0x040))
>> +#define PRSC1_CLK_CFG ((unsigned int *)(MISC_BASE + 0x044))
>> +#define PRSC2_CLK_CFG ((unsigned int *)(MISC_BASE + 0x048))
>> +#define PRSC3_CLK_CFG ((unsigned int *)(MISC_BASE + 0x04C))
>> +/* gpt synthesizer register masks */
>> +#define GPT_MSCALE_SHIFT 0
>> +#define GPT_MSCALE_MASK 0xFFF
>> +#define GPT_NSCALE_SHIFT 12
>> +#define GPT_NSCALE_MASK 0xF
>> +
>> +#define AMEM_CLK_CFG ((unsigned int *)(MISC_BASE + 0x050))
>> +#define EXPI_CLK_CFG ((unsigned int *)(MISC_BASE + 0x054))
>> +#define CLCD_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x05C))
>> +#define FIRDA_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x060))
>> +#define UART_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x064))
>> +#define GMAC_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x068))
>> +#define RAS1_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x06C))
>> +#define RAS2_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x070))
>> +#define RAS3_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x074))
>> +#define RAS4_CLK_SYNT ((unsigned int *)(MISC_BASE + 0x078))
>> +/* aux clk synthesiser register masks for irda to ras4 */
>> +#define AUX_EQ_SEL_SHIFT 30
>> +#define AUX_EQ_SEL_MASK 1
>> +#define AUX_EQ1_SEL 0
>> +#define AUX_EQ2_SEL 1
>> +#define AUX_XSCALE_SHIFT 16
>> +#define AUX_XSCALE_MASK 0xFFF
>> +#define AUX_YSCALE_SHIFT 0
>> +#define AUX_YSCALE_MASK 0xFFF
>> +
>> +#define ICM1_ARB_CFG ((unsigned int *)(MISC_BASE + 0x07C))
>> +#define ICM2_ARB_CFG ((unsigned int *)(MISC_BASE + 0x080))
>> +#define ICM3_ARB_CFG ((unsigned int *)(MISC_BASE + 0x084))
>> +#define ICM4_ARB_CFG ((unsigned int *)(MISC_BASE + 0x088))
>> +#define ICM5_ARB_CFG ((unsigned int *)(MISC_BASE + 0x08C))
>> +#define ICM6_ARB_CFG ((unsigned int *)(MISC_BASE + 0x090))
>> +#define ICM7_ARB_CFG ((unsigned int *)(MISC_BASE + 0x094))
>> +#define ICM8_ARB_CFG ((unsigned int *)(MISC_BASE + 0x098))
>> +#define ICM9_ARB_CFG ((unsigned int *)(MISC_BASE + 0x09C))
>> +#define DMA_CHN_CFG ((unsigned int *)(MISC_BASE + 0x0A0))
>> +#define USB2_PHY_CFG ((unsigned int *)(MISC_BASE + 0x0A4))
>> +#define GMAC_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0A8))
>> +#define EXPI_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0AC))
>> +#define PRC1_LOCK_CTR ((unsigned int *)(MISC_BASE + 0x0C0))
>> +#define PRC2_LOCK_CTR ((unsigned int *)(MISC_BASE + 0x0C4))
>> +#define PRC3_LOCK_CTR ((unsigned int *)(MISC_BASE + 0x0C8))
>> +#define PRC4_LOCK_CTR ((unsigned int *)(MISC_BASE + 0x0CC))
>> +#define PRC1_IRQ_CTR ((unsigned int *)(MISC_BASE + 0x0D0))
>> +#define PRC2_IRQ_CTR ((unsigned int *)(MISC_BASE + 0x0D4))
>> +#define PRC3_IRQ_CTR ((unsigned int *)(MISC_BASE + 0x0D8))
>> +#define PRC4_IRQ_CTR ((unsigned int *)(MISC_BASE + 0x0DC))
>> +#define PWRDOWN_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0E0))
>> +#define COMPSSTL_1V8_CFG ((unsigned int *)(MISC_BASE + 0x0E4))
>> +#define COMPSSTL_2V5_CFG ((unsigned int *)(MISC_BASE + 0x0E8))
>> +#define COMPCOR_3V3_CFG ((unsigned int *)(MISC_BASE + 0x0EC))
>> +#define SSTLPAD_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0F0))
>> +#define BIST1_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0F4))
>> +#define BIST2_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0F8))
>> +#define BIST3_CFG_CTR ((unsigned int *)(MISC_BASE + 0x0FC))
>> +#define BIST4_CFG_CTR ((unsigned int *)(MISC_BASE + 0x100))
>> +#define BIST5_CFG_CTR ((unsigned int *)(MISC_BASE + 0x104))
>> +#define BIST1_STS_RES ((unsigned int *)(MISC_BASE + 0x108))
>> +#define BIST2_STS_RES ((unsigned int *)(MISC_BASE + 0x10C))
>> +#define BIST3_STS_RES ((unsigned int *)(MISC_BASE + 0x110))
>> +#define BIST4_STS_RES ((unsigned int *)(MISC_BASE + 0x114))
>> +#define BIST5_STS_RES ((unsigned int *)(MISC_BASE + 0x118))
>> +#define SYSERR_CFG_CTR ((unsigned int *)(MISC_BASE + 0x11C))
>> +
>> +#endif /* __ASM_MACH_MISC_REGS_H */
>
> Personally I like to push down these definitions into the actual driver files,
> so that all PLL+CLK stuff goes into clock.c, all GPT stuff into timer.c etc.
> It has the convenience of easily finding everything in a single file and
> at the same time surely blocking some other driver from poking around
> in the same registers.
Background: This file defines miscellaneous registers for spear machines. They
provide features like enabling/disabling peripherals, clocks, selecting clock
sources, etc.
I wanted to keep this file because, i didn't wanted people using same
miscellaneous registers make different macros. It is actually like a module for
machines, and so this can be kept separate.
>
> If you want to keep this file anyway, move it from mach-spear3xx/include/mach
> to just mach-spear3xx and include like this: #include "misc_regs.h" and
> thus avoid the entire drivers/* tree (etc) from being able to #include
> <mach/misc_regs.h>
> because surely any machine-specific special driver using these very
> machine-specific
> registers will be in mach-spear3xx/ anyway.
Surely, any standard driver will not use them. Actually we have kept clock
framework code common to different machines in plat-spear.
And here we need to use misc_regs.h, for this reason i kept it in
mach/include/mach.
Is it Okay?
>
>> (...)
>> diff --git a/arch/arm/mach-spear3xx/include/mach/system.h b/arch/arm/mach-spear3xx/include/mach/system.h
>> new file mode 100644
>> index 0000000..b7bc53f
>> +
>> +#ifndef __ASM_MACH_SYSTEM_H
>> +#define __ASM_MACH_SYSTEM_H
>
> Again __MACH_SYSTEM_H
>
>> +
>> +#include <linux/io.h>
>> +#include <linux/sysctl_sp810.h>
>
> In regard to earlier comment:
> #include <asm/hardware/sysctl_sp810.h>
OK.
>
>> +#include <mach/spear.h>
>> +
>> +static inline void arch_idle(void)
>> +{
>> + /*
>> + * This should do all the clock switching
>> + * and wait for interrupt tricks
>> + */
>> + cpu_do_idle();
>> +}
>> +
>> +static inline void arch_reset(char mode, const char *cmd)
>> +{
>> + if (mode == 's') {
>> + /* software reset, Jump into ROM at address 0 */
>> + cpu_reset(0);
>> + } else {
>> + /* hardware reset, Use on-chip reset capability */
>> + sysctl_soft_reset(SPEAR3XX_ICM3_SYS_CTRL_BASE);
>> + }
>> +}
>> +
>> +#endif /* __ASM_MACH_SYSTEM_H */
>
> Again this file is identical to the same file for 6xx. Define a generic
> SPEAR_ICM3_SYS_CTRL_BASE or so and move to
> plat-spear/include/plat/system.h
>
OK.
> (I don't know how this works, perhaps you have to have a skeleton
> mach/include/mach/system.h that will just #include <plat/system.h>
> for this to work.)
Yes.
>
>> diff --git a/arch/arm/mach-spear3xx/include/mach/timex.h b/arch/arm/mach-spear3xx/include/mach/timex.h
>> new file mode 100644
>> index 0000000..29708db
>> --- /dev/null
>> +++ b/arch/arm/mach-spear3xx/include/mach/timex.h
>> @@ -0,0 +1,19 @@
>> +/*
>> + * arch/arm/mach-spear3xx/include/mach/timex.h
>> + *
>> + * SPEAr3XX machine family specific timex definitions
>> + *
>> + * Copyright (C) 2009 ST Microelectronics
>> + * Viresh Kumar<viresh.kumar@st.com>
>> + *
>> + * 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_MACH_TIMEX_H
>> +#define __ASM_MACH_TIMEX_H
>
> Again __MACH_TIMEX_H
OK
>
>> +
>> +#define CLOCK_TICK_RATE 48000000
>> +
>> +#endif /* __ASM_MACH_TIMEX_H */
>> diff --git a/arch/arm/mach-spear3xx/include/mach/uncompress.h b/arch/arm/mach-spear3xx/include/mach/uncompress.h
>> new file mode 100644
>> index 0000000..08ec3b1
>> --- /dev/null
>> +++ b/arch/arm/mach-spear3xx/include/mach/uncompress.h
>> @@ -0,0 +1,43 @@
>> +/*
>> + * arch/arm/mach-spear3xx/include/mach/uncompress.h
>> + *
>> + * Serial port stubs for kernel decompress status messages
>> + *
>> + * Copyright (C) 2009 ST Microelectronics
>> + * Viresh Kumar<viresh.kumar@st.com>
>> + *
>> + * 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.
>> + */
>> +
>> +#include <linux/io.h>
>> +#include <linux/amba/serial.h>
>> +#include <mach/spear.h>
>> +
>> +#ifndef __ASM_MACH_UNCOMPRESS_H
>> +#define __ASM_MACH_UNCOMPRESS_H
>> +/*
>> + * This does not append a newline
>> + */
>> +static inline void putc(int c)
>> +{
>> + void __iomem *base = (void __iomem *)SPEAR3XX_ICM1_UART_BASE;
>> +
>> + while (readl(base + UART01x_FR) & UART01x_FR_TXFF)
>> + barrier();
>> +
>> + writel(c, base + UART01x_DR);
>> +}
>> +
>> +static inline void flush(void)
>> +{
>> +}
>> +
>> +/*
>> + * nothing to do
>> + */
>> +#define arch_decomp_setup()
>> +#define arch_decomp_wdog()
>> +
>> +#endif /* __ASM_MACH_UNCOMPRESS_H */
>
> Apart from that the base offset is named SPEAR6XX_ICM1_UART0_BASE
> this is the same file in 3xx and 6xx series. Can you rename the base offset
> to SPEARXXX_ICM1_UART0_BASE or something similar in both machines
> and move this file to plat-spear/include/plat/uncompress.h?
OK
>
> (Perhaps mach/include/mach/uncompress.h has to contain a single
> #include <plat/uncompress.h> I haven't tested.)
yes, this is required.
>
>> diff --git a/arch/arm/mach-spear3xx/include/mach/vmalloc.h b/arch/arm/mach-spear3xx/include/mach/vmalloc.h
>> new file mode 100644
>> index 0000000..4f236f3
>> --- /dev/null
>> +++ b/arch/arm/mach-spear3xx/include/mach/vmalloc.h
>> @@ -0,0 +1,22 @@
>> +/*
>> + * arch/arm/mach-spear3xx/include/mach/vmalloc.h
>> + *
>> + * Defining Vmalloc area for SPEAr3xx machine family
>> + *
>> + * Copyright (C) 2009 ST Microelectronics
>> + * Viresh Kumar<viresh.kumar@st.com>
>> + *
>> + * 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_MACH_VMALLOC_H
>> +#define __ASM_MACH_VMALLOC_H
>
> Again __MACH_VMALLOC_H
>
>> +
>> +#include <mach/memory.h>
>> +
>> +#define VMALLOC_SIZE (0x30000000)
>> +#define VMALLOC_END (PAGE_OFFSET + VMALLOC_SIZE)
>> +
>> +#endif /* __ASM_MACH_VMALLOC_H */
>
> This is exactly the same file as in spear6xx again move to plat-spear.
> Might need a single #include <plat/vmalloc.h>
>
> Most comments on this file are in relation to the 6xx header files, so they
> apply to that patch as well. Mostly "move to plat-spear" stuff. Just
> replace in the proper places.
>
> (The entry-macro is unique for both platforms though!)
OK. will be done.
viresh kumar.
next prev parent reply other threads:[~2010-03-10 6:01 UTC|newest]
Thread overview: 102+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-03 5:07 [PATCH 00/11] Adding Support for SPEAr Platform under ARM architecture Viresh KUMAR
2010-03-03 5:07 ` Viresh KUMAR
2010-03-03 5:07 ` [PATCH 01/11] ST SPEAr: Added ARM PrimeXsys System Controller SP810 header file Viresh KUMAR
2010-03-03 5:07 ` Viresh KUMAR
2010-03-03 5:07 ` [PATCH 02/11] ST SPEAr: Added basic header files for SPEAr3xx machine family Viresh KUMAR
2010-03-03 5:07 ` Viresh KUMAR
2010-03-03 5:07 ` [PATCH 03/11] ST SPEAr: Added basic header files for SPEAr6xx " Viresh KUMAR
2010-03-03 5:07 ` Viresh KUMAR
2010-03-03 5:07 ` [PATCH 04/11] ST SPEAr: Added basic header files for SPEAr platform Viresh KUMAR
2010-03-03 5:07 ` Viresh KUMAR
2010-03-03 5:07 ` [PATCH 05/11] ST SPEAr: Added clock framework for SPEAr platform and machines Viresh KUMAR
2010-03-03 5:07 ` Viresh KUMAR
2010-03-03 5:07 ` [PATCH 06/11] ST SPEAr: Added source files for SPEAr platform Viresh KUMAR
2010-03-03 5:07 ` Viresh KUMAR
2010-03-03 5:07 ` [PATCH 07/11] ST SPEAr: Added source files for SPEAr3xx machine family Viresh KUMAR
2010-03-03 5:07 ` Viresh KUMAR
2010-03-03 5:07 ` [PATCH 08/11] ST SPEAr: Added source files for SPEAr6xx " Viresh KUMAR
2010-03-03 5:07 ` Viresh KUMAR
2010-03-03 5:07 ` [PATCH 09/11] ST SPEAr: Added support for SPEAr platform and machines in arch/arm/ Viresh KUMAR
2010-03-03 5:07 ` Viresh KUMAR
2010-03-03 5:07 ` [PATCH 10/11] ST SPEAr: Added default configuration files for SPEAr machines Viresh KUMAR
2010-03-03 5:07 ` Viresh KUMAR
2010-03-03 5:07 ` [PATCH 11/11] ST SPEAr: Updated Maintainers and added Documentation/arm/SPEAr Viresh KUMAR
2010-03-03 5:07 ` Viresh KUMAR
2010-03-11 20:18 ` [PATCH 10/11] ST SPEAr: Added default configuration files for SPEAr machines Linus Walleij
2010-03-11 20:18 ` Linus Walleij
2010-03-11 20:26 ` Russell King - ARM Linux
2010-03-11 20:26 ` Russell King - ARM Linux
2010-03-12 4:12 ` Viresh KUMAR
2010-03-12 4:12 ` Viresh KUMAR
2010-03-09 6:46 ` [PATCH 07/11] ST SPEAr: Added source files for SPEAr3xx machine family Linus Walleij
2010-03-09 6:46 ` Linus Walleij
2010-03-09 7:05 ` Viresh KUMAR
2010-03-09 7:05 ` Viresh KUMAR
2010-03-10 5:15 ` Linus Walleij
2010-03-10 5:15 ` Linus Walleij
2010-03-10 6:10 ` viresh kumar
2010-03-10 6:10 ` viresh kumar
2010-03-11 10:41 ` Russell King - ARM Linux
2010-03-11 10:41 ` Russell King - ARM Linux
2010-03-12 5:19 ` Viresh KUMAR
2010-03-12 5:19 ` Viresh KUMAR
2010-03-11 11:22 ` [PATCH 06/11] ST SPEAr: Added source files for SPEAr platform Linus Walleij
2010-03-11 11:22 ` Linus Walleij
2010-03-11 7:00 ` [PATCH 05/11] ST SPEAr: Added clock framework for SPEAr platform and machines Linus Walleij
2010-03-11 7:00 ` Linus Walleij
2010-03-11 10:18 ` Shiraz HASHIM
2010-03-11 10:18 ` Shiraz HASHIM
2010-03-12 8:46 ` Linus Walleij
2010-03-12 8:46 ` Linus Walleij
2010-03-12 4:19 ` Viresh KUMAR
2010-03-12 4:19 ` Viresh KUMAR
2010-03-11 10:28 ` Russell King - ARM Linux
2010-03-11 10:28 ` Russell King - ARM Linux
2010-03-12 4:22 ` Viresh KUMAR
2010-03-12 4:22 ` Viresh KUMAR
2010-03-10 5:40 ` [PATCH 04/11] ST SPEAr: Added basic header files for SPEAr platform Linus Walleij
2010-03-10 5:40 ` Linus Walleij
2010-03-10 6:32 ` Viresh KUMAR
2010-03-10 6:32 ` Viresh KUMAR
2010-03-10 9:31 ` Linus Walleij
2010-03-10 9:31 ` Linus Walleij
2010-03-10 10:11 ` Viresh KUMAR
2010-03-10 10:11 ` Viresh KUMAR
2010-03-10 14:16 ` Paul Mundt
2010-03-10 14:16 ` Paul Mundt
2010-03-10 16:36 ` Thomas Gleixner
2010-03-10 16:36 ` Thomas Gleixner
2010-03-10 22:16 ` Tony Lindgren
2010-03-10 22:16 ` Tony Lindgren
2010-03-10 23:29 ` Paul Mundt
2010-03-10 23:29 ` Paul Mundt
2010-03-10 23:42 ` Thomas Gleixner
2010-03-10 23:42 ` Thomas Gleixner
2010-03-11 6:43 ` Linus Walleij
2010-03-11 6:43 ` Linus Walleij
2010-03-11 9:47 ` Shiraz HASHIM
2010-03-11 9:47 ` Shiraz HASHIM
2010-03-11 11:26 ` Linus Walleij
2010-03-11 11:26 ` Linus Walleij
2010-03-09 20:42 ` [PATCH 02/11] ST SPEAr: Added basic header files for SPEAr3xx machine family Linus Walleij
2010-03-09 20:42 ` Linus Walleij
2010-03-10 6:01 ` Viresh KUMAR [this message]
2010-03-10 6:01 ` Viresh KUMAR
2010-03-10 6:07 ` Linus Walleij
2010-03-10 6:07 ` Linus Walleij
2010-03-11 10:33 ` Russell King - ARM Linux
2010-03-11 10:33 ` Russell King - ARM Linux
2010-03-12 4:39 ` Viresh KUMAR
2010-03-12 4:39 ` Viresh KUMAR
2010-03-09 20:14 ` [PATCH 01/11] ST SPEAr: Added ARM PrimeXsys System Controller SP810 header file Linus Walleij
2010-03-09 20:14 ` Linus Walleij
2010-03-10 5:09 ` Viresh KUMAR
2010-03-10 5:09 ` Viresh KUMAR
2010-03-11 10:45 ` Russell King - ARM Linux
2010-03-11 10:45 ` Russell King - ARM Linux
2010-03-12 5:19 ` Viresh KUMAR
2010-03-12 5:19 ` Viresh KUMAR
2010-03-07 15:54 ` [PATCH 00/11] Adding Support for SPEAr Platform under ARM architecture viresh kumar
2010-03-07 15:54 ` viresh kumar
2010-03-08 13:48 ` Armando VISCONTI
2010-03-08 13:48 ` Armando VISCONTI
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B9735B2.1030108@st.com \
--to=viresh.kumar@st.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.