[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z9Mp86eWYw3hgt0x@a98shuttle.de>
Date: Thu, 13 Mar 2025 19:54:43 +0100
From: Michael Klein <michael@...sekall.de>
To: Andrew Lunn <andrew@...n.ch>
Cc: Heiner Kallweit <hkallweit1@...il.com>,
Russell King <linux@...linux.org.uk>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2] net: phy: realtek: Add support for PHY LEDs on
RTL8211E
On Thu, Mar 13, 2025 at 05:45:05PM +0100, Andrew Lunn wrote:
>On Wed, Mar 12, 2025 at 08:36:27PM +0100, Michael Klein wrote:
>> Like the RTL8211F, the RTL8211E PHY supports up to three LEDs.
>> Add netdev trigger support for them, too.
>>
>> Signed-off-by: Michael Klein <michael@...sekall.de>
>> ---
>> drivers/net/phy/realtek.c | 120 ++++++++++++++++++++++++++++++++++++--
>
>What tree is this based on?
This was based on mainline, will be addressed in the next version.
>> +static int rtl8211e_led_hw_control_get(struct phy_device *phydev, u8 index,
>> + unsigned long *rules)
>> +{
>> + int oldpage, ret;
>> + u16 cr1, cr2;
>> +
>> + if (index >= RTL8211x_LED_COUNT)
>> + return -EINVAL;
>> +
>> + oldpage = phy_select_page(phydev, 0x7);
>> + if (oldpage < 0)
>> + goto err_restore_page;
>> +
>> + ret = __phy_write(phydev, RTL821x_EXT_PAGE_SELECT, 0x2c);
>> + if (ret)
>> + goto err_restore_page;
>
>What is happening here? You select page 0x7, and then use
>RTL821x_EXT_PAGE_SELECT to select 0x2c? Does this hardware have pages
>within pages?
Kind of; this is from the datasheet:
6.9.5. Access to Extension Page (ExtPage)
Set MDIO commands as shown below to switch to the Extension Page (ExtPage) 0xXY (in Hex).
1. Set Register 31 Data=0x0007 (set to Extension Page)
2. Set Register 30 Data=0x00XY (Extension Page XY)
3. Set the target Register Data
4. Set Register 31 Data=0x0000 (switch to Page 0)
Register 30 is RTL821x_EXT_PAGE_SELECT, LED config registers are on
extension page 0x2c
--
Michael
Powered by blists - more mailing lists