From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C8B571F8BCB; Mon, 7 Jul 2025 23:35:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751931304; cv=none; b=YeJ/JbyVRE+kB+g0mMlwxqtEJ0kqXVbY4/49GJXzEEZRrlP4qsH5JEfG9M6QAgUJmGXZgezjujY9tv8HDPKFyX2JxdqwoY5RnlW8k5IqBtv16dSGoQhqC6HVP6CCbwRh8PFbFaY/8GkX62foVLbi7SAxtCIYWDZHXV7jHPp/QOk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751931304; c=relaxed/simple; bh=jllk3ECRy57R++hyZui+sBkMaYBcXVsk4S64WOzIt4U=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=LymuhRsiGul8R4levVvqJv+oho8/X6tqRRLMvE1dc62arqitfJuWXWKO7hUjbR++oKbmysWBoL3CerAeLZaG2dJIktSymQiDzpEapVdx/sRl6YpZCcYB7RWKZoFjyrR41K0m39qRAjd522292WnLTZ/bjn+Sqg2EFUtpFs6bD5k= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D41201595; Mon, 7 Jul 2025 16:34:49 -0700 (PDT) Received: from minigeek.lan (usa-sjc-mx-foss1.foss.arm.com [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 57B293F66E; Mon, 7 Jul 2025 16:35:00 -0700 (PDT) Date: Tue, 8 Jul 2025 00:33:19 +0100 From: Andre Przywara To: Paul Kocialkowski Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Linus Walleij Subject: Re: [PATCH v2 1/4] Revert "pinctrl: sunxi: Fix a100 emac pin function name" Message-ID: <20250708003236.059ba94d@minigeek.lan> In-Reply-To: <20250707165155.581579-2-paulk@sys-base.io> References: <20250707165155.581579-1-paulk@sys-base.io> <20250707165155.581579-2-paulk@sys-base.io> Organization: Arm Ltd. X-Mailer: Claws Mail 4.2.0 (GTK 3.24.31; x86_64-slackware-linux-gnu) Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Mon, 7 Jul 2025 18:51:52 +0200 Paul Kocialkowski wrote: Hi Paul, > While the A100/A133 chips only expose a single EMAC, the sun50iw10 die > that they share actually has two such controllers. > > One specific package, the T509 is reported to expose both ports. > > Since we want to keep the pinctrl function names unique accross > packages of the same die to share a single common base dtsi, keep the > emac0 naming in order to allow the introduction of the emac1 function > in the future. > > Note that the original commit also breaks the ABI between the driver > and the device-tree. It's however unlikely that anybody would have > complained about that since the a100/a133 port is still very early > and experimental. > > Fixes: d4775ba60b55 ("pinctrl: sunxi: Fix a100 emac pin function name") > Signed-off-by: Paul Kocialkowski many thanks for sending this, it looks good to me now. I just wonder if the original patch can be still backed out, I think it would be still time before the v6.17 PR? Good to have an explicit revert anyway, to make this case clear. Cheers, Andre > --- > drivers/pinctrl/sunxi/pinctrl-sun50i-a100.c | 32 ++++++++++----------- > 1 file changed, 16 insertions(+), 16 deletions(-) > > diff --git a/drivers/pinctrl/sunxi/pinctrl-sun50i-a100.c b/drivers/pinctrl/sunxi/pinctrl-sun50i-a100.c > index 95b764ee1c0d..b97de80ae2f3 100644 > --- a/drivers/pinctrl/sunxi/pinctrl-sun50i-a100.c > +++ b/drivers/pinctrl/sunxi/pinctrl-sun50i-a100.c > @@ -546,33 +546,33 @@ static const struct sunxi_desc_pin a100_pins[] = { > SUNXI_FUNCTION(0x0, "gpio_in"), > SUNXI_FUNCTION(0x1, "gpio_out"), > SUNXI_FUNCTION(0x2, "i2c0"), /* SCK */ > - SUNXI_FUNCTION(0x5, "emac"), /* RXD1 */ > + SUNXI_FUNCTION(0x5, "emac0"), /* RXD1 */ > SUNXI_FUNCTION_IRQ_BANK(0x6, 6, 0)), > SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 1), > SUNXI_FUNCTION(0x0, "gpio_in"), > SUNXI_FUNCTION(0x1, "gpio_out"), > SUNXI_FUNCTION(0x2, "i2c0"), /* SDA */ > - SUNXI_FUNCTION(0x5, "emac"), /* RXD0 */ > + SUNXI_FUNCTION(0x5, "emac0"), /* RXD0 */ > SUNXI_FUNCTION_IRQ_BANK(0x6, 6, 1)), > SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 2), > SUNXI_FUNCTION(0x0, "gpio_in"), > SUNXI_FUNCTION(0x1, "gpio_out"), > SUNXI_FUNCTION(0x2, "i2c1"), /* SCK */ > - SUNXI_FUNCTION(0x5, "emac"), /* RXCTL */ > + SUNXI_FUNCTION(0x5, "emac0"), /* RXCTL */ > SUNXI_FUNCTION_IRQ_BANK(0x6, 6, 2)), > SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 3), > SUNXI_FUNCTION(0x0, "gpio_in"), > SUNXI_FUNCTION(0x1, "gpio_out"), > SUNXI_FUNCTION(0x2, "i2c1"), /* SDA */ > SUNXI_FUNCTION(0x3, "cir0"), /* OUT */ > - SUNXI_FUNCTION(0x5, "emac"), /* CLKIN */ > + SUNXI_FUNCTION(0x5, "emac0"), /* CLKIN */ > SUNXI_FUNCTION_IRQ_BANK(0x6, 6, 3)), > SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 4), > SUNXI_FUNCTION(0x0, "gpio_in"), > SUNXI_FUNCTION(0x1, "gpio_out"), > SUNXI_FUNCTION(0x2, "uart3"), /* TX */ > SUNXI_FUNCTION(0x3, "spi1"), /* CS */ > - SUNXI_FUNCTION(0x5, "emac"), /* TXD1 */ > + SUNXI_FUNCTION(0x5, "emac0"), /* TXD1 */ > SUNXI_FUNCTION_IRQ_BANK(0x6, 6, 4)), > SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 5), > SUNXI_FUNCTION(0x0, "gpio_in"), > @@ -580,14 +580,14 @@ static const struct sunxi_desc_pin a100_pins[] = { > SUNXI_FUNCTION(0x2, "uart3"), /* RX */ > SUNXI_FUNCTION(0x3, "spi1"), /* CLK */ > SUNXI_FUNCTION(0x4, "ledc"), > - SUNXI_FUNCTION(0x5, "emac"), /* TXD0 */ > + SUNXI_FUNCTION(0x5, "emac0"), /* TXD0 */ > SUNXI_FUNCTION_IRQ_BANK(0x6, 6, 5)), > SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 6), > SUNXI_FUNCTION(0x0, "gpio_in"), > SUNXI_FUNCTION(0x1, "gpio_out"), > SUNXI_FUNCTION(0x2, "uart3"), /* RTS */ > SUNXI_FUNCTION(0x3, "spi1"), /* MOSI */ > - SUNXI_FUNCTION(0x5, "emac"), /* TXCK */ > + SUNXI_FUNCTION(0x5, "emac0"), /* TXCK */ > SUNXI_FUNCTION_IRQ_BANK(0x6, 6, 6)), > SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 7), > SUNXI_FUNCTION(0x0, "gpio_in"), > @@ -595,7 +595,7 @@ static const struct sunxi_desc_pin a100_pins[] = { > SUNXI_FUNCTION(0x2, "uart3"), /* CTS */ > SUNXI_FUNCTION(0x3, "spi1"), /* MISO */ > SUNXI_FUNCTION(0x4, "spdif"), /* OUT */ > - SUNXI_FUNCTION(0x5, "emac"), /* TXCTL */ > + SUNXI_FUNCTION(0x5, "emac0"), /* TXCTL */ > SUNXI_FUNCTION_IRQ_BANK(0x6, 6, 7)), > SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 8), > SUNXI_FUNCTION(0x0, "gpio_in"), > @@ -611,7 +611,7 @@ static const struct sunxi_desc_pin a100_pins[] = { > SUNXI_FUNCTION(0x2, "dmic"), /* DATA0 */ > SUNXI_FUNCTION(0x3, "spi2"), /* CLK */ > SUNXI_FUNCTION(0x4, "i2s2"), /* BCLK */ > - SUNXI_FUNCTION(0x5, "emac"), /* MDC */ > + SUNXI_FUNCTION(0x5, "emac0"), /* MDC */ > SUNXI_FUNCTION_IRQ_BANK(0x6, 6, 9)), > SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 10), > SUNXI_FUNCTION(0x0, "gpio_in"), > @@ -619,7 +619,7 @@ static const struct sunxi_desc_pin a100_pins[] = { > SUNXI_FUNCTION(0x2, "dmic"), /* DATA1 */ > SUNXI_FUNCTION(0x3, "spi2"), /* MOSI */ > SUNXI_FUNCTION(0x4, "i2s2"), /* LRCK */ > - SUNXI_FUNCTION(0x5, "emac"), /* MDIO */ > + SUNXI_FUNCTION(0x5, "emac0"), /* MDIO */ > SUNXI_FUNCTION_IRQ_BANK(0x6, 6, 10)), > SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 11), > SUNXI_FUNCTION(0x0, "gpio_in"), > @@ -642,33 +642,33 @@ static const struct sunxi_desc_pin a100_pins[] = { > SUNXI_FUNCTION(0x1, "gpio_out"), > SUNXI_FUNCTION(0x3, "i2c3"), /* SCK */ > SUNXI_FUNCTION(0x4, "i2s3"), /* MCLK */ > - SUNXI_FUNCTION(0x5, "emac"), /* EPHY */ > + SUNXI_FUNCTION(0x5, "emac0"), /* EPHY */ > SUNXI_FUNCTION_IRQ_BANK(0x6, 6, 13)), > SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 14), > SUNXI_FUNCTION(0x0, "gpio_in"), > SUNXI_FUNCTION(0x1, "gpio_out"), > SUNXI_FUNCTION(0x4, "i2s3"), /* BCLK */ > - SUNXI_FUNCTION(0x5, "emac"), /* RXD3 */ > + SUNXI_FUNCTION(0x5, "emac0"), /* RXD3 */ > SUNXI_FUNCTION_IRQ_BANK(0x6, 6, 14)), > SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 15), > SUNXI_FUNCTION(0x0, "gpio_in"), > SUNXI_FUNCTION(0x1, "gpio_out"), > SUNXI_FUNCTION(0x4, "i2s3"), /* LRCK */ > - SUNXI_FUNCTION(0x5, "emac"), /* RXD2 */ > + SUNXI_FUNCTION(0x5, "emac0"), /* RXD2 */ > SUNXI_FUNCTION_IRQ_BANK(0x6, 6, 15)), > SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 16), > SUNXI_FUNCTION(0x0, "gpio_in"), > SUNXI_FUNCTION(0x1, "gpio_out"), > SUNXI_FUNCTION(0x3, "i2s3_dout0"), /* DOUT0 */ > SUNXI_FUNCTION(0x4, "i2s3_din1"), /* DIN1 */ > - SUNXI_FUNCTION(0x5, "emac"), /* RXCK */ > + SUNXI_FUNCTION(0x5, "emac0"), /* RXCK */ > SUNXI_FUNCTION_IRQ_BANK(0x6, 6, 16)), > SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 17), > SUNXI_FUNCTION(0x0, "gpio_in"), > SUNXI_FUNCTION(0x1, "gpio_out"), > SUNXI_FUNCTION(0x3, "i2s3_dout1"), /* DOUT1 */ > SUNXI_FUNCTION(0x4, "i2s3_din0"), /* DIN0 */ > - SUNXI_FUNCTION(0x5, "emac"), /* TXD3 */ > + SUNXI_FUNCTION(0x5, "emac0"), /* TXD3 */ > SUNXI_FUNCTION_IRQ_BANK(0x6, 6, 17)), > SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 18), > SUNXI_FUNCTION(0x0, "gpio_in"), > @@ -676,7 +676,7 @@ static const struct sunxi_desc_pin a100_pins[] = { > SUNXI_FUNCTION(0x2, "cir0"), /* OUT */ > SUNXI_FUNCTION(0x3, "i2s3_dout2"), /* DOUT2 */ > SUNXI_FUNCTION(0x4, "i2s3_din2"), /* DIN2 */ > - SUNXI_FUNCTION(0x5, "emac"), /* TXD2 */ > + SUNXI_FUNCTION(0x5, "emac0"), /* TXD2 */ > SUNXI_FUNCTION_IRQ_BANK(0x6, 6, 18)), > SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 19), > SUNXI_FUNCTION(0x0, "gpio_in"),