From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A9AC7395DB5 for ; Fri, 20 Mar 2026 11:07:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774004829; cv=none; b=kTY1qvuoK5FirehfED9lG11fw0sefuVJKIey8zO8rIRcwAVikO+wgZLed4MynzCWoFuuvZQzzG5AIzu/Q8Hv910LHzvciH3Yx4x5kWkribQgOrIQfKnCJxf6eNv6tj7cLhnrXV1d6OoTPVe/4kORTmBjrJahbSEdgMiEk2Uoyac= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774004829; c=relaxed/simple; bh=B55hUfkFveMT32Ta80Cl8dAPy1ySrGpel4O4Bo+6YkI=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=acqkH7r+S40qwgP2yJAkiM14iFWhPmURS7g+Noa2ySg2fKZRUB79Qat/YGRMG+j9Wkz8XgQbfdXm32qaJW8HcIVONMLM6nIn6u+mqyJ9epIDVFyD/ClwKx2rLSo/vZ2XiRw1j4ljQZKVJyUGK5/0PWzsYyQopPB6pbNFOjpiMiU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=C+GKJHgY; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=MpCiVxnm; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="C+GKJHgY"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="MpCiVxnm" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62K2Xgrp989376 for ; Fri, 20 Mar 2026 11:07:07 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 7xvazqXNDyIbT1hLpYtPJSBPiuK8QomKnXv/8SY/5TM=; b=C+GKJHgY1InXzQ4i Dilt54RZIqkiFcFgrQCqcd+7JttxpnTHO62IVgQPCaJelvyf2s7dgQUhz5j2i9OW HBlHv5rPxhJkylWnvIjorNJtL88oHOHtgn/CVo3XyoAATrWAYpYaA4QjfTePLGWH ZZwu0Uj0cX+gj+Y10rUkvJfXho3kvEd2svVBlqBXOYYwyv3ffP5BQuVhxRQyzLvU 4Ta4R8ApzHJP7gv5Yiltl+tln2bMhFzA/Se9bwTLu1aq4y4BQIb8GiOI1sZ5TedE YsATdZZ15U+fSV6lWHtKh2QJH1R2r/jPkVJF0BFDu+9OgUMWFmK9qZ4TC5Lj2bFm zfU0fg== Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d0k0vb590-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 20 Mar 2026 11:07:07 +0000 (GMT) Received: by mail-pf1-f200.google.com with SMTP id d2e1a72fcca58-8297d261a67so983928b3a.0 for ; Fri, 20 Mar 2026 04:07:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774004827; x=1774609627; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=7xvazqXNDyIbT1hLpYtPJSBPiuK8QomKnXv/8SY/5TM=; b=MpCiVxnmNFMvQGu8lOrCzvG0J5OE/+V49huyLgFSUMwTglK9iBe1rZlMjBnVCco9Q+ EM9br1UJXEVii6siMRdtneKgDVBzsZ8K7Q1AqVA4EqbCkvKgUiJJhY9TLj/JRZ8GcsBR EMfH56YTYPV1Hld2IUagfCGrrNNj3Qm2b84PPGZ0puQfmSroBK5oIFPJm/AeYMpql2aJ P8RDVGGnc0lpuXOcAMBzlq30vZeRSH5H0apgX8q5BqiDzWL9DlAs11XcKUKTjTsn4PBs QLs2fYpGiRN0mBHkBVYQpBOJkxTeRvjWXtsLFLtOqH8oSxbkfC6KyJ4yyNwIlb1gQP4j IqTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774004827; x=1774609627; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=7xvazqXNDyIbT1hLpYtPJSBPiuK8QomKnXv/8SY/5TM=; b=nE4dY+Ty3zS8EDJOgOP4WVCWMmH8bFzwhyCxsOxNj5IGYMLg+XaitAlgbkks5on0/i +SIwe0Sw6TnPEwGluqWl1fJ7P5SdLLxO7Kro04avCP35XXbKDQXyAR4z1ZqPvxdTw3Ks Y/vpkS8fFqWwynPqiY96nLW4YgmJK9q1QvwHnefQew2f5QZdDd7Mj29tm5oNF7zpHeyr mlqQhbwEi9/niNbZG8i+eUISjWlFeMGEa7O/j58ptsC91y9bR3w4srLhIaIBHu9ZsXHE eJDItURosDHbMOmWEHU2WYLXTGoW//qnXviBL7eTdAPSyZJfWKn+6gmce0Fb9lyPdWZH 78Yg== X-Forwarded-Encrypted: i=1; AJvYcCVguAOBII27gpNn9cLefWpSY6W7gaAcK4zI2XtqmgfmDSw7V2dIG1R+3BfL5q0cub4qs8naC+1ksa9+l2s=@vger.kernel.org X-Gm-Message-State: AOJu0Yw3vhoMIFX6qfiEy+0++aamQJNy1J1sQHFLupwS2aD5l5ucbu9y 272VoTHYQ0OV9Ptw16jrLVs2Q6zjFjvhQ7LN+AX1qxe8Nfa6Nt6uRkstTPiMM0YSLcM/Ui7ID72 rKQm3dFjSyq9EbBKCyi8ooyIUuNVwVqfbhiNdIyd9EiEHKkNUauJoO5GkGkueBwfnA+Y= X-Gm-Gg: ATEYQzzCGEhkboKxMcS/OZVIHp3fvOW+5yRd7i61znFDBg6Uh9j3cA0Q7QaJ3mbjGgb HJMBXCTGGX042J8MwJcYMeWbYj9IzouXW878vUlUysXtlRLWF3p+ysJZ3QMN+y4klat7DvRuLNA agoUeYsV4frX4GLnOmIx5Bzf/7g2T/CNsjZxr9xk2/MQuSywRGIuW1qUYm4NcVWxQ9yJrO9Q3xq 5exi3CEelaVshmMgFCR3xrXLMLlnVZxf8WGiHVqYUcsAeu5ppnXuy/zlaMZsA3bBoNCu644vafH jGDhJKXrMotGkN93rrhJakzPdxj5G90FtrJnZPDA2Qj2Zyokvet3+Ed1Jj4cc5dPenrduFlXbpB 5C5DfHbfBwoJd9FL3Jcvxb70eSCU70vWrwqeKBsFFApO3Kq3fUDVPF1Dh X-Received: by 2002:a05:6a00:3017:b0:82a:5ef0:210b with SMTP id d2e1a72fcca58-82a8c278b4amr1939145b3a.15.1774004826521; Fri, 20 Mar 2026 04:07:06 -0700 (PDT) X-Received: by 2002:a05:6a00:3017:b0:82a:5ef0:210b with SMTP id d2e1a72fcca58-82a8c278b4amr1939116b3a.15.1774004825817; Fri, 20 Mar 2026 04:07:05 -0700 (PDT) Received: from [192.168.1.8] ([106.222.229.133]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82b0410b1bdsm2258389b3a.57.2026.03.20.04.07.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 20 Mar 2026 04:07:05 -0700 (PDT) Message-ID: Date: Fri, 20 Mar 2026 16:36:59 +0530 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 2/3] can: mcp251xfd: add support for XSTBYEN transceiver standby control To: Marc Kleine-Budde Cc: mani@kernel.org, thomas.kopp@microchip.com, mailhol@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, andersson@kernel.org, konradybcio@kernel.org, linux-can@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, mukesh.savaliya@oss.qualcomm.com, anup.kulkarni@oss.qualcomm.com References: <20260316131950.859748-1-viken.dadhaniya@oss.qualcomm.com> <20260316131950.859748-3-viken.dadhaniya@oss.qualcomm.com> <20260316-fossa-of-extreme-cookies-9c5c40-mkl@pengutronix.de> Content-Language: en-US From: Viken Dadhaniya In-Reply-To: <20260316-fossa-of-extreme-cookies-9c5c40-mkl@pengutronix.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Proofpoint-ORIG-GUID: eUFSwvgD2FpRjNwPBY7UYqYoUz1QkoOa X-Authority-Analysis: v=2.4 cv=EcjFgfmC c=1 sm=1 tr=0 ts=69bd2a5b cx=c_pps a=mDZGXZTwRPZaeRUbqKGCBw==:117 a=cGBE/nqsz5+qsjWdF/9VHQ==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=lHJVDBzvP0N_sG6QPz0A:9 a=QEXdDO2ut3YA:10 a=zc0IvFSfCIW2DFIPzwfm:22 X-Proofpoint-GUID: eUFSwvgD2FpRjNwPBY7UYqYoUz1QkoOa X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIwMDA4NSBTYWx0ZWRfXy90MU+cGIEjF SvD3SvcvjT0EUoEI7eONWVCAufz5vBq+u5VwaoUI2/PbQM7dIeLFN+lTeFx2sWoDEFdylT1qGQ2 5lRsJ+6A6UxQgI8Y6OSnKIcPn90rpJthim19KKP2ALZwbPccuEqduntilIUaZKn+rc0vr1+B0F7 3C6uifYDFcGnAYsAYDUsT5RFLn1RwjIsDM6M9vT0G3D5uz/49jLJt8EEdqcrpTXCYyM6+MRpi21 4qMRxo4zJHOBFMe7jCNMpP7dgZcpBRG5DVgC+tvikFGN6incHL8HsMeNpuRHtUPYvw89sMydPIx k1QT7gyB08mKX5t504nfiT8dqidYmmEhm4AT4nmkAwng3qahxsBewxRkrZY1k2plzclqlOsyOZ6 Mik+SE2s7ftBG56YvQdVYbKQn+vaF1H4hAMyIG42AlUY5waCVuF2M0RyqBUC9rvzixHy1tm06ve s4c7ebaaIAGgpdqj+6g== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-20_02,2026-03-19_05,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 bulkscore=0 malwarescore=0 lowpriorityscore=0 adultscore=0 clxscore=1015 suspectscore=0 impostorscore=0 spamscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603200085 On 3/16/2026 7:21 PM, Marc Kleine-Budde wrote: > On 16.03.2026 18:49:49, Viken Dadhaniya wrote: >> The MCP251xFD has a dedicated transceiver standby control function on >> the INT0/GPIO0/XSTBY pin, controlled by the XSTBYEN bit in IOCON. > > Please add a check to mcp251xfd_gpio_request() that GPIO0 cannot be used > with xstbyen. Sure, Will update in next patch. > >> When enabled, the hardware automatically manages the transceiver >> standby state: the pin is driven low when the controller is active >> and high when it enters Sleep mode. >> >> Enable this feature when the 'microchip,xstbyen' device tree property >> is present. >> >> Signed-off-by: Viken Dadhaniya >> --- >> .../net/can/spi/mcp251xfd/mcp251xfd-core.c | 30 +++++++++++++++++++ >> drivers/net/can/spi/mcp251xfd/mcp251xfd.h | 1 + >> 2 files changed, 31 insertions(+) >> >> diff --git a/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c b/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c >> index 9c86df08c2c5..7a152acf4931 100644 >> --- a/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c >> +++ b/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c >> @@ -764,6 +764,29 @@ static void mcp251xfd_chip_stop(struct mcp251xfd_priv *priv, >> mcp251xfd_chip_set_mode(priv, MCP251XFD_REG_CON_MODE_CONFIG); >> } >> >> +static int mcp251xfd_chip_xstbyen_enable(const struct mcp251xfd_priv *priv) >> +{ >> + /* Configure the INT0/GPIO0/XSTBY pin as transceiver standby control: >> + * >> + * - XSTBYEN=1: route the pin to the transceiver standby function >> + * - TRIS0=0: set output direction; the reset default is 1 (input), >> + * which leaves the pin floating HIGH and keeps the >> + * transceiver in standby regardless of XSTBYEN >> + * - LAT0=0: drive pin LOW => transceiver active (not in standby) >> + * >> + * All three bits are included in the mask; only XSTBYEN is set in >> + * val, so TRIS0 and LAT0 are cleared to 0 atomically. >> + * >> + * Once configured, the hardware automatically drives the pin HIGH >> + * on Sleep mode entry and LOW on Sleep mode exit. >> + */ > > What does the pin do in Config mode? In Config mode, the pin is controlled by LAT0. Since we set LAT0=0, the pin is LOW (transceiver active), ensuring the transceiver is ready before entering Normal mode. > >> + return regmap_update_bits(priv->map_reg, MCP251XFD_REG_IOCON, >> + MCP251XFD_REG_IOCON_XSTBYEN | >> + MCP251XFD_REG_IOCON_TRIS0 | >> + MCP251XFD_REG_IOCON_LAT0, >> + MCP251XFD_REG_IOCON_XSTBYEN); >> +} >> + >> static int mcp251xfd_chip_start(struct mcp251xfd_priv *priv) >> { >> int err; >> @@ -800,6 +823,12 @@ static int mcp251xfd_chip_start(struct mcp251xfd_priv *priv) >> if (err) >> goto out_chip_stop; >> >> + if (priv->xstbyen) { >> + err = mcp251xfd_chip_xstbyen_enable(priv); >> + if (err) >> + goto out_chip_stop; >> + } >> + > > You should configure the pin before bringing the controller into normale mode. Sure, Will update in next patch. > > regards, > Marc >