1f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas/*
2f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas * MDIO-GPIO bus platform data structures
3f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas *
4f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas * Copyright (C) 2008, Paulius Zaleckas <paulius.zaleckas@teltonika.lt>
5f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas *
6f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas * This file is licensed under the terms of the GNU General Public License
7f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas * version 2. This program is licensed "as is" without any warranty of any
8f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas * kind, whether express or implied.
9f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas */
10f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas
11f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas#ifndef __LINUX_MDIO_GPIO_H
12f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas#define __LINUX_MDIO_GPIO_H
13f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas
14f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas#include <linux/mdio-bitbang.h>
15f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas
16f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckasstruct mdio_gpio_platform_data {
17f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas	/* GPIO numbers for bus pins */
18f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas	unsigned int mdc;
19f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas	unsigned int mdio;
20f1d54c47502f42f5c4b89dacbe845ecd87ca002eGuenter Roeck	unsigned int mdo;
21f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas
221d2514818a2c3d94dd250e6027cb928a4e192548Guenter Roeck	bool mdc_active_low;
231d2514818a2c3d94dd250e6027cb928a4e192548Guenter Roeck	bool mdio_active_low;
24f1d54c47502f42f5c4b89dacbe845ecd87ca002eGuenter Roeck	bool mdo_active_low;
251d2514818a2c3d94dd250e6027cb928a4e192548Guenter Roeck
26f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas	unsigned int phy_mask;
27f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas	int irqs[PHY_MAX_ADDR];
2864882709ef07f3eae29c7afc5aa8b84d12733a72Srinivas Kandagatla	/* reset callback */
2964882709ef07f3eae29c7afc5aa8b84d12733a72Srinivas Kandagatla	int (*reset)(struct mii_bus *bus);
30f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas};
31f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas
32f004f3ea34209d8b836426b26ade3dc502631b18Paulius Zaleckas#endif /* __LINUX_MDIO_GPIO_H */
33