Lines Matching refs:port

82 			   u16 usbspd, u8 upphub, u8 hubport, int port)
87 val = (upphub << 11) | (hubport << 8) | (usbspd << 6) | (port & 0x0001);
149 static void r8a66597_enable_port(struct r8a66597 *r8a66597, int port)
153 val = port ? DRPD : DCFM | DRPD;
154 r8a66597_bset(r8a66597, val, get_syscfg_reg(port));
155 r8a66597_bset(r8a66597, HSE, get_syscfg_reg(port));
157 r8a66597_write(r8a66597, BURST | CPU_ADR_RD_WR, get_dmacfg_reg(port));
158 r8a66597_bclr(r8a66597, DTCHE, get_intenb_reg(port));
159 r8a66597_bset(r8a66597, ATTCHE, get_intenb_reg(port));
162 static void r8a66597_disable_port(struct r8a66597 *r8a66597, int port)
166 r8a66597_write(r8a66597, 0, get_intenb_reg(port));
167 r8a66597_write(r8a66597, 0, get_intsts_reg(port));
169 r8a66597_port_power(r8a66597, port, 0);
176 val = port ? DRPD : DCFM | DRPD;
177 r8a66597_bclr(r8a66597, val, get_syscfg_reg(port));
178 r8a66597_bclr(r8a66597, HSE, get_syscfg_reg(port));
183 int ret, port;
207 for (port = 0; port < r8a66597->max_root_hub; port++)
208 r8a66597_enable_port(r8a66597, port);
215 int port;
229 for (port = 0; port < r8a66597->max_root_hub; port++)
230 r8a66597_disable_port(r8a66597, port);
266 printk(KERN_ERR "r8a66597: Illegal root port number.\n");
419 int port;
439 for (port = 0; port < r8a66597->max_root_hub; port++) {
440 if (r8a66597->root_hub[port].dev == dev) {
441 r8a66597->root_hub[port].dev = NULL;
1008 static void start_root_hub_sampling(struct r8a66597 *r8a66597, int port,
1011 struct r8a66597_root_hub *rh = &r8a66597->root_hub[port];
1013 rh->old_syssts = r8a66597_read(r8a66597, get_syssts_reg(port)) & LNST;
1016 rh->port |= USB_PORT_STAT_CONNECTION;
1018 rh->port &= ~USB_PORT_STAT_CONNECTION;
1019 rh->port |= USB_PORT_STAT_C_CONNECTION << 16;
1025 static void r8a66597_check_syssts(struct r8a66597 *r8a66597, int port,
1031 r8a66597_write(r8a66597, ~ATTCH, get_intsts_reg(port));
1032 r8a66597_bset(r8a66597, ATTCHE, get_intenb_reg(port));
1035 r8a66597_bset(r8a66597, HSE, get_syscfg_reg(port));
1037 r8a66597_bclr(r8a66597, HSE, get_syscfg_reg(port));
1039 r8a66597_write(r8a66597, ~DTCH, get_intsts_reg(port));
1040 r8a66597_bset(r8a66597, DTCHE, get_intenb_reg(port));
1052 static void r8a66597_usb_connect(struct r8a66597 *r8a66597, int port)
1054 u16 speed = get_rh_usb_speed(r8a66597, port);
1055 struct r8a66597_root_hub *rh = &r8a66597->root_hub[port];
1057 rh->port &= ~(USB_PORT_STAT_HIGH_SPEED | USB_PORT_STAT_LOW_SPEED);
1059 rh->port |= USB_PORT_STAT_HIGH_SPEED;
1061 rh->port |= USB_PORT_STAT_LOW_SPEED;
1063 rh->port &= ~USB_PORT_STAT_RESET;
1064 rh->port |= USB_PORT_STAT_ENABLE;
1068 static void r8a66597_usb_disconnect(struct r8a66597 *r8a66597, int port)
1070 struct r8a66597_device *dev = r8a66597->root_hub[port].dev;
1075 start_root_hub_sampling(r8a66597, port, 0);
1698 static void r8a66597_root_hub_control(struct r8a66597 *r8a66597, int port)
1701 struct r8a66597_root_hub *rh = &r8a66597->root_hub[port];
1703 if (rh->port & USB_PORT_STAT_RESET) {
1704 unsigned long dvstctr_reg = get_dvstctr_reg(port);
1712 r8a66597_usb_connect(r8a66597, port);
1715 if (!(rh->port & USB_PORT_STAT_CONNECTION)) {
1716 r8a66597_write(r8a66597, ~ATTCH, get_intsts_reg(port));
1717 r8a66597_bset(r8a66597, ATTCHE, get_intenb_reg(port));
1721 tmp = r8a66597_read(r8a66597, get_syssts_reg(port)) & LNST;
1725 r8a66597_check_syssts(r8a66597, port, tmp);
1814 int port;
1818 for (port = 0; port < r8a66597->max_root_hub; port++)
1819 r8a66597_root_hub_control(r8a66597, port);
2127 if (r8a66597->root_hub[i].port & 0xffff0000)
2155 int port = (wIndex & 0x00FF) - 1;
2156 struct r8a66597_root_hub *rh = &r8a66597->root_hub[port];
2181 rh->port &= ~USB_PORT_STAT_POWER;
2186 r8a66597_port_power(r8a66597, port, 0);
2197 rh->port &= ~(1 << wValue);
2209 *(__le32 *)buf = cpu_to_le32(rh->port);
2221 r8a66597_port_power(r8a66597, port, 1);
2222 rh->port |= USB_PORT_STAT_POWER;
2227 rh->port |= USB_PORT_STAT_RESET;
2233 get_dvstctr_reg(port));
2241 rh->port |= 1 << wValue;
2257 int port;
2261 for (port = 0; port < r8a66597->max_root_hub; port++) {
2262 struct r8a66597_root_hub *rh = &r8a66597->root_hub[port];
2263 unsigned long dvstctr_reg = get_dvstctr_reg(port);
2265 if (!(rh->port & USB_PORT_STAT_ENABLE))
2268 dev_dbg(&rh->dev->udev->dev, "suspend port = %d\n", port);
2270 rh->port |= USB_PORT_STAT_SUSPEND;
2275 r8a66597_write(r8a66597, ~BCHG, get_intsts_reg(port));
2276 r8a66597_bset(r8a66597, BCHGE, get_intenb_reg(port));
2288 int port;
2292 for (port = 0; port < r8a66597->max_root_hub; port++) {
2293 struct r8a66597_root_hub *rh = &r8a66597->root_hub[port];
2294 unsigned long dvstctr_reg = get_dvstctr_reg(port);
2296 if (!(rh->port & USB_PORT_STAT_SUSPEND))
2299 dev_dbg(&rh->dev->udev->dev, "resume port = %d\n", port);
2300 rh->port &= ~USB_PORT_STAT_SUSPEND;
2301 rh->port |= USB_PORT_STAT_C_SUSPEND << 16;
2353 int port;
2359 for (port = 0; port < r8a66597->max_root_hub; port++) {
2360 struct r8a66597_root_hub *rh = &r8a66597->root_hub[port];
2362 rh->port = 0x00000000;