From nobody Mon Dec 1 23:07:04 2025 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A930233A018 for ; Wed, 26 Nov 2025 15:36:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764171370; cv=none; b=us6RpS/WHMl4mHaSlTHguJfNtEpsFNvAPFSwANo6cZGuSvl7xpOXO1LANM3TlRW0RXiw5ukn8KNt/IUPgKfF4GN3P4tcCZXskufE2iRobaeKSTkJdpTHxQh2232SQVCC4D0F+u1EFBCwInJ8g8+PQjFUmiMBkv2Mt3qqeRXovZ8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764171370; c=relaxed/simple; bh=dO7L6iokZPFvGgnL1lgelPNYk38TYJe3rYcYdWOJpmk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lV4SVsvDpl2uHjBNVtyKNffIUbMwxjrf8mvCEybkAjr7NbCqwH6w4XC37LKppiRdndaTgQIZojqekp0mvPB0AUHJdKIcwnfhb6Yadv35K5q5XQ4jN36MmPQVzo4IiJvR3LLj+XmV1aPlHHsgf1coBcMkmLhpTixV+PJWbx0I90g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=akl0Q1w6; arc=none smtp.client-ip=209.85.128.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="akl0Q1w6" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-47789cd2083so40581055e9.2 for ; Wed, 26 Nov 2025 07:36:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1764171367; x=1764776167; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=6Ol4QUkXBKn9N338vzVa00ZQN1iku5KGXrDwgFZIEYI=; b=akl0Q1w6VKLvgmC/llnv8oKXfWEnoN08n+EQp9tpm9sYa91/nqHADdlS+PQKz83lY0 1Oy38iLhv5nahbmgUIkfOnmdSv+9n/PndOPDp4kEuAPzhEyj2M6Pk4hcLRi5Uas9kQkm MoGBAGyOjDiWSukm4yjC3IF67rcVp7c1H569whceMa+gE4/o9J9eySAQPTsa1LNagN25 PkL8plQ2kkoflotjoNZHv5O6eJA4PqhzAITQ7aKu4UuNHbhpso/GIzlalgKdXbDXtYvE ijdDpfJZR28PPXRVh/c7Owo/wcWo+4Hp5lp7RXCEsj13RDTPwZhN7OqJI0fYEI89OzSN XseA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764171367; x=1764776167; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=6Ol4QUkXBKn9N338vzVa00ZQN1iku5KGXrDwgFZIEYI=; b=Y1fqJxX26/ZaWVs7uIOCrAkaOfFQm1BGPd5qrAYej8+hqLJA/aWDcSyDL/fzRaMZ1P aFctzhMm0wW3HtgxoZmh5ZQdrHCQ5KS9oJttoIXorOhEKk4m+kmW32oycvatoXjgY6bT 0eKpkb/AipBgmjxa71AhH4NpfI6lI8C3DkirO4CCMVwuzSNI0xCnSeSl3WF4jGK1DcCb 5zoD5JDvRBwSK468WZo4UF7ezAYbgvTnatE8QjKNjRWdOxLetPn/HOt71hlT+W5NsYfL FBUAhXwUGsJ963En/2wDmtfZz8ffxxlj6D9v0nlrUyKSeMDRJTeSsCerJ8Lze6+7x8PA lqEw== X-Forwarded-Encrypted: i=1; AJvYcCXhA1a+jq9PW5s/Ot8x8JQx+FCVT9phrLiH4gE5+o+P5QC5Mbssy1X/gr4uxMRL0yDVvVEEu4t2OwhkBQs=@vger.kernel.org X-Gm-Message-State: AOJu0YxvEaOHcsvBl8lEjUN8BnaioSdp+JS3jJgm1TzvZEY3/kZiW21d zcqJ5ahCYdaTEjZwgFpHpt5zw36k7cVz7To/ybBnaDpflT3tb+MiSYhk X-Gm-Gg: ASbGnctGAcM4lvJZXiPGRPHC/XKMujyiMA37WygannCTpcYfd5LGjk3VAhfrOMtSMuh 85Zwn3N6qS6c05JT+SqyY/rCLm/qDaMi3UjGm+obrHPvGh0B00w8nV4vn3ba+JZuPspxxJSK1nk FZvprb7bVXrGtF2uvMWYx21XH/ylM003XpTv+8FdMi1UiEV+8tvk2dJ8bQUqNJHSyreHmZ2O2yF dvd4hzQqtTgLSdA2WoBW8nsYYuQWQvh/8m19WNRchsRZb8fmAX1XjwK0FWAM+hZRIXA8C3rltRa cAj0vptX7dWXKCUxdDQtRmDd6kU1VU0nS+QNB93cf2YiiAVPtsSY17IPKu1HnZYzBUKz2DeV8g2 e4NCUm1o0wrMPFgZDvN9qlRLUiRU+LJM4OzsrjaMVsmc1+sQwbraHoQC4eSHGkId4w6kzUbKk5q tUH/x2yCFf3rCgSHwMfMX0kxsV6/NYFWeZsFVRx04i2A2IebeRn1i4gcU1B8iFS5Qr4NoWsLw= X-Google-Smtp-Source: AGHT+IG3acN07D2P+XIE+3m8JXiw8J2r9Q3rvdPGCp7S4Lu5fn229vc3IatKPYyUdoKZa9jsG1KHHA== X-Received: by 2002:a05:600c:19ce:b0:46e:48fd:a1a9 with SMTP id 5b1f17b1804b1-477c115dfaamr177037775e9.33.1764171366796; Wed, 26 Nov 2025 07:36:06 -0800 (PST) Received: from biju.lan (host86-162-200-138.range86-162.btcentralplus.com. [86.162.200.138]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42cb7f2e454sm41223775f8f.2.2025.11.26.07.36.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Nov 2025 07:36:06 -0800 (PST) From: Biju X-Google-Original-From: Biju To: Marc Kleine-Budde , Vincent Mailhol , Geert Uytterhoeven , Magnus Damm Cc: Biju Das , linux-can@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v3 2/2] can: rcar_canfd: Add support for FD-Only mode Date: Wed, 26 Nov 2025 15:35:58 +0000 Message-ID: <20251126153603.312265-3-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251126153603.312265-1-biju.das.jz@bp.renesas.com> References: <20251126153603.312265-1-biju.das.jz@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Biju Das The RZ/{G2L,G3E} and R-Car Gen4 SoCs support additional CAN FD mode called FD-only mode. In this mode, communication in Classical CAN frame format is disabled. Signed-off-by: Biju Das --- v2->v3: * No change. v1->v2: * Dropped has_fd_only_mode variable from the struct rcar_canfd_hw_info as it is checked by the dt schema validation. --- drivers/net/can/rcar/rcar_canfd.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/net/can/rcar/rcar_canfd.c b/drivers/net/can/rcar/rcar_= canfd.c index 7895e1fdea1c..4a653d8978ba 100644 --- a/drivers/net/can/rcar/rcar_canfd.c +++ b/drivers/net/can/rcar/rcar_canfd.c @@ -472,6 +472,7 @@ struct rcar_canfd_global { unsigned long channels_mask; /* Enabled channels mask */ bool extclk; /* CANFD or Ext clock */ bool fdmode; /* CAN FD or Classical CAN only mode */ + bool fd_only_mode; /* FD-Only mode for CAN-FD */ struct reset_control *rstc1; struct reset_control *rstc2; const struct rcar_canfd_hw_info *info; @@ -829,12 +830,20 @@ static int rcar_canfd_reset_controller(struct rcar_ca= nfd_global *gpriv) RCANFD_GEN4_FDCFG_FDOE); rcar_canfd_set_bit_reg(&gpriv->fcbase[ch].cfdcfg, RCANFD_GEN4_FDCFG_CLOE); + } else if (gpriv->fd_only_mode) { + rcar_canfd_clear_bit_reg(&gpriv->fcbase[ch].cfdcfg, + RCANFD_GEN4_FDCFG_CLOE); + rcar_canfd_set_bit_reg(&gpriv->fcbase[ch].cfdcfg, + RCANFD_GEN4_FDCFG_FDOE); } else { rcar_canfd_clear_bit_reg(&gpriv->fcbase[ch].cfdcfg, RCANFD_GEN4_FDCFG_FDOE); rcar_canfd_clear_bit_reg(&gpriv->fcbase[ch].cfdcfg, RCANFD_GEN4_FDCFG_CLOE); } + } else if (gpriv->fd_only_mode) { + rcar_canfd_set_bit_reg(&gpriv->fcbase[ch].cfdcfg, + RCANFD_GEN4_FDCFG_FDOE); } } =20 @@ -2140,6 +2149,9 @@ static int rcar_canfd_probe(struct platform_device *p= dev) gpriv->fdmode =3D fdmode; gpriv->info =3D info; =20 + if (of_property_read_bool(dev->of_node, "renesas,fd-only")) + gpriv->fd_only_mode =3D true; /* FD-Only mode for CAN-FD */ + gpriv->rstc1 =3D devm_reset_control_get_optional_exclusive(dev, "rstp_n"); if (IS_ERR(gpriv->rstc1)) return dev_err_probe(dev, PTR_ERR(gpriv->rstc1), @@ -2239,7 +2251,7 @@ static int rcar_canfd_probe(struct platform_device *p= dev) platform_set_drvdata(pdev, gpriv); dev_info(dev, "global operational state (%s clk, %s mode)\n", gpriv->extclk ? "ext" : "canfd", - gpriv->fdmode ? "fd" : "classical"); + gpriv->fdmode ? (gpriv->fd_only_mode ? "fd-only" : "fd") : "classical"); return 0; =20 fail_channel: --=20 2.43.0