carl9170 firmware: implement endpoint halt req/clear and get endpoint status
[carl9170fw.git] / carlfw / include / usb.h
index cea1d4da90e00ef5eec51edb6f1dad42cc59e670..fb258bf16bd37be843d3542f26fa771c921e76b4 100644 (file)
@@ -141,6 +141,12 @@ static inline __inline void usb_clear_input_ep_toggle(unsigned int ep)
             ~AR9170_USB_EP_IN_TOGGLE);
 }
 
+static inline __inline void usb_clear_input_ep_stall(unsigned int ep)
+{
+       andl(AR9170_USB_REG_EP_IN_MAX_SIZE_HIGH + (ep << 1),
+            ~AR9170_USB_EP_IN_STALL);
+}
+
 static inline __inline void usb_set_input_ep_toggle(unsigned int ep)
 {
        orl(AR9170_USB_REG_EP_IN_MAX_SIZE_HIGH + (ep << 1),
@@ -159,6 +165,12 @@ static inline __inline void usb_set_output_ep_toggle(unsigned int ep)
            AR9170_USB_EP_OUT_TOGGLE);
 }
 
+static inline __inline void usb_clear_output_ep_stall(unsigned int ep)
+{
+       andl(AR9170_USB_REG_EP_OUT_MAX_SIZE_HIGH + (ep << 1),
+            ~AR9170_USB_EP_OUT_STALL);
+}
+
 static inline void usb_structure_check(void)
 {
        BUILD_BUG_ON(sizeof(struct usb_config_descriptor) != USB_DT_CONFIG_SIZE);