All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yao Zi <me@ziyao.cc>
To: Eric Chung <eric.chung@riscstar.com>,
	u-boot-spacemit@groups.io, u-boot@lists.denx.de
Cc: Tom Rini <trini@konsulko.com>, Peng Fan <peng.fan@nxp.com>,
	Huan Zhou <pericycle.cc@gmail.com>,
	Raymond Mao <raymond.mao@riscstar.com>,
	Jaehoon Chung <jh80.chung@samsung.com>,
	Bhimeswararao Matsa <bhimeswararao.matsa@gmail.com>,
	Tanmay Kathpalia <tanmay.kathpalia@altera.com>,
	Kaustabh Chakraborty <kauschluss@disroot.org>,
	Han Xu <han.xu@nxp.com>, Yanir Levin <yanir.levin@tandemg.com>,
	Christoph Stoidner <c.stoidner@phytec.de>,
	Balsundar Ponnusamy <balsundar.ponnusamy@altera.com>,
	Daniel Palmer <daniel@thingy.jp>, Anshul Dalal <anshuld@ti.com>,
	Bastien Curutchet <bastien.curutchet@bootlin.com>,
	Angelo Dureghello <angelo@kernel-space.org>,
	Johan Jonker <jbx6244@gmail.com>, Rick Chen <rick@andestech.com>,
	Leo <ycliang@andestech.com>,
	Sam Protsenko <semen.protsenko@linaro.org>,
	Guodong Xu <guodong.xu@riscstar.com>, Yao Zi <me@ziyao.cc>
Subject: Re: [PATCH v2 v2 1/8] pinctrl: k1: add IO power domain configuration support
Date: Tue, 30 Jun 2026 08:55:03 +0000	[thread overview]
Message-ID: <akOEZ6xEt-i5OysY@pie> (raw)
In-Reply-To: <20260629-m4-v2-1-cbc91c6b83d8@riscstar.com>

On Mon, Jun 29, 2026 at 11:51:15PM +0800, Eric Chung wrote:
> Dual-voltage GPIO banks default to 3.3V, but when externally supplied
> with 1.8V the internal logic must be explicitly reconfigured to match.
> 
> Add the ability to program IO power domain control registers through the
> APBC block. These registers require unlocking the AIB Secure Access
> Register (ASAR) before every read/write, since configuring a 1.8V domain
> while 3.3V is externally supplied can cause back-powering and pin damage.
> 
> Signed-off-by: Eric Chung <eric.chung@riscstar.com>
> ---
>  drivers/pinctrl/spacemit/pinctrl-k1.c | 84 ++++++++++++++++++++++++++++++++++-
>  1 file changed, 82 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/pinctrl/spacemit/pinctrl-k1.c b/drivers/pinctrl/spacemit/pinctrl-k1.c
> index 3ebc397213b..5d3236aac94 100644
> --- a/drivers/pinctrl/spacemit/pinctrl-k1.c
> +++ b/drivers/pinctrl/spacemit/pinctrl-k1.c

...

> @@ -34,8 +36,24 @@
>  #define PAD_PULLUP		BIT(14)
>  #define PAD_PULL_EN		BIT(15)
>  
> -#define PIN_POWER_STATE_1V8		1800
> -#define PIN_POWER_STATE_3V3		3300
> +#define IO_PWR_DOMAIN_OFFSET	0x800
> +
> +#define IO_PWR_DOMAIN_GPIO2_Kx  0x0c
> +#define IO_PWR_DOMAIN_MMC_Kx    0x1c
> +
> +#define IO_PWR_DOMAIN_GPIO3_K1  0x10
> +#define IO_PWR_DOMAIN_QSPI_K1   0x20

Why these four offsets aren't sorted?

> +#define IO_PWR_DOMAIN_V18EN	BIT(2)
> +
> +#define APBC_ASFAR		0x50
> +#define APBC_ASSAR		0x54
> +
> +#define APBC_ASFAR_AKEY		0xbaba
> +#define APBC_ASSAR_AKEY		0xeb10
> +
> +#define PIN_POWER_STATE_1V8	1800
> +#define PIN_POWER_STATE_3V3	3300
>  
>  enum spacemit_pin_io_type {
>  	IO_TYPE_NONE = 0,

...

> @@ -485,6 +559,11 @@ static int spacemit_pinctrl_probe(struct udevice *dev)
>  		dev_err(dev, "Fail to allocate memory\n");
>  		return -ENOMEM;
>  	}
> +	priv->regmap = syscon_regmap_lookup_by_phandle(dev, "spacemit,apbc");

So with this patch, the driver depends on syscon symbols, and you should
reflect this in Kconfig.

Regards,
Yao Zi

  reply	other threads:[~2026-06-30  8:55 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-29 15:51 [PATCH v2 0/8] spacemit mmc driver Eric Chung
2026-06-29 15:51 ` [PATCH v2 v2 1/8] pinctrl: k1: add IO power domain configuration support Eric Chung
2026-06-30  8:55   ` Yao Zi [this message]
2026-06-29 15:51 ` [PATCH v2 v2 2/8] mmc: sdhci: add quirk to enable CMD23 for multi-block transfers Eric Chung
2026-06-30  2:47   ` Peng Fan
2026-06-29 15:51 ` [PATCH v2 v2 3/8] mmc: k1: add sdhci platform driver Eric Chung
2026-06-30  2:52   ` Peng Fan
2026-06-29 15:51 ` [PATCH v2 v2 4/8] dts: k1: add SD card support in u-boot overlay Eric Chung
2026-06-30  2:56   ` Peng Fan
2026-06-29 15:51 ` [PATCH v2 v2 5/8] configs: k1: enable SD and eMMC support Eric Chung
2026-06-29 15:51 ` [PATCH v2 v2 6/8] doc: spacemit: flash on K1 SoC based boards Eric Chung
2026-06-29 15:51 ` [PATCH v2 v2 7/8] config: k1: enable ENV support for eMMC Eric Chung
2026-06-29 15:51 ` [PATCH v2 v2 8/8] spacemit: k1: load product name from environment variable Eric Chung
2026-06-30  2:55   ` Peng Fan

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=akOEZ6xEt-i5OysY@pie \
    --to=me@ziyao.cc \
    --cc=angelo@kernel-space.org \
    --cc=anshuld@ti.com \
    --cc=balsundar.ponnusamy@altera.com \
    --cc=bastien.curutchet@bootlin.com \
    --cc=bhimeswararao.matsa@gmail.com \
    --cc=c.stoidner@phytec.de \
    --cc=daniel@thingy.jp \
    --cc=eric.chung@riscstar.com \
    --cc=guodong.xu@riscstar.com \
    --cc=han.xu@nxp.com \
    --cc=jbx6244@gmail.com \
    --cc=jh80.chung@samsung.com \
    --cc=kauschluss@disroot.org \
    --cc=peng.fan@nxp.com \
    --cc=pericycle.cc@gmail.com \
    --cc=raymond.mao@riscstar.com \
    --cc=rick@andestech.com \
    --cc=semen.protsenko@linaro.org \
    --cc=tanmay.kathpalia@altera.com \
    --cc=trini@konsulko.com \
    --cc=u-boot-spacemit@groups.io \
    --cc=u-boot@lists.denx.de \
    --cc=yanir.levin@tandemg.com \
    --cc=ycliang@andestech.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: 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.