Re: [PATCH net-next 1/5] net: dsa: b53: Add support for Broadcom RoboSwitch
From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2016-06-10 18:49:10
On 06/10/2016 05:11 AM, Andrew Lunn wrote:
quoted
+static void b53_switch_reset_gpio(struct b53_device *dev) +{ + int gpio = dev->reset_gpio; + + if (gpio < 0) + return; + + /* Reset sequence: RESET low(50ms)->high(20ms) + */ + gpio_set_value(gpio, 0); + mdelay(50); + + gpio_set_value(gpio, 1); + mdelay(20); + + dev->current_page = 0xff; +}Hi Florian It would be better to use the gpiod API here, so the active hi/active low flag is respected.
OK.
quoted
+ dev->reset_gpio = b53_switch_get_reset_gpio(dev); + if (dev->reset_gpio >= 0) { + ret = devm_gpio_request_one(dev->dev, dev->reset_gpio, + GPIOF_OUT_INIT_HIGH, "robo_reset"); + if (ret) + return ret; + } + + return 0; +}quoted
+static inline int b53_switch_get_reset_gpio(struct b53_device *dev) +{ + enum bcm47xx_board board = bcm47xx_board_get(); + + switch (board) { + case BCM47XX_BOARD_LINKSYS_WRT300NV11: + case BCM47XX_BOARD_LINKSYS_WRT310NV1: + return 8;Rather than hard coding it, could we get it from device tree?
Difficult for now, this is for in-tree MIPS-based platforms under arch/mips/bcm47xx, which are using SSB/platform data. -- Florian