1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2025-01-23 04:21:05 +02:00

backfire: generic: rtl8366s: allow initial register values to be passed via platform_data (backport of r25120)

git-svn-id: svn://svn.openwrt.org/openwrt/branches/backfire@25256 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
juhosg 2011-01-30 21:15:02 +00:00
parent d1969247b0
commit 04144c111c
2 changed files with 18 additions and 0 deletions

View File

@ -251,8 +251,19 @@ static int rtl8366s_reset_chip(struct rtl8366_smi *smi)
static int rtl8366s_hw_init(struct rtl8366_smi *smi)
{
struct rtl8366s_platform_data *pdata;
int err;
pdata = smi->parent->platform_data;
if (pdata->num_initvals && pdata->initvals) {
unsigned i;
dev_info(smi->parent, "applying initvals\n");
for (i = 0; i < pdata->num_initvals; i++)
REG_WR(smi, pdata->initvals[i].reg,
pdata->initvals[i].val);
}
/* set maximum packet length to 1536 bytes */
REG_RMW(smi, RTL8366S_SGCR, RTL8366S_SGCR_MAX_LENGTH_MASK,
RTL8366S_SGCR_MAX_LENGTH_1536);

View File

@ -13,9 +13,16 @@
#define RTL8366S_DRIVER_NAME "rtl8366s"
struct rtl8366s_initval {
unsigned reg;
u16 val;
};
struct rtl8366s_platform_data {
unsigned gpio_sda;
unsigned gpio_sck;
unsigned num_initvals;
struct rtl8366s_initval *initvals;
};
#endif /* _RTL8366_SMI_H */