{"id":1936092,"url":"http://patchwork.ozlabs.org/api/patches/1936092/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-aspeed/patch/20240516181907.3468796-10-eajames@linux.ibm.com/","project":{"id":57,"url":"http://patchwork.ozlabs.org/api/projects/57/?format=json","name":"Linux ASPEED SoC development","link_name":"linux-aspeed","list_id":"linux-aspeed.lists.ozlabs.org","list_email":"linux-aspeed@lists.ozlabs.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20240516181907.3468796-10-eajames@linux.ibm.com>","list_archive_url":null,"date":"2024-05-16T18:18:36","name":"[v3,09/40] fsi: aspeed: Add AST2700 support","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"b13a09db5ebe3d9fafd6fa01dd3804c8aacd2f5d","submitter":{"id":74989,"url":"http://patchwork.ozlabs.org/api/people/74989/?format=json","name":"Eddie James","email":"eajames@linux.ibm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-aspeed/patch/20240516181907.3468796-10-eajames@linux.ibm.com/mbox/","series":[{"id":407101,"url":"http://patchwork.ozlabs.org/api/series/407101/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-aspeed/list/?series=407101","date":"2024-05-16T18:18:31","name":"fsi: Add interrupt support","version":3,"mbox":"http://patchwork.ozlabs.org/series/407101/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/1936092/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/1936092/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linux-aspeed-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-aspeed@lists.ozlabs.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","linux-aspeed@lists.ozlabs.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=UbNlb/0C;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:2:0:216:3eff:fee1:b9f1; helo=lists.ozlabs.org;\n envelope-from=linux-aspeed-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=UbNlb/0C;\n\tdkim-atps=neutral","lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=UbNlb/0C;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=linux.ibm.com\n (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com;\n envelope-from=eajames@linux.ibm.com; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:2:0:216:3eff:fee1:b9f1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4VgJK55Q3Sz20KF\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 17 May 2024 04:19:37 +1000 (AEST)","from boromir.ozlabs.org (localhost [IPv6:::1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4VgJK53NNkz3ftD\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 17 May 2024 04:19:37 +1000 (AEST)","from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com\n [148.163.156.1])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4VgJJr4RgNz3fnQ;\n\tFri, 17 May 2024 04:19:24 +1000 (AEST)","from pps.filterd (m0353729.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id\n 44GIAVoV020127;\n\tThu, 16 May 2024 18:19:14 GMT","from ppma12.dal12v.mail.ibm.com\n (dc.9e.1632.ip4.static.sl-reverse.com [50.22.158.220])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3y5p6gg5n0-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tThu, 16 May 2024 18:19:14 +0000","from pps.filterd (ppma12.dal12v.mail.ibm.com [127.0.0.1])\n\tby ppma12.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id\n 44GHJBoU018844;\n\tThu, 16 May 2024 18:19:13 GMT","from smtprelay03.wdc07v.mail.ibm.com ([172.16.1.70])\n\tby ppma12.dal12v.mail.ibm.com (PPS) with ESMTPS id 3y2k0tuqe5-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tThu, 16 May 2024 18:19:13 +0000","from smtpav05.dal12v.mail.ibm.com (smtpav05.dal12v.mail.ibm.com\n [10.241.53.104])\n\tby smtprelay03.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 44GIJAFP3146424\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n\tThu, 16 May 2024 18:19:12 GMT","from smtpav05.dal12v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 4A92858082;\n\tThu, 16 May 2024 18:19:10 +0000 (GMT)","from smtpav05.dal12v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 0A0DA58056;\n\tThu, 16 May 2024 18:19:10 +0000 (GMT)","from slate16.aus.stglabs.ibm.com (unknown [9.61.107.19])\n\tby smtpav05.dal12v.mail.ibm.com (Postfix) with ESMTP;\n\tThu, 16 May 2024 18:19:09 +0000 (GMT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com;\n h=from : to : cc : subject\n : date : message-id : in-reply-to : references : mime-version :\n content-transfer-encoding; s=pp1;\n bh=XynCFTEpJ9c9tpkSKwQRnpEBPBH5oxaR1GiqTnQE1Qk=;\n b=UbNlb/0C3OIngSdOgNttHTnkcViPueARTXtk9ZJEI48mkOeAM3X2FH5cBsxN01CVo6qr\n KLE+44uIqoYWVSdNU5vw6qO4BhuWaRlNsHSdhVbCyCDZSSxMY/ym0zykY0XL5mz2tSb6\n XEQtuF/A0tdrPog7kHYq6pyEdQul5lu/AZNibjBjcsWoeNBYG5GjLUcgQc8G+8R9j6Nb\n 5hM1/HoNM3WQMg5+D7e44KdxlOXpT1GniwrZHE7KHZHhlF61CYatevaGK8n0khQDcz7l\n 71RItvHOjArY/dvUMi7TfjT4YlTyu5EhRLUFSQOAG+UkpPD4f0GvSCdJaXARAF4sMZxH ZA==","From":"Eddie James <eajames@linux.ibm.com>","To":"linux-fsi@lists.ozlabs.org","Subject":"[PATCH v3 09/40] fsi: aspeed: Add AST2700 support","Date":"Thu, 16 May 2024 13:18:36 -0500","Message-Id":"<20240516181907.3468796-10-eajames@linux.ibm.com>","X-Mailer":"git-send-email 2.39.3","In-Reply-To":"<20240516181907.3468796-1-eajames@linux.ibm.com>","References":"<20240516181907.3468796-1-eajames@linux.ibm.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-TM-AS-GCONF":"00","X-Proofpoint-GUID":"6Q7YHWP0iAQWxCg7DKi3Mwv2jhNjmb1f","X-Proofpoint-ORIG-GUID":"6Q7YHWP0iAQWxCg7DKi3Mwv2jhNjmb1f","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.650,FMLib:17.11.176.26\n definitions=2024-05-16_07,2024-05-15_01,2023-05-22_02","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n lowpriorityscore=0\n adultscore=0 clxscore=1015 impostorscore=0 mlxscore=0 malwarescore=0\n mlxlogscore=999 spamscore=0 bulkscore=0 priorityscore=1501 suspectscore=0\n phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1\n engine=8.12.0-2405010000 definitions=main-2405160132","X-BeenThere":"linux-aspeed@lists.ozlabs.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"Linux ASPEED SoC development <linux-aspeed.lists.ozlabs.org>","List-Unsubscribe":"<https://lists.ozlabs.org/options/linux-aspeed>,\n <mailto:linux-aspeed-request@lists.ozlabs.org?subject=unsubscribe>","List-Archive":"<http://lists.ozlabs.org/pipermail/linux-aspeed/>","List-Post":"<mailto:linux-aspeed@lists.ozlabs.org>","List-Help":"<mailto:linux-aspeed-request@lists.ozlabs.org?subject=help>","List-Subscribe":"<https://lists.ozlabs.org/listinfo/linux-aspeed>,\n <mailto:linux-aspeed-request@lists.ozlabs.org?subject=subscribe>","Cc":"andi.shyti@kernel.org, linux-aspeed@lists.ozlabs.org, jk@ozlabs.org,\n alistair@popple.id.au, linux-kernel@vger.kernel.org,\n linux-spi@vger.kernel.org, broonie@kernel.org, andrew@codeconstruct.com.au,\n linux-i2c@vger.kernel.org","Errors-To":"linux-aspeed-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org","Sender":"\"Linux-aspeed\"\n <linux-aspeed-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>"},"content":"AST2700 requires a few bits set differently in the OPB retry\ncounter register, so add some match data and set the register\naccordingly.\n\nSigned-off-by: Eddie James <eajames@linux.ibm.com>\n---\n drivers/fsi/fsi-master-aspeed.c | 33 ++++++++++++++++++++++++++++++---\n 1 file changed, 30 insertions(+), 3 deletions(-)","diff":"diff --git a/drivers/fsi/fsi-master-aspeed.c b/drivers/fsi/fsi-master-aspeed.c\nindex f0a19cd451a07..3d15e867237df 100644\n--- a/drivers/fsi/fsi-master-aspeed.c\n+++ b/drivers/fsi/fsi-master-aspeed.c\n@@ -18,6 +18,10 @@\n \n #include \"fsi-master.h\"\n \n+struct fsi_master_aspeed_data {\n+\tu32 opb_retry_counter;\n+};\n+\n struct fsi_master_aspeed {\n \tstruct fsi_master\tmaster;\n \tstruct mutex\t\tlock;\t/* protect HW access */\n@@ -81,6 +85,13 @@ static const u32 fsi_base = 0xa0000000;\n #define XFER_HALFWORD\t(BIT(0))\n #define XFER_BYTE\t(0)\n \n+/* OPB_RETRY_COUNTER */\n+#define OPB_RC_FSI_OPB\t\tBIT(19)\t/* Access FSI space over OPB, not AHB (AST27xx+) */\n+#define OPB_RC_CTRL_OPB\t\tBIT(18)\t/* Access controller over OPB, not AHB (AST27xx+) */\n+#define OPB_RC_XFER_ACK_EN\tBIT(16)\t/* Enable OPBx xfer ack bit without mask */\n+#define OPB_RC_COUNT\t\tGENMASK(15, 0)\t/* Number of retries */\n+#define OPB_RC_DEFAULT\t\t0x10\n+\n #define CREATE_TRACE_POINTS\n #include <trace/events/fsi_master_aspeed.h>\n \n@@ -536,6 +547,8 @@ static int tacoma_cabled_fsi_fixup(struct device *dev)\n \n static int fsi_master_aspeed_probe(struct platform_device *pdev)\n {\n+\tconst struct fsi_master_aspeed_data *md = of_device_get_match_data(&pdev->dev);\n+\tu32 opb_retry_counter = md ? md->opb_retry_counter : OPB_RC_DEFAULT;\n \tstruct fsi_master_aspeed *aspeed;\n \tint rc, links, reg;\n \t__be32 raw;\n@@ -579,8 +592,7 @@ static int fsi_master_aspeed_probe(struct platform_device *pdev)\n \twritel(OPB1_XFER_ACK_EN | OPB0_XFER_ACK_EN,\n \t\t\taspeed->base + OPB_IRQ_MASK);\n \n-\t/* TODO: determine an appropriate value */\n-\twritel(0x10, aspeed->base + OPB_RETRY_COUNTER);\n+\twritel(opb_retry_counter, aspeed->base + OPB_RETRY_COUNTER);\n \n \twritel(ctrl_base, aspeed->base + OPB_CTRL_BASE);\n \twritel(fsi_base, aspeed->base + OPB_FSI_BASE);\n@@ -656,8 +668,23 @@ static int fsi_master_aspeed_remove(struct platform_device *pdev)\n \treturn 0;\n }\n \n+static const struct fsi_master_aspeed_data fsi_master_ast2600_data = {\n+\t.opb_retry_counter = OPB_RC_DEFAULT,\n+};\n+\n+static const struct fsi_master_aspeed_data fsi_master_ast2700_data = {\n+\t.opb_retry_counter = OPB_RC_FSI_OPB | OPB_RC_CTRL_OPB | OPB_RC_DEFAULT,\n+};\n+\n static const struct of_device_id fsi_master_aspeed_match[] = {\n-\t{ .compatible = \"aspeed,ast2600-fsi-master\" },\n+\t{\n+\t\t.compatible = \"aspeed,ast2600-fsi-master\",\n+\t\t.data = &fsi_master_ast2600_data,\n+\t},\n+\t{\n+\t\t.compatible = \"aspeed,ast2700-fsi-master\",\n+\t\t.data = &fsi_master_ast2700_data,\n+\t},\n \t{ },\n };\n MODULE_DEVICE_TABLE(of, fsi_master_aspeed_match);\n","prefixes":["v3","09/40"]}