[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <da9c4afb-84ce-49ee-86b3-b7f50457a067@ti.com>
Date: Thu, 7 Aug 2025 17:29:24 -0500
From: Judith Mendez <jm@...com>
To: Andrew Davis <afd@...com>, Nishanth Menon <nm@...com>,
Tero Kristo
<kristo@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski
<krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Adrian Hunter
<adrian.hunter@...el.com>,
Ulf Hansson <ulf.hansson@...aro.org>
CC: Vignesh Raghavendra <vigneshr@...com>,
Santosh Shilimkar
<ssantosh@...nel.org>,
<linux-arm-kernel@...ts.infradead.org>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <linux-mmc@...r.kernel.org>
Subject: Re: [PATCH 2/4] soc: ti: k3-socinfo: Add support for AM62P variants
Hi Andrew,
On 8/7/25 12:24 PM, Andrew Davis wrote:
> On 8/5/25 6:49 PM, Judith Mendez wrote:
>> This adds a support for detecting AM62P SR1.0, SR1.1, SR1.2.
>>
>> On AM62P, silicon revision is discovered with GP_SW1 instead of JTAGID
>> register, so introduce GP_SW register range to determine SoC revision.
>>
>> Signed-off-by: Judith Mendez <jm@...com>
>> ---
>> drivers/soc/ti/k3-socinfo.c | 82 +++++++++++++++++++++++++++++++++----
>> 1 file changed, 74 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/soc/ti/k3-socinfo.c b/drivers/soc/ti/k3-socinfo.c
>> index d716be113c84..9daeced656d6 100644
>> --- a/drivers/soc/ti/k3-socinfo.c
>> +++ b/drivers/soc/ti/k3-socinfo.c
>> @@ -15,6 +15,7 @@
>> #include <linux/sys_soc.h>
>> #define CTRLMMR_WKUP_JTAGID_REG 0
>> +#define CTRLMMR_WKUP_GP_SW1_REG 4
>> /*
>> * Bits:
>> * 31-28 VARIANT Device variant
>> @@ -62,10 +63,63 @@ static const struct k3_soc_id {
>> { JTAG_ID_PARTNO_AM62LX, "AM62LX" },
>> };
>> +static const struct regmap_config k3_chipinfo_regmap_cfg = {
>> + .reg_bits = 32,
>> + .val_bits = 32,
>> + .reg_stride = 4,
>> +};
>> +
>> static const char * const j721e_rev_string_map[] = {
>> "1.0", "1.1", "2.0",
>> };
>> +static const char * const am62p_gpsw_rev_string_map[] = {
>> + "1.0", "1.1", "1.2",
>> +};
>> +
>> +static int
>> +k3_chipinfo_get_variant_alternate(struct platform_device *pdev,
>> unsigned int partno, u32 *variant)
>> +{
>> + struct device *dev = &pdev->dev;
>> + struct regmap *regmap;
>> + void __iomem *base;
>> + u32 offset;
>> + int ret;
>> +
>> + base = devm_platform_ioremap_resource(pdev, 1);
>> + if (IS_ERR(base))
>> + return PTR_ERR(base);
>> +
>> + regmap = regmap_init_mmio(dev, base, &k3_chipinfo_regmap_cfg);
>
> devm_regmap_init_mmio()
>
> Otherwise this regmap never gets freed up in the error paths.
Thanks for reviewing, but....
I have completely changed this patch in v2, feel free to review v2
though (:
..
Powered by blists - more mailing lists