Commit b4e10c31 authored by Linus Walleij's avatar Linus Walleij
Browse files

Merge tag 'renesas-pinctrl-for-v6.7-tag2' of...

Merge tag 'renesas-pinctrl-for-v6.7-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers

 into devel

pinctrl: renesas: Updates for v6.7 (take two)

  - Add pin groups for the Local Bus State Controller (LBSC) on R-Car
    M1A,
  - Add support for the RZ/G3S (R9A08G045) SoC,
  - Miscellaneous fixes and improvements.

Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parents c341ac65 583d8073
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ properties:
          - enum:
              - renesas,r9a07g043-pinctrl # RZ/G2UL{Type-1,Type-2} and RZ/Five
              - renesas,r9a07g044-pinctrl # RZ/G2{L,LC}
              - renesas,r9a08g045-pinctrl # RZ/G3S

      - items:
          - enum:
@@ -78,6 +79,21 @@ additionalProperties:
        - $ref: pincfg-node.yaml#
        - $ref: pinmux-node.yaml#

        - if:
            properties:
              compatible:
                contains:
                  enum:
                    - renesas,r9a08g045-pinctrl
          then:
            properties:
              drive-strength: false
              output-impedance-ohms: false
              slew-rate: false
          else:
            properties:
              drive-strength-microamp: false

      description:
        Pin controller client devices use pin configuration subnodes (children
        and grandchildren) for desired pin configuration.
@@ -92,6 +108,10 @@ additionalProperties:
        pins: true
        drive-strength:
          enum: [ 2, 4, 8, 12 ]
        drive-strength-microamp:
          enum: [ 1900, 2200, 4000, 4400, 4500, 4700, 5200, 5300, 5700,
                  5800, 6000, 6050, 6100, 6550, 6800, 7000, 8000, 9000,
                  10000 ]
        output-impedance-ohms:
          enum: [ 33, 50, 66, 100 ]
        power-source:
+38 −0
Original line number Diff line number Diff line
@@ -1424,6 +1424,24 @@ I2C_PFC_MUX(i2c3_b, SDA3_B, SCL3_B);
I2C_PFC_PIN(i2c3_c,	RCAR_GP_PIN(1, 22),	RCAR_GP_PIN(1, 23));
I2C_PFC_MUX(i2c3_c,	SDA3_C,			SCL3_C);

/* - LBSC ------------------------------------------------------------------- */
SH_PFC_PINS(lbsc_cs0,		PIN_CS0);
SH_PFC_MUX1(lbsc_cs0,		CS0);
SH_PFC_PINS(lbsc_cs1,		PIN_CS1_A26);
SH_PFC_MUX1(lbsc_cs1,		CS1_A26);
SH_PFC_PINS(lbsc_ex_cs0,	RCAR_GP_PIN(1, 3));
SH_PFC_MUX1(lbsc_ex_cs0,	EX_CS0);
SH_PFC_PINS(lbsc_ex_cs1,	RCAR_GP_PIN(1, 4));
SH_PFC_MUX1(lbsc_ex_cs1,	EX_CS1);
SH_PFC_PINS(lbsc_ex_cs2,	RCAR_GP_PIN(1, 5));
SH_PFC_MUX1(lbsc_ex_cs2,	EX_CS2);
SH_PFC_PINS(lbsc_ex_cs3,	RCAR_GP_PIN(1, 6));
SH_PFC_MUX1(lbsc_ex_cs3,	EX_CS3);
SH_PFC_PINS(lbsc_ex_cs4,	RCAR_GP_PIN(1, 7));
SH_PFC_MUX1(lbsc_ex_cs4,	EX_CS4);
SH_PFC_PINS(lbsc_ex_cs5,	RCAR_GP_PIN(1, 8));
SH_PFC_MUX1(lbsc_ex_cs5,	EX_CS5);

/* - MMC macro -------------------------------------------------------------- */
#define MMC_PFC_PINS(name, args...)		SH_PFC_PINS(name, args)
#define MMC_PFC_CTRL(name, clk, cmd)		SH_PFC_MUX2(name, clk, cmd)
@@ -1724,6 +1742,14 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
	SH_PFC_PIN_GROUP(i2c3_a),
	SH_PFC_PIN_GROUP(i2c3_b),
	SH_PFC_PIN_GROUP(i2c3_c),
	SH_PFC_PIN_GROUP(lbsc_cs0),
	SH_PFC_PIN_GROUP(lbsc_cs1),
	SH_PFC_PIN_GROUP(lbsc_ex_cs0),
	SH_PFC_PIN_GROUP(lbsc_ex_cs1),
	SH_PFC_PIN_GROUP(lbsc_ex_cs2),
	SH_PFC_PIN_GROUP(lbsc_ex_cs3),
	SH_PFC_PIN_GROUP(lbsc_ex_cs4),
	SH_PFC_PIN_GROUP(lbsc_ex_cs5),
	SH_PFC_PIN_GROUP(mmc_ctrl),
	BUS_DATA_PIN_GROUP(mmc_data, 1),
	BUS_DATA_PIN_GROUP(mmc_data, 4),
@@ -1897,6 +1923,17 @@ static const char * const i2c3_groups[] = {
	"i2c3_c",
};

static const char * const lbsc_groups[] = {
	"lbsc_cs0",
	"lbsc_cs1",
	"lbsc_ex_cs0",
	"lbsc_ex_cs1",
	"lbsc_ex_cs2",
	"lbsc_ex_cs3",
	"lbsc_ex_cs4",
	"lbsc_ex_cs5",
};

static const char * const mmc_groups[] = {
	"mmc_ctrl",
	"mmc_data1",
@@ -2049,6 +2086,7 @@ static const struct sh_pfc_function pinmux_functions[] = {
	SH_PFC_FUNCTION(i2c1),
	SH_PFC_FUNCTION(i2c2),
	SH_PFC_FUNCTION(i2c3),
	SH_PFC_FUNCTION(lbsc),
	SH_PFC_FUNCTION(mmc),
	SH_PFC_FUNCTION(scif_clk),
	SH_PFC_FUNCTION(scif0),
+553 −147

File changed.

Preview size limit exceeded, changes collapsed.

+2 −4
Original line number Diff line number Diff line
@@ -920,13 +920,11 @@ static int rzn1_pinctrl_probe(struct platform_device *pdev)
	return ret;
}

static int rzn1_pinctrl_remove(struct platform_device *pdev)
static void rzn1_pinctrl_remove(struct platform_device *pdev)
{
	struct rzn1_pinctrl *ipctl = platform_get_drvdata(pdev);

	clk_disable_unprepare(ipctl->clk);

	return 0;
}

static const struct of_device_id rzn1_pinctrl_match[] = {
@@ -937,7 +935,7 @@ MODULE_DEVICE_TABLE(of, rzn1_pinctrl_match);

static struct platform_driver rzn1_pinctrl_driver = {
	.probe	= rzn1_pinctrl_probe,
	.remove = rzn1_pinctrl_remove,
	.remove_new = rzn1_pinctrl_remove,
	.driver	= {
		.name		= "rzn1-pinctrl",
		.of_match_table	= rzn1_pinctrl_match,