All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] pinctrl: renesas: r8a77990: add drive-strength
@ 2022-03-19 21:57 Wolfram Sang
  2022-03-19 21:57 ` [PATCH 1/2] pinctrl: renesas: allow up to 10 fields for drive_regs Wolfram Sang
  2022-03-19 21:57 ` [PATCH 2/2] pinctrl: renesas: r8a77990: add drive-strength Wolfram Sang
  0 siblings, 2 replies; 6+ messages in thread
From: Wolfram Sang @ 2022-03-19 21:57 UTC (permalink / raw)
  To: linux-renesas-soc; +Cc: linux-gpio, Wolfram Sang

This series upports a BSP patch. Please check the notes on the patches.

Wolfram Sang (2):
  pinctrl: renesas: allow up to 10 fields for drive_regs
  pinctrl: renesas: r8a77990: add drive-strength

 drivers/pinctrl/renesas/pfc-r8a77990.c | 38 ++++++++++++++++++++++++--
 drivers/pinctrl/renesas/sh_pfc.h       |  2 +-
 2 files changed, 37 insertions(+), 3 deletions(-)

-- 
2.30.2


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/2] pinctrl: renesas: allow up to 10 fields for drive_regs
  2022-03-19 21:57 [PATCH 0/2] pinctrl: renesas: r8a77990: add drive-strength Wolfram Sang
@ 2022-03-19 21:57 ` Wolfram Sang
  2022-03-19 21:57 ` [PATCH 2/2] pinctrl: renesas: r8a77990: add drive-strength Wolfram Sang
  1 sibling, 0 replies; 6+ messages in thread
From: Wolfram Sang @ 2022-03-19 21:57 UTC (permalink / raw)
  To: linux-renesas-soc; +Cc: linux-gpio, Wolfram Sang

Needed to support E3 drive regs.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
 drivers/pinctrl/renesas/sh_pfc.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/renesas/sh_pfc.h b/drivers/pinctrl/renesas/sh_pfc.h
index 2479b4fb9cf9..86cdcb292e23 100644
--- a/drivers/pinctrl/renesas/sh_pfc.h
+++ b/drivers/pinctrl/renesas/sh_pfc.h
@@ -181,7 +181,7 @@ struct pinmux_drive_reg_field {
 
 struct pinmux_drive_reg {
 	u32 reg;
-	const struct pinmux_drive_reg_field fields[8];
+	const struct pinmux_drive_reg_field fields[10];
 };
 
 #define PINMUX_DRIVE_REG(name, r) \
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] pinctrl: renesas: r8a77990: add drive-strength
  2022-03-19 21:57 [PATCH 0/2] pinctrl: renesas: r8a77990: add drive-strength Wolfram Sang
  2022-03-19 21:57 ` [PATCH 1/2] pinctrl: renesas: allow up to 10 fields for drive_regs Wolfram Sang
@ 2022-03-19 21:57 ` Wolfram Sang
  2022-03-20  0:18   ` kernel test robot
  1 sibling, 1 reply; 6+ messages in thread
From: Wolfram Sang @ 2022-03-19 21:57 UTC (permalink / raw)
  To: linux-renesas-soc; +Cc: linux-gpio, Wolfram Sang, LUU HOAI

According to HW documentation 2.20 onwards, drive-strength is introduced
to r8a77990. Add it to the pinctrl driver.

Signed-off-by: LUU HOAI <hoai.luu.ub@renesas.com>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---

Original BSP commit: f479c5a4e5e5 ("pinctrl: renesas: r8a77990: Add driver-strength for R8A77990")

However, this was incomplete and missed 6 pins of table 6D.6 which were
on a separate page. Adding them simplifies PORT_GP updates a lot.
However, a preparational patch is needed then which is patch 1 of this
series.

 drivers/pinctrl/renesas/pfc-r8a77990.c | 38 ++++++++++++++++++++++++--
 1 file changed, 36 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/renesas/pfc-r8a77990.c b/drivers/pinctrl/renesas/pfc-r8a77990.c
index f44c7da3ec16..cc825100f2fe 100644
--- a/drivers/pinctrl/renesas/pfc-r8a77990.c
+++ b/drivers/pinctrl/renesas/pfc-r8a77990.c
@@ -22,12 +22,12 @@
 	PORT_GP_CFG_18(0, fn, sfx, CFG_FLAGS), \
 	PORT_GP_CFG_23(1, fn, sfx, CFG_FLAGS), \
 	PORT_GP_CFG_26(2, fn, sfx, CFG_FLAGS), \
-	PORT_GP_CFG_12(3, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE), \
+	PORT_GP_CFG_12(3, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_DRIVE_STRENGTH), \
 	PORT_GP_CFG_1(3, 12, fn, sfx, CFG_FLAGS), \
 	PORT_GP_CFG_1(3, 13, fn, sfx, CFG_FLAGS), \
 	PORT_GP_CFG_1(3, 14, fn, sfx, CFG_FLAGS), \
 	PORT_GP_CFG_1(3, 15, fn, sfx, CFG_FLAGS), \
-	PORT_GP_CFG_11(4, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE), \
+	PORT_GP_CFG_11(4, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_DRIVE_STRENGTH), \
 	PORT_GP_CFG_20(5, fn, sfx, CFG_FLAGS), \
 	PORT_GP_CFG_9(6, fn, sfx, CFG_FLAGS), \
 	PORT_GP_CFG_1(6, 9, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
@@ -5104,6 +5104,39 @@ static const struct pinmux_cfg_reg pinmux_config_regs[] = {
 	{ },
 };
 
+static const struct pinmux_drive_reg pinmux_drive_regs[] = {
+	{ PINMUX_DRIVE_REG("DRVCTRL8", 0xe6060320) {
+		{ RCAR_GP_PIN(3,  0), 18, 2 },	/* SD0_CLK */
+		{ RCAR_GP_PIN(3,  1), 15, 2 },	/* SD0_CMD */
+		{ RCAR_GP_PIN(3,  2), 12, 2 },	/* SD0_DAT0 */
+		{ RCAR_GP_PIN(3,  3),  9, 2 },	/* SD0_DAT1 */
+		{ RCAR_GP_PIN(3,  4),  6, 2 },	/* SD0_DAT2 */
+		{ RCAR_GP_PIN(3,  5),  3, 2 },	/* SD0_DAT3 */
+		{ RCAR_GP_PIN(3,  6),  0, 2 },	/* SD1_CLK */
+	} },
+	{ PINMUX_DRIVE_REG("DRVCTRL9", 0xe6060324) {
+		{ RCAR_GP_PIN(3,  7), 29, 2 },	/* SD1_CMD */
+		{ RCAR_GP_PIN(3,  8), 26, 2 },	/* SD1_DAT0 */
+		{ RCAR_GP_PIN(3,  9), 23, 2 },	/* SD1_DAT1 */
+		{ RCAR_GP_PIN(3, 10), 20, 2 },	/* SD1_DAT2 */
+		{ RCAR_GP_PIN(3, 11), 17, 2 },	/* SD1_DAT3 */
+		{ RCAR_GP_PIN(4,  0), 14, 2 },	/* SD3_CLK */
+		{ RCAR_GP_PIN(4,  1), 11, 2 },	/* SD3_CMD */
+		{ RCAR_GP_PIN(4,  2),  8, 2 },	/* SD3_DAT0 */
+		{ RCAR_GP_PIN(4,  3),  5, 2 },	/* SD3_DAT1 */
+		{ RCAR_GP_PIN(4,  4),  2, 2 },	/* SD3_DAT2 */
+	} },
+	{ PINMUX_DRIVE_REG("DRVCTRL10", 0xe6060328) {
+		{ RCAR_GP_PIN(4,  5), 29, 2 },	/* SD3_DAT3 */
+		{ RCAR_GP_PIN(4,  6), 26, 2 },	/* SD3_DAT4 */
+		{ RCAR_GP_PIN(4,  7), 23, 2 },	/* SD3_DAT5 */
+		{ RCAR_GP_PIN(4,  8), 20, 2 },	/* SD3_DAT6 */
+		{ RCAR_GP_PIN(4,  9), 17, 2 },	/* SD3_DAT7 */
+		{ RCAR_GP_PIN(4, 10), 14, 2 },	/* SD3_DS */
+	} },
+	{ },
+};
+
 enum ioctrl_regs {
 	POCCTRL0,
 	TDSELCTRL,
@@ -5387,6 +5420,7 @@ const struct sh_pfc_soc_info r8a77990_pinmux_info = {
 		ARRAY_SIZE(pinmux_functions.automotive),
 
 	.cfg_regs = pinmux_config_regs,
+	.drive_regs = pinmux_drive_regs,
 	.bias_regs = pinmux_bias_regs,
 	.ioctrl_regs = pinmux_ioctrl_regs,
 
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] pinctrl: renesas: r8a77990: add drive-strength
  2022-03-19 21:57 ` [PATCH 2/2] pinctrl: renesas: r8a77990: add drive-strength Wolfram Sang
@ 2022-03-20  0:18   ` kernel test robot
  2022-03-20  9:17       ` Wolfram Sang
  0 siblings, 1 reply; 6+ messages in thread
From: kernel test robot @ 2022-03-20  0:18 UTC (permalink / raw)
  To: Wolfram Sang, linux-renesas-soc
  Cc: llvm, kbuild-all, linux-gpio, Wolfram Sang, LUU HOAI

Hi Wolfram,

I love your patch! Perhaps something to improve:

[auto build test WARNING on geert-renesas-drivers/renesas-pinctrl]
[also build test WARNING on linusw-pinctrl/devel v5.17-rc8 next-20220318]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Wolfram-Sang/pinctrl-renesas-r8a77990-add-drive-strength/20220320-055908
base:   https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git renesas-pinctrl
config: hexagon-randconfig-r041-20220320 (https://download.01.org/0day-ci/archive/20220320/202203200832.RD8XJhU1-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 217f267efe3082438e698e2f08566b9df8c530fa)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/844a743267be6ab69209101129c05dcb9dfd7c19
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Wolfram-Sang/pinctrl-renesas-r8a77990-add-drive-strength/20220320-055908
        git checkout 844a743267be6ab69209101129c05dcb9dfd7c19
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/pinctrl/renesas/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> drivers/pinctrl/renesas/pfc-r8a77990.c:5033:38: warning: unused variable 'pinmux_drive_regs' [-Wunused-const-variable]
   static const struct pinmux_drive_reg pinmux_drive_regs[] = {
                                        ^
   1 warning generated.


vim +/pinmux_drive_regs +5033 drivers/pinctrl/renesas/pfc-r8a77990.c

  5032	
> 5033	static const struct pinmux_drive_reg pinmux_drive_regs[] = {
  5034		{ PINMUX_DRIVE_REG("DRVCTRL8", 0xe6060320) {
  5035			{ RCAR_GP_PIN(3,  0), 18, 2 },	/* SD0_CLK */
  5036			{ RCAR_GP_PIN(3,  1), 15, 2 },	/* SD0_CMD */
  5037			{ RCAR_GP_PIN(3,  2), 12, 2 },	/* SD0_DAT0 */
  5038			{ RCAR_GP_PIN(3,  3),  9, 2 },	/* SD0_DAT1 */
  5039			{ RCAR_GP_PIN(3,  4),  6, 2 },	/* SD0_DAT2 */
  5040			{ RCAR_GP_PIN(3,  5),  3, 2 },	/* SD0_DAT3 */
  5041			{ RCAR_GP_PIN(3,  6),  0, 2 },	/* SD1_CLK */
  5042		} },
  5043		{ PINMUX_DRIVE_REG("DRVCTRL9", 0xe6060324) {
  5044			{ RCAR_GP_PIN(3,  7), 29, 2 },	/* SD1_CMD */
  5045			{ RCAR_GP_PIN(3,  8), 26, 2 },	/* SD1_DAT0 */
  5046			{ RCAR_GP_PIN(3,  9), 23, 2 },	/* SD1_DAT1 */
  5047			{ RCAR_GP_PIN(3, 10), 20, 2 },	/* SD1_DAT2 */
  5048			{ RCAR_GP_PIN(3, 11), 17, 2 },	/* SD1_DAT3 */
  5049			{ RCAR_GP_PIN(4,  0), 14, 2 },	/* SD3_CLK */
  5050			{ RCAR_GP_PIN(4,  1), 11, 2 },	/* SD3_CMD */
  5051			{ RCAR_GP_PIN(4,  2),  8, 2 },	/* SD3_DAT0 */
  5052			{ RCAR_GP_PIN(4,  3),  5, 2 },	/* SD3_DAT1 */
  5053			{ RCAR_GP_PIN(4,  4),  2, 2 },	/* SD3_DAT2 */
  5054		} },
  5055		{ PINMUX_DRIVE_REG("DRVCTRL10", 0xe6060328) {
  5056			{ RCAR_GP_PIN(4,  5), 29, 2 },	/* SD3_DAT3 */
  5057			{ RCAR_GP_PIN(4,  6), 26, 2 },	/* SD3_DAT4 */
  5058			{ RCAR_GP_PIN(4,  7), 23, 2 },	/* SD3_DAT5 */
  5059			{ RCAR_GP_PIN(4,  8), 20, 2 },	/* SD3_DAT6 */
  5060			{ RCAR_GP_PIN(4,  9), 17, 2 },	/* SD3_DAT7 */
  5061			{ RCAR_GP_PIN(4, 10), 14, 2 },	/* SD3_DS */
  5062		} },
  5063		{ },
  5064	};
  5065	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] pinctrl: renesas: r8a77990: add drive-strength
  2022-03-20  0:18   ` kernel test robot
@ 2022-03-20  9:17       ` Wolfram Sang
  0 siblings, 0 replies; 6+ messages in thread
From: Wolfram Sang @ 2022-03-20  9:17 UTC (permalink / raw)
  To: kernel test robot
  Cc: linux-renesas-soc, llvm, kbuild-all, linux-gpio, LUU HOAI

[-- Attachment #1: Type: text/plain, Size: 241 bytes --]


> >> drivers/pinctrl/renesas/pfc-r8a77990.c:5033:38: warning: unused variable 'pinmux_drive_regs' [-Wunused-const-variable]
>    static const struct pinmux_drive_reg pinmux_drive_regs[] = {

Right, G2E has drive_regs as well. Will update!


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] pinctrl: renesas: r8a77990: add drive-strength
@ 2022-03-20  9:17       ` Wolfram Sang
  0 siblings, 0 replies; 6+ messages in thread
From: Wolfram Sang @ 2022-03-20  9:17 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 247 bytes --]


> >> drivers/pinctrl/renesas/pfc-r8a77990.c:5033:38: warning: unused variable 'pinmux_drive_regs' [-Wunused-const-variable]
>    static const struct pinmux_drive_reg pinmux_drive_regs[] = {

Right, G2E has drive_regs as well. Will update!


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-03-20  9:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-19 21:57 [PATCH 0/2] pinctrl: renesas: r8a77990: add drive-strength Wolfram Sang
2022-03-19 21:57 ` [PATCH 1/2] pinctrl: renesas: allow up to 10 fields for drive_regs Wolfram Sang
2022-03-19 21:57 ` [PATCH 2/2] pinctrl: renesas: r8a77990: add drive-strength Wolfram Sang
2022-03-20  0:18   ` kernel test robot
2022-03-20  9:17     ` Wolfram Sang
2022-03-20  9:17       ` Wolfram Sang

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.