From: Felipe Balbi <me@felipebalbi.com>
To: Carlos Chinea <carlos.chinea@nokia.com>
Cc: linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org
Subject: Re: [RFC][PATCH 1/5] OMAP SSI hardware interface definitions
Date: Tue, 7 Oct 2008 02:16:17 +0300 [thread overview]
Message-ID: <20081006231552.GD8273@frodo> (raw)
In-Reply-To: <1223034750-18690-1-git-send-email-carlos.chinea@nokia.com>
On Fri, Oct 03, 2008 at 02:52:26PM +0300, Carlos Chinea wrote:
>
> Signed-off-by: Carlos Chinea <carlos.chinea@nokia.com>
> ---
> arch/arm/plat-omap/include/mach/ssi/ssi_gdd_reg.h | 145 ++++++++++++++++++++
> .../plat-omap/include/mach/ssi/ssi_reg_common.h | 73 ++++++++++
> arch/arm/plat-omap/include/mach/ssi/ssi_ssr_reg.h | 56 ++++++++
> arch/arm/plat-omap/include/mach/ssi/ssi_sst_reg.h | 65 +++++++++
> arch/arm/plat-omap/include/mach/ssi/ssi_sys_reg.h | 107 ++++++++++++++
> 5 files changed, 446 insertions(+), 0 deletions(-)
> create mode 100644 arch/arm/plat-omap/include/mach/ssi/ssi_gdd_reg.h
> create mode 100644 arch/arm/plat-omap/include/mach/ssi/ssi_reg_common.h
> create mode 100644 arch/arm/plat-omap/include/mach/ssi/ssi_ssr_reg.h
> create mode 100644 arch/arm/plat-omap/include/mach/ssi/ssi_sst_reg.h
> create mode 100644 arch/arm/plat-omap/include/mach/ssi/ssi_sys_reg.h
>
> diff --git a/arch/arm/plat-omap/include/mach/ssi/ssi_gdd_reg.h b/arch/arm/plat-omap/include/mach/ssi/ssi_gdd_reg.h
> new file mode 100644
> index 0000000..5ed91cc
> --- /dev/null
> +++ b/arch/arm/plat-omap/include/mach/ssi/ssi_gdd_reg.h
> @@ -0,0 +1,145 @@
> +/*
> + * ssi_gdd_reg.h
> + *
> + * Hardware defintions for SSI Controller GDD registers.
> + *
> + * HARDWARE: OMAP 2420, OMAP 3430
This is unnecessary, if we happen to use the same in omap4 we're gonna
have to update. Please remove.
> + * Copyright (C) 2007-2008 Nokia Corporation. All rights reserved.
> + *
> + * Contact: Carlos Chinea <carlos.chinea@nokia.com>
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License
> + * version 2 as published by the Free Software Foundation.
> + *
> + * 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.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> + * 02110-1301 USA
> + */
> +#ifndef __SSI_GDD_REG_H__
> +#define __SSI_GDD_REG_H__
> +
> +#include "ssi_reg_common.h"
> +
> +#define SSI_GDD_HW_ID_REG SSI_GDD_REG32(0x0000)
this is not a good practice, use the correct offsets for all registers
> +#define SSI_GDD_PPORT_ID_REG SSI_GDD_REG32(0x0010)
> +#define SSI_GDD_MPORT_ID_REG SSI_GDD_REG32(0x0014)
> +
> +#define SSI_GDD_PPORT_SR_REG SSI_GDD_REG32(0x0020)
> +# define SSI_PPORT_ACTIVE_LCH_NUMBER_MASK 0xFF
> +
> +#define SSI_GDD_MPORT_SR_REG SSI_GDD_REG32(0x0024)
> +# define SSI_MPORT_ACTIVE_LCH_NUMBER_MASK 0xFF
> +
> +#define SSI_GDD_TEST_REG SSI_GDD_REG32(0x0040)
^ trailing whitespace
> +# define SSI_TEST 0x1
> +
> +#define SSI_GDD_GCR_REG SSI_GDD_REG32(0x0100)
> +# define SSI_CLK_AUTOGATING_ON (1<<3)
^^ add spaces around <<
> +# define SSI_FREE (1<<2)
> +# define SSI_SWITCH_OFF 0x1
> +
> +#define SSI_GDD_GRST_REG SSI_GDD_REG32(0x0200)
^ trailing whitespace
> +# define SSI_SWRESET 0x1
> +
> +#define SSI_GDD_CSDP_BASE 0x0800
> +#define SSI_GDD_CSDP_OFFSET 0x40
> +#define SSI_GDD_CSDP_REG(channel) SSI_GDD_REG16(SSI_GDD_CSDP_BASE +\
^ trailing whitespace
> + (channel*SSI_GDD_CSDP_OFFSET))
^ add spaces around *
> +# define SSI_DST_BURST_EN_MASK 0xC000
> +# define SSI_DST_SINGLE_ACCESS0 0x0
> +# define SSI_DST_SINGLE_ACCESS (0x1<<14)
> +# define SSI_DST_BURST_4X32_BIT (0x2<<14)
> +# define SSI_DST_BURST_8x32_BIT (0x3<<14) /*NOTE: NOT SUPPORTED */
(1 << 14), (2 << 14) and (3 << 14) (up to 9) is enough. ^ add a space
before NOTE
> +
> +# define SSI_DST_MASK 0x1E00
make all the hex numbers lower case
> +# define SSI_DST_MEMORY_PORT (0x8<<9)
> +# define SSI_DST_PERIPHERAL_PORT (0x9<<9)
> +
> +# define SSI_SRC_BURST_EN_MASK 0x0180
> +# define SSI_SRC_SINGLE_ACCESS0 0x0
> +# define SSI_SRC_SINGLE_ACCESS (0x1<<7)
> +# define SSI_SRC_BURST_4x32_BIT (0x2<<7)
> +# define SSI_SRC_BURST_8x32_BIT (0x3<<7) /*NOTE: NOT SUPPORTED */
> +
> +# define SSI_SRC_MASK 0x003C
> +# define SSI_SRC_MEMORY_PORT (0x8<<2)
> +# define SSI_SRC_PERIPHERAL_PORT (0x9<<2)
> +
> +# define SSI_DATA_TYPE_MASK 0x0003
> +# define SSI_DATA_TYPE_S32 0x2
> +
> +#define SSI_GDD_CCR_BASE 0x0802
^ trailing whitespace
> +#define SSI_GDD_CCR_OFFSET 0x40
^ trailing whitespace
> +#define SSI_GDD_CCR_REG(channel) SSI_GDD_REG16(SSI_GDD_CCR_BASE +\
> + (channel*SSI_GDD_CCR_OFFSET))
^ missing space
> +# define SSI_DST_AMODE_MASK (0x3<<14)
> +# define SSI_DST_AMODE_CONST 0x0
> +# define SSI_DST_AMODE_POSTINC (0x1<<12)
> +
> +# define SSI_SRC_AMODE_MASK (0x3<<12)
> +# define SSI_SRC_AMODE_CONST 0x0
> +# define SSI_SRC_AMODE_POSTINC (0x1<<12)
> +
> +# define SSI_CCR_ENABLE (0x1<<7)
> +
> +# define SSI_CCR_SYNC_MASK 0x001F
> +
> +#define SSI_GDD_CICR_BASE 0x0804
^ trailing whitespace
> +#define SSI_GDD_CICR_OFFSET 0x40
> +#define SSI_GDD_CICR_REG(channel) SSI_GDD_REG16(SSI_GDD_CICR_BASE +\
> + (channel*SSI_GDD_CICR_OFFSET))
> +# define SSI_BLOCK_IE (0x1<<5)
(1 << 5)
> +# define SSI_HALF_IE (0x1<<2)
(1 << 2)
> +# define SSI_TOUT_IE 0x1
(1 << 0)
> +
> +#define SSI_GDD_CSR_BASE 0x0806
^ trailing whitespace
> +#define SSI_GDD_CSR_OFFSET 0x40
^ trailing whitespace
> +#define SSI_GDD_CSR_REG(channel) SSI_GDD_REG16(SSI_GDD_CSR_BASE +\
> + (channel*SSI_GDD_CSR_OFFSET))
> +# define SSI_CSR_SYNC (0x1<<6)
(1 << 6)
> +# define SSI_CSR_BLOCK (0x1<<5)
(1 << 5)
> +# define SSI_CSR_HALF (0x1<<2)
(1 << 2)
> +# define SSI_CSR_TOUR 0x1
> +
> +#define SSI_GDD_CSSA_BASE 0x0808
^ trailing whitespace
> +#define SSI_GDD_CSSA_OFFSET 0x40
> +#define SSI_GDD_CSSA_REG(channel) SSI_GDD_REG32(SSI_GDD_CSSA_BASE +\
> + (channel*SSI_GDD_CSSA_OFFSET))
^ missing space
> +
> +#define SSI_GDD_CDSA_BASE 0x080C
^ trailing whitespace
> +#define SSI_GDD_CDSA_OFFSET 0x40
> +#define SSI_GDD_CDSA_REG(channel) SSI_GDD_REG32(SSI_GDD_CDSA_BASE +\
> + (channel*SSI_GDD_CDSA_OFFSET))
^ missing space
> +
> +#define SSI_GDD_CEN_BASE 0x0810
> +#define SSI_GDD_CEN_OFFSET 0x40
> +#define SSI_GDD_CEN_REG(channel) SSI_GDD_REG16(SSI_GDD_CEN_BASE +\
> + (channel*SSI_GDD_CEN_OFFSET))
^ missing space
> +
> +#define SSI_GDD_CSAC_BASE 0x0818
^ trailing whitespace
> +#define SSI_GDD_CSAC_OFFSET 0x40
> +#define SSI_GDD_CSAC_REG(channel) SSI_GDD_REG16(SSI_GDD_CSAC_BASE +\
^ trailing whitespace
> + (channel*SSI_GDD_CSAC_OFFSET))
^ missing space
> +
> +#define SSI_GDD_CDAC_BASE 0x081A
^ trailing whitespace
> +#define SSI_GDD_CDAC_OFFSET 0x40
> +#define SSI_GDD_CDAC_REG(channel) SSI_GDD_REG16(SSI_GDD_CDAC_BASE +\
^ trailing whitespace
> + (channel*SSI_GDD_CDAC_OFFSET))
^ missing space
> +
> +#define SSI_GDD_CLNK_CTRL_BASE 0x0828
> +#define SSI_GDD_CLNK_CTRL_OFFSET 0x40
> +#define SSI_GDD_CLNK_CTRL_REG(channel) SSI_GDD_REG16(SSI_GDD_CLNK_CTRL_BASE +\
> + (channel*SSI_GDD_CLNK_CTRL_OFFSET))
^ missing space
> +# define SSI_ENABLE_LNK (0x1<<15)
(1 << 15)
> +# define SSI_STOP_LNK (0x1<<14)
(1 << 14)
> +# define NEXT_CH_ID_MASK 0xF
> +
> +#endif
> diff --git a/arch/arm/plat-omap/include/mach/ssi/ssi_reg_common.h b/arch/arm/plat-omap/include/mach/ssi/ssi_reg_common.h
> new file mode 100644
> index 0000000..e66fb43
> --- /dev/null
> +++ b/arch/arm/plat-omap/include/mach/ssi/ssi_reg_common.h
> @@ -0,0 +1,73 @@
> +/*
> + * ssi_reg_common.h
> + *
> + * Common hardware definitions for SSI.
> + *
> + * HARDWARE: OMAP 2420, 3430
unnecessary
> + *
> + * Copyright (C) 2007-2008 Nokia Corporation. All rights reserved.
> + *
> + * Contact: Carlos Chinea <carlos.chinea@nokia.com>
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License
> + * version 2 as published by the Free Software Foundation.
> + *
> + * 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.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> + * 02110-1301 USA
> + */
> +
> +#ifndef __SSI_REG_COMMON_H__
> +#define __SSI_REG_COMMON_H__
> +
> +#define SSI_COMMON_BASE_ADDR 0x48050000
> +
> +/* SSI system registers */
> +#define SSI_SYS_OFFSET 0x8000
> +#define SSI_SYS_REG32(offset) (SSI_SYS_OFFSET + (offset))
> +/* SSI GDD registers */
> +#define SSI_GDD_OFFSET 0x9000
> +#define SSI_GDD_REG32(offset) (SSI_GDD_OFFSET + (offset))
> +#define SSI_GDD_REG16(offset) (SSI_GDD_OFFSET + (offset))
> +
> +/* SSI SST registers */
> +/* General offset of SST port 1. First SST port register.*/
> +#define SSI_SST1_OFFSET 0xA000
> +/* General offset of SST port 2.*/
> +#define SSI_SST2_OFFSET 0xB000
> +/* Offset among the SST ports.*/
> +#define SSI_SST_PORT_OFFSET 0x1000
> +#define SSI_SST_OFFSET(port) (SSI_SST1_OFFSET +\
> + ((port-1)*(SSI_SST_PORT_OFFSET)))
^ ^ missing spaces
> +#define SSI_SST_REG(port, offset) (SSI_SST_OFFSET(port) + (offset))
> +
> +/* SSI SSR registers */
> +/* General offset of SSR port 1. First SSR port register.*/
> +#define SSI_SSR1_OFFSET 0xA800
> +/* General offset of SSR port 2.*/
> +#define SSI_SSR2_OFFSET 0xB800
> +/* Offset among the SSR ports.*/
> +#define SSI_SSR_PORT_OFFSET 0x1000
> +#define SSI_SSR_OFFSET(port) (SSI_SSR1_OFFSET +\
> + ((port-1)*(SSI_SSR_PORT_OFFSET)))
^ missing space
> +#define SSI_SSR_REG(port, offset) (SSI_SSR_OFFSET(port) + (offset))
> +
> +#define SSI_IOMEM_BASE_ADDR SSI_COMMON_BASE_ADDR
> +#define SSI_IOMEM_SIZE 0x3C00
> +
> +/*
> + * FIXME: Following definitions to be removed.
> + * They are used for checking that the SSI clocks are stable before accessing
> + * the SSI registers.
> + */
> +#define OMAP_COMMON_BASE 0x48000000
> +#define CM_IDLEST1_CORE_REG 0x4A20
> +#define ST_SSI 1
> +#endif
> diff --git a/arch/arm/plat-omap/include/mach/ssi/ssi_ssr_reg.h b/arch/arm/plat-omap/include/mach/ssi/ssi_ssr_reg.h
> new file mode 100644
> index 0000000..b272047
> --- /dev/null
> +++ b/arch/arm/plat-omap/include/mach/ssi/ssi_ssr_reg.h
> @@ -0,0 +1,56 @@
> +/*
> + * ssi_sst_reg.h
> + *
> + * Hardware definitions for SSI controller SSR registers.
> + *
> + * HARDWARE: OMAP 2420, 3430
unnecessary
> + *
> + * Copyright (C) 2007-2008 Nokia Corporation. All rights reserved.
> + *
> + * Contact: Carlos Chinea <carlos.chinea@nokia.com>
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License
> + * version 2 as published by the Free Software Foundation.
> + *
> + * 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.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> + * 02110-1301 USA
> + */
> +
> +#ifndef __SSI_SSR_REG_H__
> +#define __SSI_SSR_REG_H__
> +
> +#include "ssi_reg_common.h"
> +
> +#define SSI_SSR_ID_REG(port) SSI_SSR_REG(port, 0x0000)
> +#define SSI_SSR_MODE_REG(port) SSI_SSR_REG(port, 0x0004)
> +#define SSI_SSR_FRAMESIZE_REG(port) SSI_SSR_REG(port, 0x0008)
> +#define SSI_SSR_RXSTATE_REG(port) SSI_SSR_REG(port, 0x000C)
^^ trailing whitespaces
> +#define SSI_SSR_BUFSTATE_REG(port) SSI_SSR_REG(port, 0x0010)
^ trailing whitespace
> +# define NOTEMPTY(channel) (1<<channel)
^^ missing spaces
> +#define SSI_SSR_BREAK_REG(port) SSI_SSR_REG(port, 0x001C)
> +#define SSI_SSR_ERROR_REG(port) SSI_SSR_REG(port, 0x0020)
> +#define SSI_SSR_ERRORACK_REG(port) SSI_SSR_REG(port, 0x0024)
> +#define SSI_SSR_OVERRUN_REG(port) SSI_SSR_REG(port, 0x002C)
> +#define SSI_SSR_OVERRUNACK_REG(port) SSI_SSR_REG(port, 0x0030)
> +#define SSI_SSR_TIMEOUT_REG(port) SSI_SSR_REG(port, 0x0030)
> +# define SSI_TIMEOUT_DEFAULT 0
> +#define SSI_SSR_CHANNELS_REG(port) SSI_SSR_REG(port, 0x0028)
> +
> +#define SSI_SSR_BUFFER_OFFSET_BASE 0x0080
> +#define SSI_SSR_BUFFER_CH_REG(port, channel) SSI_SSR_REG(port, \
> + (SSI_SSR_BUFFER_OFFSET_BASE +\
> + (channel * 0x04)))
> +
> +#define SSI_SSR_SWAPBUFFER_OFFSET_BASE 0x00C0
> +#define SSI_SSR_SWAPBUFFER_CH_REG(port, channel) SSI_SSR_REG(port, \
> + (SSI_SSR_SWAPBUFFER_OFFSET_BASE\
> + + (channel * 0x04)))
> +#endif
> diff --git a/arch/arm/plat-omap/include/mach/ssi/ssi_sst_reg.h b/arch/arm/plat-omap/include/mach/ssi/ssi_sst_reg.h
> new file mode 100644
> index 0000000..ed15908
> --- /dev/null
> +++ b/arch/arm/plat-omap/include/mach/ssi/ssi_sst_reg.h
> @@ -0,0 +1,65 @@
> +/*
> + * ssi_sst_reg.h
> + *
> + * Hardware definitions for SSI controller SST registers.
> + *
> + * HARDWARE: OMAP 2420, 3430
unnecessary
> + *
> + * Copyright (C) 2007-2008 Nokia Corporation. All rights reserved.
> + *
> + * Contact: Carlos Chinea <carlos.chinea@nokia.com>
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License
> + * version 2 as published by the Free Software Foundation.
> + *
> + * 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.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> + * 02110-1301 USA
> + */
> +
> +#ifndef __SSI_SST_REG_H__
> +#define __SSI_SST_REG_H__
> +
> +#include "ssi_reg_common.h"
> +
> +#define SSI_SST_ID_REG(port) SSI_SST_REG(port, 0x0000)
> +#define SSI_SST_MODE_REG(port) SSI_SST_REG(port, 0x0004)
> +# define SSI_MODE_VAL_MASK 0x3
> +# define SSI_MODE_SLEEP 0x0
> +# define SSI_MODE_STREAM 0x1
> +# define SSI_MODE_FRAME 0x2
> +# define SSI_MODE_MULTIPOINTS 0x3
> +#define SSI_SST_FRAMESIZE_REG(port) SSI_SST_REG(port, 0x0008)
> +# define SSI_FRAMESIZE_DEFAULT 31
> +#define SSI_SST_TXSTATE_REG(port) SSI_SST_REG(port, 0x000C)
^^ trailing whitespaces
> +# define TXSTATE_IDLE 0x0
> +#define SSI_SST_BUFSTATE_REG(port) SSI_SST_REG(port, 0x0010)
^ trailing whitespace
> +# define NOTFULL(channel) (1<<channel)
^ trailing whitespace ^^ missing spaces
> +#define SSI_SST_DIVISOR_REG(port) SSI_SST_REG(port, 0x0018)
> +# define SSI_DIVISOR_DEFAULT 1
> +
> +#define SSI_SST_BREAK_REG(port) SSI_SST_REG(port, 0x0020)
> +#define SSI_SST_CHANNELS_REG(port) SSI_SST_REG(port, 0x0024)
> +# define SSI_CHANNELS_DEFAULT 4
> +
> +#define SSI_SST_ARBMODE_REG(port) SSI_SST_REG(port, 0x0028)
> +# define SSI_ARBMODE_ROUNDROBIN 0x0
> +# define SSI_ARBMODE_PRIORITY 0x1
> +
> +#define SSI_SST_BUFFER_OFFSET_BASE 0x0080
> +#define SSI_SST_BUFFER_CH_REG(port, channel) SSI_SST_REG(port, \
> + (SSI_SST_BUFFER_OFFSET_BASE +\
> + (channel * 0x4)))
> +
> +#define SSI_SST_SWAPBUF_OFFSET_BASE 0x00C0
> +#define SSI_SST_SWAPBUF_CH_REG(port, channel) SSI_SST_REG(port, \
> + (SSI_SST_SWAPBUF_OFFSET_BASE +\
> + (channel * 0x4)))
> +#endif
> diff --git a/arch/arm/plat-omap/include/mach/ssi/ssi_sys_reg.h b/arch/arm/plat-omap/include/mach/ssi/ssi_sys_reg.h
> new file mode 100644
> index 0000000..2f1e1f5
> --- /dev/null
> +++ b/arch/arm/plat-omap/include/mach/ssi/ssi_sys_reg.h
> @@ -0,0 +1,107 @@
> +/*
> + * ssi_sys_reg.h
> + *
> + * Hardware defintions for SSI Controller system registers.
> + *
> + * HARDWARE: OMAP 2420, 3430
unnecessary
> + *
> + * Copyright (C) 2007-2008 Nokia Corporation. All rights reserved.
> + *
> + * Contact: Carlos Chinea <carlos.chinea@nokia.com>
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License
> + * version 2 as published by the Free Software Foundation.
> + *
> + * 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.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> + * 02110-1301 USA
> + */
> +
> +#ifndef __SSI_SYS_REG_H__
> +#define __SSI_SYS_REG_H__
> +
> +#include "ssi_reg_common.h"
> +
> +#define SSI_SYS_REVISION_REG SSI_SYS_REG32(0x0000)
> +# define SSI_REV_MASK 0x000000FF
> +# define SSI_REV_MAJOR 0xF0
> +# define SSI_REV_MINOR 0x0F
> +
> +#define SSI_SYS_SYSCONFIG_REG SSI_SYS_REG32(0x0010)
> +# define SSI_AUTOIDLE 1
> +# define SSI_SOFTRESET (1<<1)
add spaces
> +# define SSI_SIDLEMODE_FORCE 0
> +# define SSI_SIDLEMODE_NO (1<<3)
add spaces
> +# define SSI_SIDLEMODE_SMART (1<<4)
add spaces
> +# define SSI_SIDLEMODE_MASK 0x00000018
> +# define SSI_MIDLEMODE_FORCE 0
> +# define SSI_MIDLEMODE_NO (1<<12)
add spaces
> +# define SSI_MIDLEMODE_SMART (1<<13)
add spaces
> +# define SSI_MIDLEMODE_MASK 0x00003000
> +
> +#define SSI_SYS_SYSSTATUS_REG SSI_SYS_REG32(0x0014)
> +# define SSI_RESETDONE 1
> +
> +#define SSI_SYS_MPU_STATUS_BASE 0x0808
> +#define SSI_SYS_MPU_STATUS_PORT_OFFSET 0x10
> +#define SSI_SYS_MPU_STATUS_IRQ_OFFSET 0x2
> +#define SSI_SYS_MPU_STATUS_REG(port, irq) \
> + SSI_SYS_REG32(SSI_SYS_MPU_STATUS_BASE +\
> + (((port-1)*SSI_SYS_MPU_STATUS_PORT_OFFSET) +\
> + (irq*SSI_SYS_MPU_STATUS_IRQ_OFFSET)))
> +
> +#define SSI_SYS_MPU_ENABLE_BASE 0x080C
> +#define SSI_SYS_MPU_ENABLE_PORT_OFFSET 0x10
> +#define SSI_SYS_MPU_ENABLE_IRQ_OFFSET 0x8
> +#define SSI_SYS_MPU_ENABLE_REG(port, irq) \
> + SSI_SYS_REG32(SSI_SYS_MPU_ENABLE_BASE +\
> + (((port-1)*SSI_SYS_MPU_ENABLE_PORT_OFFSET) +\
add spaces
> + (irq*SSI_SYS_MPU_ENABLE_IRQ_OFFSET)))
add spaces
> +
> +#define SSI_SYS_DSP_STATUS_BASE 0x0830
> +#define SSI_SYS_DSP_STATUS_PORT_OFFSET 0x10
> +#define SSI_SYS_DSP_STATUS_IRQ_OFFSET 0x8
> +#define SSI_SYS_DSP_STATUS_REG(port, irq) \
> + SSI_SYS_REG32(SSI_SYS_DSP_STATUS_BASE +\
> + (((port-1)*SSI_SYS_DSP_STATUS_PORT_OFFSET) +\
add spaces
> + (irq*SSI_SYS_DSP_STATUS_IRQ_OFFSET)))
add spaces
> +
> +#define SSI_SYS_DSP_ENABLE_BASE 0x0834
> +#define SSI_SYS_DSP_ENABLE_PORT_OFFSET 0x10
> +#define SSI_SYS_DSP_ENABLE_IRQ_OFFSET 0x8
> +#define SSI_SYS_DSP_ENABLE_REG(port, irq) \
> + SSI_SYS_REG32(SSI_SYS_DSP_ENABLE_BASE +\
> + (((port-1)*SSI_SYS_DSP_ENABLE_PORT_OFFSET) +\
add spaces
> + (irq*SSI_SYS_DSP_ENABLE_IRQ_OFFSET)))
add spaces
> +# define SSI_SST_DATAACCEPT(channel) (1<<channel)
add spaces
> +# define SSI_SSR_DATAAVAILABLE(channel) (1<<(channel + 8))
add spaces
> +# define SSI_SSR_DATAOVERRUN(channel) (1<<(channel + 16))
add spaces
> +# define SSI_ERROROCCURED (1<<24)
add spaces
> +# define SSI_BREAKDETECTED (1<<25)
add spaces
> +
> +#define SSI_SYS_GDD_MPU_IRQ_STATUS_REG SSI_SYS_REG32(0x0800)
> +#define SSI_SYS_GDD_MPU_IRQ_ENABLE_REG SSI_SYS_REG32(0x0804)
> +#define SSI_SYS_GDD_DSP_IRQ_STATUS_REG SSI_SYS_REG32(0x0828)
^ trailing whitespace
> +#define SSI_SYS_GDD_DSP_IRQ_ENABLE_REG SSI_SYS_REG32(0x082C)
^ trailing whitespace
> +# define SSI_GDD_LCH(channel) (1<<channel)
> +
> +#define SSI_SYS_WAKE_OFFSET 0x10
> +#define SSI_SYS_WAKE_BASE 0x0C00
> +#define SSI_SYS_WAKE_REG(port) SSI_SYS_REG32(SSI_SYS_WAKE_BASE +\
^ trailing whitespace
> + ((port-1)*SSI_SYS_WAKE_OFFSET))
add spaces
> +#define SSI_SYS_CLEAR_WAKE_BASE 0x0C04
> +#define SSI_SYS_CLEAR_WAKE_REG(port) SSI_SYS_REG32(SSI_SYS_CLEAR_WAKE_BASE +\
> + ((port-1)*SSI_SYS_WAKE_OFFSET))
add spaces
> +#define SSI_SYS_SET_WAKE_BASE 0x0C08
> +#define SSI_SYS_SET_WAKE_REG(port) SSI_SYS_REG32(SSI_SYS_SET_WAKE_BASE +\
> + ((port-1)*SSI_SYS_WAKE_OFFSET))
add spaces
> +# define SSI_WAKE(channel) (1<<channel)
add spaces
> +# define SSI_WAKE_MASK 0xFF
lower case
--
balbi
prev parent reply other threads:[~2008-10-06 23:16 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-03 11:50 [RFC][PATCH 0/5] OMAP Synchronous Serial Interface (SSI) driver Carlos Chinea
2008-10-03 11:52 ` [RFC][PATCH 1/5] OMAP SSI hardware interface definitions Carlos Chinea
2008-10-03 11:52 ` [RFC][PATCH 2/5] OMAP SSI driver interface Carlos Chinea
2008-10-03 11:52 ` [RFC][PATCH 3/5] OMAP SSI driver code Carlos Chinea
2008-10-03 11:52 ` [RFC][PATCH 4/5] OMAP SSI integration into misc drivers Carlos Chinea
2008-10-03 11:52 ` [RFC][PATCH 5/5] OMAP SSI API documentation Carlos Chinea
2008-10-09 16:47 ` Felipe Balbi
2008-10-07 0:08 ` [RFC][PATCH 4/5] OMAP SSI integration into misc drivers Felipe Balbi
2008-10-07 0:03 ` [RFC][PATCH 3/5] OMAP SSI driver code Felipe Balbi
2008-10-07 22:01 ` Felipe Balbi
2008-10-06 23:29 ` [RFC][PATCH 2/5] OMAP SSI driver interface Felipe Balbi
2008-10-07 1:03 ` David Brownell
2008-10-07 11:56 ` Woodruff, Richard
2008-10-06 23:16 ` Felipe Balbi [this message]
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=20081006231552.GD8273@frodo \
--to=me@felipebalbi.com \
--cc=carlos.chinea@nokia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.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.