From patchwork Fri Mar 15 18:39:15 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Biju Das X-Patchwork-Id: 780824 Received: from relmlie6.idc.renesas.com (relmlor2.renesas.com [210.160.252.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 660701D553; Fri, 15 Mar 2024 18:39:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.160.252.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710527979; cv=none; b=BWSjSijWG/kasfynTqsO9mbFOC1ZFjtqdIIKDmRhX28cQ06wraDMuO9xVK1GWqDrFWMp/0q0ygu9hNOXXIuM0sptEj2gpR5rrw4e+qBlnPnrD/VzFtvjCmr1ZOSPTlREcjeItLpsv5Jh0v5i4T1hCpdEmB65FSWG2FdYgzGOfBg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710527979; c=relaxed/simple; bh=Uaj2gn6s7btN5jyWi8u2YpJxAI5G6lZ3D3I7G66i08I=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=WbPYugIp5EOxnIlcNrMJU+HAR6higgJwq4ZH4hJKp4Ja8q1Pl6/uhcGgxgiYkFRTrdOFQWZI4eZmO7Plo8ePrFmXYj5wnufnUeh3G8XNd9mz2Mvv2ZL1T/istPbe2FDU7mmEErU+sjBHCA1uSEk7oMaKmrEudwZoW/NNaaf8c4k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; arc=none smtp.client-ip=210.160.252.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com X-IronPort-AV: E=Sophos;i="6.07,129,1708354800"; d="scan'208";a="201861063" Received: from unknown (HELO relmlir6.idc.renesas.com) ([10.200.68.152]) by relmlie6.idc.renesas.com with ESMTP; 16 Mar 2024 03:39:33 +0900 Received: from localhost.localdomain (unknown [10.226.93.102]) by relmlir6.idc.renesas.com (Postfix) with ESMTP id 9D56B4066236; Sat, 16 Mar 2024 03:39:29 +0900 (JST) From: Biju Das To: Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Biju Das , Greg Kroah-Hartman , Geert Uytterhoeven , Magnus Damm , Yoshihiro Shimoda , linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das , Krzysztof Kozlowski Subject: [PATCH v3 1/7] dt-bindings: usb: renesas,usbhs: Document RZ/G2L family compatible Date: Fri, 15 Mar 2024 18:39:15 +0000 Message-Id: <20240315183921.375751-2-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240315183921.375751-1-biju.das.jz@bp.renesas.com> References: <20240315183921.375751-1-biju.das.jz@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 The USBHS IP found on RZ/G2L SoCs only has 10 pipe buffers compared to 16 pipe buffers on RZ/A2M. Document renesas,rzg2l-usbhs family compatible to handle this difference for RZ/G2L family SoCs. Signed-off-by: Biju Das Acked-by: Krzysztof Kozlowski Reviewed-by: Geert Uytterhoeven --- v2->v3: * Added Rb tag from Geert. v1->v2: * Added Ack from Krzysztof Kozlowski. --- Documentation/devicetree/bindings/usb/renesas,usbhs.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/usb/renesas,usbhs.yaml b/Documentation/devicetree/bindings/usb/renesas,usbhs.yaml index 40ada78f2328..c63db3ebd07b 100644 --- a/Documentation/devicetree/bindings/usb/renesas,usbhs.yaml +++ b/Documentation/devicetree/bindings/usb/renesas,usbhs.yaml @@ -19,10 +19,14 @@ properties: - items: - enum: - renesas,usbhs-r7s9210 # RZ/A2 + - const: renesas,rza2-usbhs + + - items: + - enum: - renesas,usbhs-r9a07g043 # RZ/G2UL and RZ/Five - renesas,usbhs-r9a07g044 # RZ/G2{L,LC} - renesas,usbhs-r9a07g054 # RZ/V2L - - const: renesas,rza2-usbhs + - const: renesas,rzg2l-usbhs - items: - enum: From patchwork Fri Mar 15 18:39:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Biju Das X-Patchwork-Id: 780823 Received: from relmlie5.idc.renesas.com (relmlor1.renesas.com [210.160.252.171]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 90F0043AC5; Fri, 15 Mar 2024 18:39:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.160.252.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710527988; cv=none; b=U+arDIfN9SVBtCky6tasAyp4K5OlLaRxdFmvq0TgoukgXTPx1Mq3y9xnExc/3qCPaL3G26Hth53wGNobskBn4P7s+F1V4uyl7/5uVLeqdcqUQOQ0kBXXielhAGyL3SWj3lt3RFJIOxlX45FFhzxfzvKujIMebZoPbo0zWFZy/0I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710527988; c=relaxed/simple; bh=5mKg1D2/N9WmO+ZmUupePx/E4JWaLPFDqevm1TsLp5c=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=YhWKU6+NtLg39Rd+B3qskzt3IFebO0eeTTSc81dAygi3VnNVhkzab7RUb80pmiVNEsv0Tkonk6UN6KwD+qJo86Oorimt+o0/3pNgnTSBcB7plbAb3AjTcvIOsbLLgoHCbUdq/94JH91AFLtYtJNeHTYNF8U7E55psgxzD68+NC4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; arc=none smtp.client-ip=210.160.252.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com X-IronPort-AV: E=Sophos;i="6.07,129,1708354800"; d="scan'208";a="197917687" Received: from unknown (HELO relmlir6.idc.renesas.com) ([10.200.68.152]) by relmlie5.idc.renesas.com with ESMTP; 16 Mar 2024 03:39:43 +0900 Received: from localhost.localdomain (unknown [10.226.93.102]) by relmlir6.idc.renesas.com (Postfix) with ESMTP id F1E0F4066237; Sat, 16 Mar 2024 03:39:39 +0900 (JST) From: Biju Das To: Greg Kroah-Hartman Cc: Biju Das , Geert Uytterhoeven , Magnus Damm , Rob Herring , Yoshihiro Shimoda , Krzysztof Kozlowski , =?utf-8?q?Uwe_Kleine-?= =?utf-8?q?K=C3=B6nig?= , linux-usb@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v3 4/7] usb: renesas_usbhs: Drop has_new_pipe_configs from struct renesas_usbhs_driver_param Date: Fri, 15 Mar 2024 18:39:18 +0000 Message-Id: <20240315183921.375751-5-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240315183921.375751-1-biju.das.jz@bp.renesas.com> References: <20240315183921.375751-1-biju.das.jz@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Drop has_new_pipe_configs variable from struct renesas_usbhs_driver_param and use info for getting device pipe configuration data by renaming usbhs_new_pipe[]->usbhs_rcar_pipe[] and changing the static qualifier to global so that struct renesas_usbhs_platform_info can be filled by respective devices. Signed-off-by: Biju Das --- v3: * New patch --- drivers/usb/renesas_usbhs/common.c | 9 ++++----- drivers/usb/renesas_usbhs/common.h | 2 ++ drivers/usb/renesas_usbhs/rcar2.c | 3 ++- drivers/usb/renesas_usbhs/rcar3.c | 6 ++++-- drivers/usb/renesas_usbhs/rza.c | 3 ++- drivers/usb/renesas_usbhs/rza2.c | 3 ++- include/linux/usb/renesas_usbhs.h | 1 - 7 files changed, 16 insertions(+), 11 deletions(-) diff --git a/drivers/usb/renesas_usbhs/common.c b/drivers/usb/renesas_usbhs/common.c index 177fa3144a47..013bc1583610 100644 --- a/drivers/usb/renesas_usbhs/common.c +++ b/drivers/usb/renesas_usbhs/common.c @@ -378,7 +378,7 @@ static struct renesas_usbhs_driver_pipe_config usbhsc_default_pipe[] = { }; /* commonly used on newer SH-Mobile and R-Car SoCs */ -static struct renesas_usbhs_driver_pipe_config usbhsc_new_pipe[] = { +struct renesas_usbhs_driver_pipe_config usbhsc_rcar_pipe[] = { RENESAS_USBHS_PIPE(USB_ENDPOINT_XFER_CONTROL, 64, 0x00, false), RENESAS_USBHS_PIPE(USB_ENDPOINT_XFER_ISOC, 1024, 0x08, true), RENESAS_USBHS_PIPE(USB_ENDPOINT_XFER_ISOC, 1024, 0x28, true), @@ -639,10 +639,9 @@ static int usbhs_probe(struct platform_device *pdev) priv->pfunc = &info->platform_callback; /* set default param if platform doesn't have */ - if (usbhs_get_dparam(priv, has_new_pipe_configs)) { - priv->dparam.pipe_configs = usbhsc_new_pipe; - priv->dparam.pipe_size = ARRAY_SIZE(usbhsc_new_pipe); - } else if (!priv->dparam.pipe_configs) { + priv->dparam.pipe_configs = info->driver_param.pipe_configs; + priv->dparam.pipe_size = info->driver_param.pipe_size; + if (!priv->dparam.pipe_configs) { priv->dparam.pipe_configs = usbhsc_default_pipe; priv->dparam.pipe_size = ARRAY_SIZE(usbhsc_default_pipe); } diff --git a/drivers/usb/renesas_usbhs/common.h b/drivers/usb/renesas_usbhs/common.h index 3fb5bc94dc0d..f6f527ca9b45 100644 --- a/drivers/usb/renesas_usbhs/common.h +++ b/drivers/usb/renesas_usbhs/common.h @@ -343,4 +343,6 @@ struct usbhs_priv *usbhs_pdev_to_priv(struct platform_device *pdev); #define usbhs_priv_to_dev(priv) (&priv->pdev->dev) #define usbhs_priv_to_lock(priv) (&priv->lock) +extern struct renesas_usbhs_driver_pipe_config usbhsc_rcar_pipe[]; + #endif /* RENESAS_USB_DRIVER_H */ diff --git a/drivers/usb/renesas_usbhs/rcar2.c b/drivers/usb/renesas_usbhs/rcar2.c index 52756fc2ac9c..170584f8de74 100644 --- a/drivers/usb/renesas_usbhs/rcar2.c +++ b/drivers/usb/renesas_usbhs/rcar2.c @@ -69,7 +69,8 @@ const struct renesas_usbhs_platform_info usbhs_rcar_gen2_plat_info = { .get_id = usbhs_get_id_as_gadget, }, .driver_param = { + .pipe_configs = usbhsc_rcar_pipe, + .pipe_size = 16, .has_usb_dmac = 1, - .has_new_pipe_configs = 1, }, }; diff --git a/drivers/usb/renesas_usbhs/rcar3.c b/drivers/usb/renesas_usbhs/rcar3.c index c181b2a0b9d3..da5c013cfd07 100644 --- a/drivers/usb/renesas_usbhs/rcar3.c +++ b/drivers/usb/renesas_usbhs/rcar3.c @@ -101,9 +101,10 @@ const struct renesas_usbhs_platform_info usbhs_rcar_gen3_plat_info = { .get_id = usbhs_get_id_as_gadget, }, .driver_param = { + .pipe_configs = usbhsc_rcar_pipe, + .pipe_size = 16, .has_usb_dmac = 1, .multi_clks = 1, - .has_new_pipe_configs = 1, }, }; @@ -113,8 +114,9 @@ const struct renesas_usbhs_platform_info usbhs_rcar_gen3_with_pll_plat_info = { .get_id = usbhs_get_id_as_gadget, }, .driver_param = { + .pipe_configs = usbhsc_rcar_pipe, + .pipe_size = 16, .has_usb_dmac = 1, .multi_clks = 1, - .has_new_pipe_configs = 1, }, }; diff --git a/drivers/usb/renesas_usbhs/rza.c b/drivers/usb/renesas_usbhs/rza.c index 97b5217c5a90..91c1971c3949 100644 --- a/drivers/usb/renesas_usbhs/rza.c +++ b/drivers/usb/renesas_usbhs/rza.c @@ -51,6 +51,7 @@ const struct renesas_usbhs_platform_info usbhs_rza1_plat_info = { .get_id = usbhs_get_id_as_gadget, }, .driver_param = { - .has_new_pipe_configs = 1, + .pipe_configs = usbhsc_rcar_pipe, + .pipe_size = 16, }, }; diff --git a/drivers/usb/renesas_usbhs/rza2.c b/drivers/usb/renesas_usbhs/rza2.c index f079817250bb..f6660628eea9 100644 --- a/drivers/usb/renesas_usbhs/rza2.c +++ b/drivers/usb/renesas_usbhs/rza2.c @@ -66,8 +66,9 @@ const struct renesas_usbhs_platform_info usbhs_rza2_plat_info = { .get_id = usbhs_get_id_as_gadget, }, .driver_param = { + .pipe_configs = usbhsc_rcar_pipe, + .pipe_size = 16, .has_cnen = 1, .cfifo_byte_addr = 1, - .has_new_pipe_configs = 1, }, }; diff --git a/include/linux/usb/renesas_usbhs.h b/include/linux/usb/renesas_usbhs.h index 372898d9eeb0..41f58cfbd876 100644 --- a/include/linux/usb/renesas_usbhs.h +++ b/include/linux/usb/renesas_usbhs.h @@ -169,7 +169,6 @@ struct renesas_usbhs_driver_param { u32 cfifo_byte_addr:1; /* CFIFO is byte addressable */ #define USBHS_USB_DMAC_XFER_SIZE 32 /* hardcode the xfer size */ u32 multi_clks:1; - u32 has_new_pipe_configs:1; }; /* From patchwork Fri Mar 15 18:39:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Biju Das X-Patchwork-Id: 780822 Received: from relmlie5.idc.renesas.com (relmlor1.renesas.com [210.160.252.171]) by smtp.subspace.kernel.org (Postfix) with ESMTP id CDB281D553; Fri, 15 Mar 2024 18:39:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.160.252.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710527997; cv=none; b=SZXAn+9eV/nBoWo+1zgahoMTHAW+Jk06fkvnWoQ2DkGN+lT1XsjxqoJOL+tzBzgBbQy5hbIONJK/o6ZMAaUFFOTv1q9b+uCIsfbVgDRuhsCAnUnTLhBSl0+PJWDHEmKVDOA3wxrLLxpbxwE2x9vnj+fqnrRbN21L1FUtXThOyKA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710527997; c=relaxed/simple; bh=uic3T7rQvfFIXFjVObfPlrCqUs+JYzxI/5uyaUolwLU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=tZH+A3QxmYrMmivnnQHTELG958KpvoFRUKMvZszeo6BZ5t1/5pOdLqozRGGTGTw+nwGedwtmdfEbpSGOBM8ob5/XJjptRjOz8TsWkgnWJiRLINTCtqeqoucUVIiTyUBnP1Mqpr+p5eAgUn54OSvH1hMPHGjy3XMsS7m50AxjmOQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; arc=none smtp.client-ip=210.160.252.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com X-IronPort-AV: E=Sophos;i="6.07,129,1708354800"; d="scan'208";a="197917693" Received: from unknown (HELO relmlir6.idc.renesas.com) ([10.200.68.152]) by relmlie5.idc.renesas.com with ESMTP; 16 Mar 2024 03:39:52 +0900 Received: from localhost.localdomain (unknown [10.226.93.102]) by relmlir6.idc.renesas.com (Postfix) with ESMTP id BC2D64066237; Sat, 16 Mar 2024 03:39:48 +0900 (JST) From: Biju Das To: Greg Kroah-Hartman Cc: Biju Das , Geert Uytterhoeven , Magnus Damm , Huy Nguyen , Rob Herring , Yoshihiro Shimoda , Krzysztof Kozlowski , =?utf-8?q?Uwe_Kleine-?= =?utf-8?q?K=C3=B6nig?= , linux-usb@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v3 6/7] usb: renesas_usbhs: Remove trailing comma in the terminator entry for OF table Date: Fri, 15 Mar 2024 18:39:20 +0000 Message-Id: <20240315183921.375751-7-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240315183921.375751-1-biju.das.jz@bp.renesas.com> References: <20240315183921.375751-1-biju.das.jz@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Remove the trailing comma in the terminator entry for the OF table making code robust against (theoretical) misrebases or other similar things where the new entry goes _after_ the termination without the compiler noticing. Signed-off-by: Biju Das Reviewed-by: Geert Uytterhoeven --- v2->v3: * No change. v1->v2: * Added Rb tag from Geert. --- drivers/usb/renesas_usbhs/common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/renesas_usbhs/common.c b/drivers/usb/renesas_usbhs/common.c index 3c67cd9c4406..2c9c989a222a 100644 --- a/drivers/usb/renesas_usbhs/common.c +++ b/drivers/usb/renesas_usbhs/common.c @@ -597,7 +597,7 @@ static const struct of_device_id usbhs_of_match[] = { .compatible = "renesas,rzg2l-usbhs", .data = &usbhs_rzg2l_plat_info, }, - { }, + { } }; MODULE_DEVICE_TABLE(of, usbhs_of_match);