X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/14f9ab7993b9e07f16cc3e10dd4f8da3a32d79f2..c4c471bd64f890f871dcbfb849a0a148acfcecfd:/target/linux/generic/files/drivers/net/phy/rtl8366_smi.h diff --git a/target/linux/generic/files/drivers/net/phy/rtl8366_smi.h b/target/linux/generic/files/drivers/net/phy/rtl8366_smi.h index 7239cf9fa..8b1a70dca 100644 --- a/target/linux/generic/files/drivers/net/phy/rtl8366_smi.h +++ b/target/linux/generic/files/drivers/net/phy/rtl8366_smi.h @@ -32,6 +32,9 @@ struct rtl8366_smi { struct device *parent; unsigned int gpio_sda; unsigned int gpio_sck; + unsigned int clk_delay; /* ns */ + u8 cmd_read; + u8 cmd_write; spinlock_t lock; struct mii_bus *mii_bus; int mii_irq[PHY_MAX_ADDR]; @@ -58,16 +61,16 @@ struct rtl8366_smi { struct rtl8366_vlan_mc { u16 vid; - u8 priority; - u8 untag; - u8 member; + u16 untag; + u16 member; u8 fid; + u8 priority; }; struct rtl8366_vlan_4k { u16 vid; - u8 untag; - u8 member; + u16 untag; + u16 member; u8 fid; }; @@ -100,10 +103,13 @@ struct rtl8366_smi *rtl8366_smi_alloc(struct device *parent); int rtl8366_smi_init(struct rtl8366_smi *smi); void rtl8366_smi_cleanup(struct rtl8366_smi *smi); int rtl8366_smi_write_reg(struct rtl8366_smi *smi, u32 addr, u32 data); +int rtl8366_smi_write_reg_noack(struct rtl8366_smi *smi, u32 addr, u32 data); int rtl8366_smi_read_reg(struct rtl8366_smi *smi, u32 addr, u32 *data); int rtl8366_smi_rmwr(struct rtl8366_smi *smi, u32 addr, u32 mask, u32 data); int rtl8366_reset_vlan(struct rtl8366_smi *smi); +int rtl8366_enable_vlan(struct rtl8366_smi *smi, int enable); +int rtl8366_enable_all_ports(struct rtl8366_smi *smi, int enable); #ifdef CONFIG_RTL8366S_PHY_DEBUG_FS int rtl8366_debugfs_open(struct inode *inode, struct file *file);