Changeset 04c418d in mainline for uspace/drv/ohci
- Timestamp:
- 2011-05-17T07:58:39Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 7d521e24
- Parents:
- e913cc9 (diff), 3375bd4 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- uspace/drv/ohci
- Files:
-
- 9 edited
-
batch.h (modified) (1 diff)
-
endpoint_list.h (modified) (1 diff)
-
iface.h (modified) (1 diff)
-
ohci.h (modified) (1 diff)
-
ohci_regs.h (modified) (1 diff)
-
pci.h (modified) (1 diff)
-
root_hub.c (modified) (7 diffs)
-
root_hub.h (modified) (1 diff)
-
utils/malloc32.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/ohci/batch.h
re913cc9 r04c418d 26 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 27 */ 28 /** @addtogroup drvusb uhcihc28 /** @addtogroup drvusbohci 29 29 * @{ 30 30 */ 31 31 /** @file 32 * @brief UHCI driver USB transaction structure32 * @brief OHCI driver USB transaction structure 33 33 */ 34 #ifndef DRV_ UHCI_BATCH_H35 #define DRV_ UHCI_BATCH_H34 #ifndef DRV_OHCI_BATCH_H 35 #define DRV_OHCI_BATCH_H 36 36 37 37 #include <usbhc_iface.h> -
uspace/drv/ohci/endpoint_list.h
re913cc9 r04c418d 41 41 #include "utils/malloc32.h" 42 42 43 typedef struct endpoint_list 44 { 43 typedef struct endpoint_list { 45 44 fibril_mutex_t guard; 46 45 ed_t *list_head; -
uspace/drv/ohci/iface.h
re913cc9 r04c418d 26 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 27 */ 28 29 28 /** @addtogroup drvusbohci 30 29 * @{ -
uspace/drv/ohci/ohci.h
re913cc9 r04c418d 26 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 27 */ 28 29 28 /** @addtogroup drvusbohci 30 29 * @{ -
uspace/drv/ohci/ohci_regs.h
re913cc9 r04c418d 26 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 27 */ 28 29 28 /** @addtogroup drvusbohcihc 30 29 * @{ -
uspace/drv/ohci/pci.h
re913cc9 r04c418d 26 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 27 */ 28 29 28 /** @addtogroup drvusbohci 30 29 * @{ -
uspace/drv/ohci/root_hub.c
re913cc9 r04c418d 41 41 #include "usb/classes/classes.h" 42 42 #include "usb/devdrv.h" 43 #include "ohci_regs.h" 44 43 45 #include <usb/request.h> 44 46 #include <usb/classes/hub.h> … … 109 111 */ 110 112 static const uint32_t hub_clear_feature_valid_mask = 111 (1 << USB_HUB_FEATURE_C_HUB_LOCAL_POWER)|112 (1 << USB_HUB_FEATURE_C_HUB_OVER_CURRENT);113 RHS_OCIC_FLAG | 114 RHS_CLEAR_PORT_POWER; 113 115 114 116 /** … … 116 118 */ 117 119 static const uint32_t hub_clear_feature_by_writing_one_mask = 118 1 << USB_HUB_FEATURE_C_HUB_LOCAL_POWER; 120 RHS_CLEAR_PORT_POWER; 121 // 1 << USB_HUB_FEATURE_C_HUB_LOCAL_POWER; 119 122 120 123 /** … … 122 125 */ 123 126 static const uint32_t hub_set_feature_valid_mask = 124 (1 << USB_HUB_FEATURE_C_HUB_OVER_CURRENT) | 125 (1 << USB_HUB_FEATURE_C_HUB_LOCAL_POWER); 127 RHS_LPSC_FLAG | 128 RHS_OCIC_FLAG; 129 //(1 << USB_HUB_FEATURE_C_HUB_OVER_CURRENT) | 130 //(1 << USB_HUB_FEATURE_C_HUB_LOCAL_POWER); 126 131 127 132 /** … … 129 134 */ 130 135 static const uint32_t hub_set_feature_direct_mask = 131 (1 << USB_HUB_FEATURE_C_HUB_OVER_CURRENT); 136 RHS_SET_PORT_POWER; 137 //(1 << USB_HUB_FEATURE_C_HUB_OVER_CURRENT); 132 138 133 139 /** … … 135 141 */ 136 142 static const uint32_t port_set_feature_valid_mask = 137 (1 << USB_HUB_FEATURE_PORT_ENABLE)|138 (1 << USB_HUB_FEATURE_PORT_SUSPEND)|139 (1 << USB_HUB_FEATURE_PORT_RESET)|140 (1 << USB_HUB_FEATURE_PORT_POWER);143 RHPS_SET_PORT_ENABLE | 144 RHPS_SET_PORT_SUSPEND | 145 RHPS_SET_PORT_RESET | 146 RHPS_SET_PORT_POWER; 141 147 142 148 /** … … 144 150 */ 145 151 static const uint32_t port_clear_feature_valid_mask = 152 RHPS_CCS_FLAG | 153 RHPS_SET_PORT_SUSPEND | 154 RHPS_POCI_FLAG | 155 RHPS_SET_PORT_POWER | 156 RHPS_CSC_FLAG | 157 RHPS_PESC_FLAG | 158 RHPS_PSSC_FLAG | 159 RHPS_OCIC_FLAG | 160 RHPS_PRSC_FLAG; 161 162 /* 163 146 164 (1 << USB_HUB_FEATURE_PORT_CONNECTION) | 147 (1 << USB_HUB_FEATURE_PORT_SUSPEND) | 148 (1 << USB_HUB_FEATURE_PORT_OVER_CURRENT) | 149 (1 << USB_HUB_FEATURE_PORT_POWER) | 150 (1 << USB_HUB_FEATURE_C_PORT_CONNECTION) | 151 (1 << USB_HUB_FEATURE_C_PORT_ENABLE) | 152 (1 << USB_HUB_FEATURE_C_PORT_SUSPEND) | 153 (1 << USB_HUB_FEATURE_C_PORT_OVER_CURRENT) | 154 (1 << USB_HUB_FEATURE_C_PORT_RESET); 165 (1 << USB_HUB_FEATURE_PORT_SUSPEND) | 166 (1 << USB_HUB_FEATURE_PORT_OVER_CURRENT) | 167 (1 << USB_HUB_FEATURE_PORT_POWER) | 168 (1 << USB_HUB_FEATURE_C_PORT_CONNECTION) | 169 (1 << USB_HUB_FEATURE_C_PORT_ENABLE) | 170 (1 << USB_HUB_FEATURE_C_PORT_SUSPEND) | 171 (1 << USB_HUB_FEATURE_C_PORT_OVER_CURRENT) | 172 (1 << USB_HUB_FEATURE_C_PORT_RESET); 173 */ 155 174 //note that USB_HUB_FEATURE_PORT_POWER bit is translated into 156 //USB_HUB_FEATURE_PORT_LOW_SPEED 175 //USB_HUB_FEATURE_PORT_LOW_SPEED for port set feature request 157 176 158 177 /** 159 178 * bitmask with port status changes 160 179 */ 161 static const uint32_t port_status_change_mask = 162 (1 << USB_HUB_FEATURE_C_PORT_CONNECTION) |163 (1 << USB_HUB_FEATURE_C_PORT_ENABLE) |164 (1 << USB_HUB_FEATURE_C_PORT_OVER_CURRENT) |165 (1 << USB_HUB_FEATURE_C_PORT_RESET) |166 (1 << USB_HUB_FEATURE_C_PORT_SUSPEND);167 180 static const uint32_t port_status_change_mask = RHPS_CHANGE_WC_MASK; 181 /* (1 << USB_HUB_FEATURE_C_PORT_CONNECTION) | 182 (1 << USB_HUB_FEATURE_C_PORT_ENABLE) | 183 (1 << USB_HUB_FEATURE_C_PORT_OVER_CURRENT) | 184 (1 << USB_HUB_FEATURE_C_PORT_RESET) | 185 (1 << USB_HUB_FEATURE_C_PORT_SUSPEND); 186 */ 168 187 169 188 static int create_serialized_hub_descriptor(rh_t *instance); -
uspace/drv/ohci/root_hub.h
re913cc9 r04c418d 26 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 27 */ 28 29 28 /** @addtogroup drvusbohci 30 29 * @{ -
uspace/drv/ohci/utils/malloc32.h
re913cc9 r04c418d 26 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 27 */ 28 /** @addtogroup usb28 /** @addtogroup drvusbohci 29 29 * @{ 30 30 */ 31 31 /** @file 32 * @brief UHCI driver32 * @brief OHCI driver 33 33 */ 34 #ifndef DRV_ UHCI_TRANSLATOR_H35 #define DRV_ UHCI_TRANSLATOR_H34 #ifndef DRV_OHCI_UTILS_MALLOC32_H 35 #define DRV_OHCI_UTILS_MALLOC32_H 36 36 37 37 #include <assert.h> … … 40 40 #include <mem.h> 41 41 #include <as.h> 42 43 #define UHCI_REQUIRED_PAGE_SIZE 409644 42 45 43 /** Get physical address translation … … 61 59 * 62 60 * @param[in] size Size of the required memory space 63 * @return Address of the al ligned and big enough memory place, NULL on failure.61 * @return Address of the aligned and big enough memory place, NULL on failure. 64 62 */ 65 63 static inline void * malloc32(size_t size) … … 72 70 static inline void free32(void *addr) 73 71 { if (addr) free(addr); } 74 /*----------------------------------------------------------------------------*/75 /** Create 4KB page mapping76 *77 * @return Address of the mapped page, NULL on failure.78 */79 static inline void * get_page(void)80 {81 void * free_address = as_get_mappable_page(UHCI_REQUIRED_PAGE_SIZE);82 assert(free_address);83 if (free_address == 0)84 return NULL;85 void* ret =86 as_area_create(free_address, UHCI_REQUIRED_PAGE_SIZE,87 AS_AREA_READ | AS_AREA_WRITE);88 if (ret != free_address)89 return NULL;90 return ret;91 }92 93 72 #endif 94 73 /**
Note:
See TracChangeset
for help on using the changeset viewer.
