summaryrefslogtreecommitdiff
path: root/src/usbh_driver_hub_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/usbh_driver_hub_private.h')
-rw-r--r--src/usbh_driver_hub_private.h123
1 files changed, 0 insertions, 123 deletions
diff --git a/src/usbh_driver_hub_private.h b/src/usbh_driver_hub_private.h
deleted file mode 100644
index 8c9bc44..0000000
--- a/src/usbh_driver_hub_private.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * This file is part of the libusbhost library
- * hosted at http://github.com/libusbhost/libusbhost
- *
- * Copyright (C) 2015 Amir Hammad <amir.hammad@hotmail.com>
- *
- *
- * libusbhost is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#ifndef USBH_DRIVER_HUB_PRIVATE_
-#define USBH_DRIVER_HUB_PRIVATE_
-
-#include "usbh_config.h"
-#include "driver/usbh_device_driver.h"
-#include "usbh_driver_hub.h"
-
-#include <stdint.h>
-#include <stdbool.h>
-#include <libopencm3/usb/usbstd.h>
-
-
-// # HUB DEFINITIONS
-#define HUB_FEATURE_PORT_CONNECTION 0
-#define HUB_FEATURE_PORT_ENABLE 1
-#define HUB_FEATURE_PORT_SUSPEND 2
-#define HUB_FEATURE_PORT_OVERCURRENT 3
-#define HUB_FEATURE_PORT_RESET 4
-#define HUB_FEATURE_PORT_POWER 8
-#define HUB_FEATURE_PORT_LOWSPEED 9
-#define HUB_FEATURE_PORT_HIGHSPEED 10
-
-#define HUB_FEATURE_C_PORT_CONNECTION 16
-#define HUB_FEATURE_C_PORT_ENABLE 17
-#define HUB_FEATURE_C_PORT_SUSPEND 18
-#define HUB_FEATURE_C_PORT_OVERCURRENT 19
-#define HUB_FEATURE_C_PORT_RESET 20
-
-#define HUB_REQ_GET_STATUS 0
-#define HUB_REQ_CLEAR_FEATURE 1
-#define HUB_REQ_SET_FEATURE 3
-#define HUB_REQ_GET_DESCRIPTOR 6
-
-#define USB_DT_HUB (41)
-#define USB_DT_HUB_SIZE (9)
-// Hub buffer: must be larger than hub descriptor
-#define USBH_HUB_BUFFER_SIZE (USB_DT_HUB_SIZE)
-
-
-#define CURRENT_PORT_NONE -1
-
-enum EVENT_STATE {
- EVENT_STATE_NONE,
- EVENT_STATE_INITIAL,
- EVENT_STATE_POLL_REQ,
- EVENT_STATE_POLL,
- EVENT_STATE_READ_HUB_DESCRIPTOR_COMPLETE,
- EVENT_STATE_ENABLE_PORTS,
- EVENT_STATE_GET_PORT_STATUS,
- EVENT_STATE_PORT_RESET_REQ,
- EVENT_STATE_PORT_RESET_COMPLETE,
- EVENT_STATE_SLEEP_500_MS,
- EVENT_STATE_GET_STATUS_COMPLETE,
-};
-
-struct _hub_device {
- usbh_device_t *device[USBH_HUB_MAX_DEVICES + 1];
- uint8_t buffer[USBH_HUB_BUFFER_SIZE];
- uint16_t endpoint_in_maxpacketsize;
- uint8_t endpoint_in_address;
- uint8_t endpoint_in_toggle;
- enum EVENT_STATE state;
-
- uint8_t desc_len;
- uint16_t ports_num;
- int8_t index;
- int8_t current_port;
-
- struct {
- uint16_t sts;
- uint16_t stc;
- } hub_and_port_status[USBH_HUB_MAX_DEVICES + 1];
-
- bool busy;
-
- uint32_t time_curr_us;
- uint32_t timestamp_us;
-};
-
-typedef struct _hub_device hub_device_t;
-
-struct usb_hub_descriptor_head {
- uint8_t bDescLength;
- uint8_t bDescriptorType;
- uint8_t bNbrPorts;
- uint16_t wHubCharacteristics;
- uint8_t bPwrOn2PwrGood;
- uint8_t bHubContrCurrent;
-} __attribute__((packed));
-struct usb_hub_descriptor_body {
- uint8_t bDeviceRemovable;
- uint8_t PortPwrCtrlMask;
-} __attribute__((packed));
-
-// for hubs with up to 7 ports on hub
-struct usb_hub_descriptor {
- struct usb_hub_descriptor_head head;
- struct usb_hub_descriptor_body body[1];
-} __attribute__((packed));
-
-#endif