From: John Crispin <blogic@openwrt.org> To: Matthias Brugger <matthias.bgg@gmail.com> Cc: Flora Fu <flora.fu@mediatek.com>, Sascha Hauer <s.hauer@pengutronix.de>, Henry Chen <henryc.chen@mediatek.com>, Steven Liu <steven.liu@mediatek.com>, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, John Crispin <blogic@openwrt.org> Subject: [PATCH V2 10/11] soc: mediatek: PMIC wrap: add mt6323 slave support Date: Wed, 20 Jan 2016 20:59:02 +0100 [thread overview] Message-ID: <1453319943-35491-10-git-send-email-blogic@openwrt.org> (raw) In-Reply-To: <1453319943-35491-1-git-send-email-blogic@openwrt.org> Add support for MT6323 slaves. This PMIC can be found on MT2701 and MT7623 EVB. The only function that we need to touch is pwrap_init_cipher(). Signed-off-by: John Crispin <blogic@openwrt.org> --- drivers/soc/mediatek/mtk-pmic-wrap.c | 46 ++++++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/drivers/soc/mediatek/mtk-pmic-wrap.c b/drivers/soc/mediatek/mtk-pmic-wrap.c index 21d8e5a..85c4314 100644 --- a/drivers/soc/mediatek/mtk-pmic-wrap.c +++ b/drivers/soc/mediatek/mtk-pmic-wrap.c @@ -97,6 +97,31 @@ enum dew_regs { PWRAP_MT8173_DEW_CIPHER_IV3, PWRAP_MT8173_DEW_CIPHER_IV4, PWRAP_MT8173_DEW_CIPHER_IV5, + + /* MT6323 only regs */ + PWRAP_DEW_CRC_SWRST, + PWRAP_DEW_CIPHER_EN, + PWRAP_DEW_RDDMY_NO, + PWRAP_DEW_RDATA_DLY_SEL, +}; + +static const u32 mt6323_regs[] = { + [PWRAP_DEW_BASE] = 0x0000, + [PWRAP_DEW_DIO_EN] = 0x018a, + [PWRAP_DEW_READ_TEST] = 0x018c, + [PWRAP_DEW_WRITE_TEST] = 0x018e, + [PWRAP_DEW_CRC_SWRST] = 0x0190, + [PWRAP_DEW_CRC_EN] = 0x0192, + [PWRAP_DEW_CRC_VAL] = 0x0194, + [PWRAP_DEW_MON_GRP_SEL] = 0x0196, + [PWRAP_DEW_CIPHER_KEY_SEL] = 0x0198, + [PWRAP_DEW_CIPHER_IV_SEL] = 0x019a, + [PWRAP_DEW_CIPHER_EN] = 0x019c, + [PWRAP_DEW_CIPHER_RDY] = 0x019e, + [PWRAP_DEW_CIPHER_MODE] = 0x01a0, + [PWRAP_DEW_CIPHER_SWRST] = 0x01a2, + [PWRAP_DEW_RDDMY_NO] = 0x01a4, + [PWRAP_DEW_RDATA_DLY_SEL] = 0x01a6, }; static const u32 mt6397_regs[] = { @@ -381,6 +406,7 @@ static int mt8135_regs[] = { }; enum pmic_type { + PMIC_MT6323, PMIC_MT6397, }; @@ -676,8 +702,16 @@ static int pwrap_init_cipher(struct pmic_wrapper *wrp) pwrap_dew_write(wrp, PWRAP_DEW_CIPHER_SWRST, 0x0); pwrap_dew_write(wrp, PWRAP_DEW_CIPHER_KEY_SEL, 0x1); pwrap_dew_write(wrp, PWRAP_DEW_CIPHER_IV_SEL, 0x2); - pwrap_dew_write(wrp, PWRAP_DEW_CIPHER_LOAD, 0x1); - pwrap_dew_write(wrp, PWRAP_DEW_CIPHER_START, 0x1); + + switch (wrp->slave->type) { + case PMIC_MT6397: + pwrap_dew_write(wrp, PWRAP_DEW_CIPHER_LOAD, 0x1); + pwrap_dew_write(wrp, PWRAP_DEW_CIPHER_START, 0x1); + break; + case PMIC_MT6323: + pwrap_dew_write(wrp, PWRAP_DEW_CIPHER_EN, 0x1); + break; + } /* wait for cipher data ready@AP */ ret = pwrap_wait_for_state(wrp, pwrap_is_cipher_ready); @@ -870,6 +904,11 @@ static const struct regmap_config pwrap_regmap_config = { .max_register = 0xffff, }; +static const struct pwrap_slv_type pmic_mt6323 = { + .dew_regs = mt6323_regs, + .type = PMIC_MT6323, +}; + static const struct pwrap_slv_type pmic_mt6397 = { .dew_regs = mt6397_regs, .type = PMIC_MT6397, @@ -877,6 +916,9 @@ static const struct pwrap_slv_type pmic_mt6397 = { static const struct of_device_id of_slave_match_tbl[] = { { + .compatible = "mediatek,mt6323", + .data = &pmic_mt6323, + }, { .compatible = "mediatek,mt6397", .data = &pmic_mt6397, }, { -- 1.7.10.4
WARNING: multiple messages have this Message-ID (diff)
From: blogic@openwrt.org (John Crispin) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH V2 10/11] soc: mediatek: PMIC wrap: add mt6323 slave support Date: Wed, 20 Jan 2016 20:59:02 +0100 [thread overview] Message-ID: <1453319943-35491-10-git-send-email-blogic@openwrt.org> (raw) In-Reply-To: <1453319943-35491-1-git-send-email-blogic@openwrt.org> Add support for MT6323 slaves. This PMIC can be found on MT2701 and MT7623 EVB. The only function that we need to touch is pwrap_init_cipher(). Signed-off-by: John Crispin <blogic@openwrt.org> --- drivers/soc/mediatek/mtk-pmic-wrap.c | 46 ++++++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/drivers/soc/mediatek/mtk-pmic-wrap.c b/drivers/soc/mediatek/mtk-pmic-wrap.c index 21d8e5a..85c4314 100644 --- a/drivers/soc/mediatek/mtk-pmic-wrap.c +++ b/drivers/soc/mediatek/mtk-pmic-wrap.c @@ -97,6 +97,31 @@ enum dew_regs { PWRAP_MT8173_DEW_CIPHER_IV3, PWRAP_MT8173_DEW_CIPHER_IV4, PWRAP_MT8173_DEW_CIPHER_IV5, + + /* MT6323 only regs */ + PWRAP_DEW_CRC_SWRST, + PWRAP_DEW_CIPHER_EN, + PWRAP_DEW_RDDMY_NO, + PWRAP_DEW_RDATA_DLY_SEL, +}; + +static const u32 mt6323_regs[] = { + [PWRAP_DEW_BASE] = 0x0000, + [PWRAP_DEW_DIO_EN] = 0x018a, + [PWRAP_DEW_READ_TEST] = 0x018c, + [PWRAP_DEW_WRITE_TEST] = 0x018e, + [PWRAP_DEW_CRC_SWRST] = 0x0190, + [PWRAP_DEW_CRC_EN] = 0x0192, + [PWRAP_DEW_CRC_VAL] = 0x0194, + [PWRAP_DEW_MON_GRP_SEL] = 0x0196, + [PWRAP_DEW_CIPHER_KEY_SEL] = 0x0198, + [PWRAP_DEW_CIPHER_IV_SEL] = 0x019a, + [PWRAP_DEW_CIPHER_EN] = 0x019c, + [PWRAP_DEW_CIPHER_RDY] = 0x019e, + [PWRAP_DEW_CIPHER_MODE] = 0x01a0, + [PWRAP_DEW_CIPHER_SWRST] = 0x01a2, + [PWRAP_DEW_RDDMY_NO] = 0x01a4, + [PWRAP_DEW_RDATA_DLY_SEL] = 0x01a6, }; static const u32 mt6397_regs[] = { @@ -381,6 +406,7 @@ static int mt8135_regs[] = { }; enum pmic_type { + PMIC_MT6323, PMIC_MT6397, }; @@ -676,8 +702,16 @@ static int pwrap_init_cipher(struct pmic_wrapper *wrp) pwrap_dew_write(wrp, PWRAP_DEW_CIPHER_SWRST, 0x0); pwrap_dew_write(wrp, PWRAP_DEW_CIPHER_KEY_SEL, 0x1); pwrap_dew_write(wrp, PWRAP_DEW_CIPHER_IV_SEL, 0x2); - pwrap_dew_write(wrp, PWRAP_DEW_CIPHER_LOAD, 0x1); - pwrap_dew_write(wrp, PWRAP_DEW_CIPHER_START, 0x1); + + switch (wrp->slave->type) { + case PMIC_MT6397: + pwrap_dew_write(wrp, PWRAP_DEW_CIPHER_LOAD, 0x1); + pwrap_dew_write(wrp, PWRAP_DEW_CIPHER_START, 0x1); + break; + case PMIC_MT6323: + pwrap_dew_write(wrp, PWRAP_DEW_CIPHER_EN, 0x1); + break; + } /* wait for cipher data ready at AP */ ret = pwrap_wait_for_state(wrp, pwrap_is_cipher_ready); @@ -870,6 +904,11 @@ static const struct regmap_config pwrap_regmap_config = { .max_register = 0xffff, }; +static const struct pwrap_slv_type pmic_mt6323 = { + .dew_regs = mt6323_regs, + .type = PMIC_MT6323, +}; + static const struct pwrap_slv_type pmic_mt6397 = { .dew_regs = mt6397_regs, .type = PMIC_MT6397, @@ -877,6 +916,9 @@ static const struct pwrap_slv_type pmic_mt6397 = { static const struct of_device_id of_slave_match_tbl[] = { { + .compatible = "mediatek,mt6323", + .data = &pmic_mt6323, + }, { .compatible = "mediatek,mt6397", .data = &pmic_mt6397, }, { -- 1.7.10.4
next prev parent reply other threads:[~2016-01-25 9:45 UTC|newest] Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-01-20 19:58 [PATCH V2 01/11] dt-bindings: ARM: Mediatek: add MT2701/7623 string to the PMIC wrapper doc John Crispin 2016-01-20 19:58 ` John Crispin 2016-01-20 19:58 ` John Crispin 2016-01-20 19:58 ` [PATCH V2 02/11] soc: mediatek: PMIC wrap: don't duplicate the wrapper data John Crispin 2016-01-20 19:58 ` John Crispin 2016-01-20 19:58 ` John Crispin 2016-01-20 19:58 ` [PATCH V2 03/11] soc: mediatek: PMIC wrap: add wrapper callbacks for init_reg_clock John Crispin 2016-01-20 19:58 ` John Crispin 2016-01-20 19:58 ` John Crispin 2016-01-20 19:58 ` [PATCH V2 04/11] soc: mediatek: PMIC wrap: split SoC specific init into callback John Crispin 2016-01-20 19:58 ` John Crispin 2016-01-20 19:58 ` John Crispin 2016-01-20 19:58 ` [PATCH V2 05/11] soc: mediatek: PMIC wrap: WRAP_INT_EN needs a different bitmask for MT2701/7623 John Crispin 2016-01-20 19:58 ` John Crispin 2016-01-20 19:58 ` John Crispin 2016-01-20 19:58 ` [PATCH V2 06/11] soc: mediatek: PMIC wrap:: SPI_WRITE " John Crispin 2016-01-20 19:58 ` John Crispin 2016-01-20 19:58 ` John Crispin 2016-01-20 19:58 ` [PATCH V2 07/11] soc: mediatek: PMIC wrap: move wdt_src into the pmic_wrapper_type struct John Crispin 2016-01-20 19:58 ` John Crispin 2016-01-20 19:59 ` [PATCH V2 08/11] soc: mediatek: PMIC wrap: remove pwrap_is_mt8135() and pwrap_is_mt8173() John Crispin 2016-01-20 19:59 ` John Crispin 2016-01-20 19:59 ` [PATCH V2 09/11] soc: mediatek: PMIC wrap: add a slave specific struct John Crispin 2016-01-20 19:59 ` John Crispin 2016-01-20 19:59 ` John Crispin [this message] 2016-01-20 19:59 ` [PATCH V2 10/11] soc: mediatek: PMIC wrap: add mt6323 slave support John Crispin 2016-01-20 19:59 ` [PATCH V2 11/11] soc: mediatek: PMIC wrap: add MT2701/7623 support John Crispin 2016-01-20 19:59 ` John Crispin 2016-01-29 3:23 ` [PATCH V2 01/11] dt-bindings: ARM: Mediatek: add MT2701/7623 string to the PMIC wrapper doc Rob Herring 2016-01-29 3:23 ` Rob Herring 2016-01-29 3:23 ` Rob Herring
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=1453319943-35491-10-git-send-email-blogic@openwrt.org \ --to=blogic@openwrt.org \ --cc=flora.fu@mediatek.com \ --cc=henryc.chen@mediatek.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mediatek@lists.infradead.org \ --cc=matthias.bgg@gmail.com \ --cc=s.hauer@pengutronix.de \ --cc=steven.liu@mediatek.com \ /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: linkBe 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.