Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp5359908imm; Tue, 21 Aug 2018 10:21:21 -0700 (PDT) X-Google-Smtp-Source: AA+uWPzJBC+jQqgd4/p5H9Xsem8lxIUDf8VuzF+lVaaRjuLtZmSwWIsGhhIVKBB/ilaq6sDCfToz X-Received: by 2002:a63:a54f:: with SMTP id r15-v6mr17575574pgu.336.1534872081122; Tue, 21 Aug 2018 10:21:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534872081; cv=none; d=google.com; s=arc-20160816; b=jTJ+0LChZJwgrNN+er3eFzF3mDezZK5CQwN8GGBA/E011xsbLkCe0GvFTvVO3ue2qk cYOJh6hm+APl0cbt7cSC4Y77ZtpBLcb7Q0NVN4z/q825OQodFwgDnMxiIJQNR9T4BBgG dAboeJyt7o9SmuRNur5TJ+ihf+shR7w5mRBK5Ng9FzbO6GLnPe+Rd0P2Ww0U8TzkD4G6 kV/dwW/O1D4sB0WzlJ6+5tb44Jw0/cxJJDL8CRkzChvf3aCuKE7yEt3jTGpBDe3MVxFP Irlihmi+Lv63OPFGTV9gMJsq5g+FSOzodDDp86h4OQ9PbD0a+L5mCxosdBa+N/hoKDEy McJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:dkim-signature:references:in-reply-to :message-id:date:subject:cc:to:from:arc-authentication-results; bh=vJt+U3kgbzEx5qnUIyHDe7qC4J5Z17TPcRxO5DnKp64=; b=L6/GQDKcjBA+v36eoxlb2+2Pru42h8f3xY01qTUQGUtYe3quvGTOtsIK3YL8CkLX1v 0NcSHH026D//lNtpA8A/ubWTCloFayUdiFYKxTtmb6tcOpTtOpG4itYwgRSjV2Ex/V0I dR4OSQ9pK0yRWEiSAX0s6M4cHmPxEZMiW8Q3q6Pb7Wz5a0vLgNox6PNhHG1uu9ea8Jgi 5AD1DAHqPGJO1kQ5nBUg90MkRIpnijMydiHs737VXeB7qVD/sK5pP7pZRCDjIMfKXvuk +6sJ4AhgSrJIqdMpGcVG6fIqCIAn3MbBcwS6Hv/zXC34EGJdLO6A5hdzgeugIKawGFJs J72A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@crapouillou.net header.s=mail header.b="q8MvDn/9"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=crapouillou.net Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f89-v6si13352008plf.20.2018.08.21.10.21.05; Tue, 21 Aug 2018 10:21:21 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@crapouillou.net header.s=mail header.b="q8MvDn/9"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=crapouillou.net Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727952AbeHUUhy (ORCPT + 99 others); Tue, 21 Aug 2018 16:37:54 -0400 Received: from outils.crapouillou.net ([89.234.176.41]:56162 "EHLO crapouillou.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726783AbeHUUhy (ORCPT ); Tue, 21 Aug 2018 16:37:54 -0400 From: Paul Cercueil To: Thomas Gleixner , Daniel Lezcano , Rob Herring , Thierry Reding , Mark Rutland , Ralf Baechle , Paul Burton , Jonathan Corbet Cc: od@zcrc.me, Mathieu Malaterre , linux-pwm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-watchdog@vger.kernel.org, linux-mips@linux-mips.org, linux-doc@vger.kernel.org, linux-clk@vger.kernel.org, Paul Cercueil Subject: [PATCH v7 01/24] mfd: Add ingenic-tcu.h header Date: Tue, 21 Aug 2018 19:16:12 +0200 Message-Id: <20180821171635.22740-2-paul@crapouillou.net> In-Reply-To: <20180821171635.22740-1-paul@crapouillou.net> References: <20180821171635.22740-1-paul@crapouillou.net> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=crapouillou.net; s=mail; t=1534871811; bh=vJt+U3kgbzEx5qnUIyHDe7qC4J5Z17TPcRxO5DnKp64=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References; b=q8MvDn/9p0Vi3yEiCTPG6VF48Wc4v0awCnlzyBU3aoHWjoi/AhkEpMxX/lQcUohrFWakMmE7O7Fyd9SpgbzfLJh6yvyzbBE1bNdGqzjAiWsCn9DvNGQwTkiFgeCWoC+CI1mAtOfrkEbp5bkcRnPs9/eG6H4wO0dO12e6X5mKIU8= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This header contains macros for the registers that are present in the regmap shared by all the drivers related to the TCU (Timer Counter Unit) of the Ingenic JZ47xx SoCs. Signed-off-by: Paul Cercueil Acked-by: Lee Jones --- Notes: v2: Use SPDX identifier for the license v3: - Use macros instead of enum - Add 'TCU_' at the beginning of each macro - Remove useless include v4: No change v5: No change v6: Rename barrier macro from __LINUX_CLK_INGENIC_TCU_H__ to __LINUX_MFD_INGENIC_TCU_H__ v7: No change include/linux/mfd/ingenic-tcu.h | 56 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 include/linux/mfd/ingenic-tcu.h diff --git a/include/linux/mfd/ingenic-tcu.h b/include/linux/mfd/ingenic-tcu.h new file mode 100644 index 000000000000..ab16ad283def --- /dev/null +++ b/include/linux/mfd/ingenic-tcu.h @@ -0,0 +1,56 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Header file for the Ingenic JZ47xx TCU driver + */ +#ifndef __LINUX_MFD_INGENIC_TCU_H_ +#define __LINUX_MFD_INGENIC_TCU_H_ + +#include + +#define TCU_REG_WDT_TDR 0x00 +#define TCU_REG_WDT_TCER 0x04 +#define TCU_REG_WDT_TCNT 0x08 +#define TCU_REG_WDT_TCSR 0x0c +#define TCU_REG_TER 0x10 +#define TCU_REG_TESR 0x14 +#define TCU_REG_TECR 0x18 +#define TCU_REG_TSR 0x1c +#define TCU_REG_TFR 0x20 +#define TCU_REG_TFSR 0x24 +#define TCU_REG_TFCR 0x28 +#define TCU_REG_TSSR 0x2c +#define TCU_REG_TMR 0x30 +#define TCU_REG_TMSR 0x34 +#define TCU_REG_TMCR 0x38 +#define TCU_REG_TSCR 0x3c +#define TCU_REG_TDFR0 0x40 +#define TCU_REG_TDHR0 0x44 +#define TCU_REG_TCNT0 0x48 +#define TCU_REG_TCSR0 0x4c +#define TCU_REG_OST_DR 0xe0 +#define TCU_REG_OST_CNTL 0xe4 +#define TCU_REG_OST_CNTH 0xe8 +#define TCU_REG_OST_TCSR 0xec +#define TCU_REG_TSTR 0xf0 +#define TCU_REG_TSTSR 0xf4 +#define TCU_REG_TSTCR 0xf8 +#define TCU_REG_OST_CNTHBUF 0xfc + +#define TCU_TCSR_RESERVED_BITS 0x3f +#define TCU_TCSR_PARENT_CLOCK_MASK 0x07 +#define TCU_TCSR_PRESCALE_LSB 3 +#define TCU_TCSR_PRESCALE_MASK 0x38 + +#define TCU_TCSR_PWM_SD BIT(9) /* 0: Shutdown abruptly 1: gracefully */ +#define TCU_TCSR_PWM_INITL_HIGH BIT(8) /* Sets the initial output level */ +#define TCU_TCSR_PWM_EN BIT(7) /* PWM pin output enable */ + +#define TCU_WDT_TCER_TCEN BIT(0) /* Watchdog timer enable */ + +#define TCU_CHANNEL_STRIDE 0x10 +#define TCU_REG_TDFRc(c) (TCU_REG_TDFR0 + ((c) * TCU_CHANNEL_STRIDE)) +#define TCU_REG_TDHRc(c) (TCU_REG_TDHR0 + ((c) * TCU_CHANNEL_STRIDE)) +#define TCU_REG_TCNTc(c) (TCU_REG_TCNT0 + ((c) * TCU_CHANNEL_STRIDE)) +#define TCU_REG_TCSRc(c) (TCU_REG_TCSR0 + ((c) * TCU_CHANNEL_STRIDE)) + +#endif /* __LINUX_MFD_INGENIC_TCU_H_ */ -- 2.11.0