USB device stack - Added support for the logo/windows key to USB keyboard.

Dependents:   randomSearch

Fork of USBDevice by mbed official

Revision:
46:378357d7e90d
Parent:
45:0f216c4e75e5
Child:
47:a0cd9646ecd1
--- a/USBDevice/TARGET_RENESAS/TARGET_RZ_A1H/src/function/usb0_function_api.c	Thu Mar 26 14:30:20 2015 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,441 +0,0 @@
-/*******************************************************************************
-* DISCLAIMER
-* This software is supplied by Renesas Electronics Corporation and is only
-* intended for use with Renesas products. No other uses are authorized. This
-* software is owned by Renesas Electronics Corporation and is protected under
-* all applicable laws, including copyright laws.
-* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
-* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
-* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
-* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
-* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
-* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
-* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR
-* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
-* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-* Renesas reserves the right, without notice, to make changes to this software
-* and to discontinue the availability of this software. By using this software,
-* you agree to the additional terms and conditions found by accessing the
-* following link:
-* http://www.renesas.com/disclaimer
-* Copyright (C) 2012 - 2014 Renesas Electronics Corporation. All rights reserved.
-*******************************************************************************/
-/*******************************************************************************
-* File Name    : usb0_function_api.c
-* $Rev: 1116 $
-* $Date:: 2014-07-09 16:29:19 +0900#$
-* Device(s)    : RZ/A1H
-* Tool-Chain   :
-* OS           : None
-* H/W Platform :
-* Description  : RZ/A1H R7S72100 USB Sample Program
-* Operation    :
-* Limitations  :
-*******************************************************************************/
-
-
-/*******************************************************************************
-Includes   <System Includes> , "Project Includes"
-*******************************************************************************/
-#include "usb0_function.h"
-#include "dev_drv.h"
-
-
-/*******************************************************************************
-Typedef definitions
-*******************************************************************************/
-
-
-/*******************************************************************************
-Macro definitions
-*******************************************************************************/
-
-
-/*******************************************************************************
-Imported global variables and functions (from other files)
-*******************************************************************************/
-
-
-/*******************************************************************************
-Exported global variables and functions (to be accessed by other files)
-*******************************************************************************/
-
-
-/*******************************************************************************
-Private global variables and functions
-*******************************************************************************/
-
-
-/*******************************************************************************
-* Function Name: usb0_api_function_init
-* Description  : Initializes the USB module in the USB function mode.
-* Arguments    : uint8_t  int_level ; interruput level
-*              : uint16_t mode      : Speed modes
-*              :                    :  USB_FUCNTION_HIGH_SPEED: High-speed device
-*              :                    :  USB_FUCNTION_FULL_SPEED: Full-speed device
-*              : uint16_t clockmode ; 48MHz ; USBFCLOCK_X1_48MHZ
-*              :                    ; 12MHz ; USBFCLOCK_EXTAL_12MHZ
-* Return Value : none
-*******************************************************************************/
-#if 0
-void usb0_api_function_init (uint8_t int_level, uint16_t mode, uint16_t clockmode)
-{
-    volatile uint8_t dummy_buf;
-
-    CPG.STBCR7  &= 0xfd;                        /* The clock of USB0 modules is permitted */
-    dummy_buf   = CPG.STBCR7;                   /* (Dummy read) */
-
-    usb0_function_setting_interrupt(int_level);
-
-    usb0_function_reset_module(clockmode);      /* reset USB module with setting tranciever */
-                                                /* and HSE=1                                */
-
-    usb0_function_init_status();                /* clear variables                          */
-
-    usb0_function_InitModule(mode);             /* select USB Function and Interrupt Enable */
-                                                /* Detect USB Device to attach or detach    */
-}
-#endif
-
-/*******************************************************************************
-* Function Name: usb0_api_function_IsConfigured
-* Description  : Checks if the USB device is configured to return the result as
-*              : the return value.
-* Arguments    : none
-* Return Value : DEVDRV_USBF_YES  : Configured & Configured Suspend
-*              : DEVDRV_USBF_NO   : not Configured
-*******************************************************************************/
-uint16_t usb0_api_function_IsConfigured (void)
-{
-    uint16_t dvst;
-
-    dvst = usb0_function_GetDeviceState();
-
-    if ((dvst == USB_FUNCTION_DVST_CONFIGURED) ||
-        (dvst == USB_FUNCTION_DVST_CONFIGURED_SUSPEND))
-    {
-        return DEVDRV_USBF_YES;
-    }
-
-    return DEVDRV_USBF_NO;
-}
-
-/*******************************************************************************
-* Function Name: usb0_function_GetDeviceState
-* Description  : Returns the state of USB device.
-* Arguments    : none
-* Return Value : Device States
-*******************************************************************************/
-uint16_t usb0_function_GetDeviceState (void)
-{
-    uint16_t dvsq;
-    uint16_t dvst;
-
-    dvsq = USB200.INTSTS0;
-    switch(dvsq & USB_FUNCTION_BITDVSQ)
-    {
-        case USB_FUNCTION_DS_POWR:                      /* Power state *//* power-on */
-            dvst = USB_FUNCTION_DVST_POWERED;
-        break;
-
-        case USB_FUNCTION_DS_DFLT:                      /* Default state *//* bus-reset */
-            dvst = USB_FUNCTION_DVST_DEFAULT;
-        break;
-
-        case USB_FUNCTION_DS_ADDS:                      /* Address state */
-            dvst = USB_FUNCTION_DVST_ADDRESS;
-        break;
-
-        case USB_FUNCTION_DS_CNFG:                      /* Configured state */
-            dvst = USB_FUNCTION_DVST_CONFIGURED;
-        break;
-
-        case USB_FUNCTION_DS_SPD_CNFG:                  /* Configured Suspend state */
-            dvst = USB_FUNCTION_DVST_CONFIGURED_SUSPEND;
-        break;
-
-        case USB_FUNCTION_DS_SPD_POWR:                  /* Power      Suspend state */
-        case USB_FUNCTION_DS_SPD_DFLT:                  /* Default    Suspend state */
-        case USB_FUNCTION_DS_SPD_ADDR:                  /* Address    Suspend state */
-            dvst = USB_FUNCTION_DVST_SUSPEND;
-        break;
-
-        default:                                        /* error */
-            dvst = USB_FUNCTION_DVST_SUSPEND;
-        break;
-    }
-
-    return dvst;
-}
-
-/*******************************************************************************
-* Function Name: usb0_api_function_start_receive_transfer
-* Description  : Starts USB data reception using the pipe specified in the argument.
-*              : The FIFO for using is set in the pipe definition table.
-* Arguments    : uint16_t pipe      ; Pipe Number
-*              : uint32_t size      ; Data Size
-*              : uint8_t *data      ; Data data Address
-* Return Value : none
-*******************************************************************************/
-void usb0_api_function_start_receive_transfer (uint16_t pipe, uint32_t size, uint8_t * data)
-{
-    usb0_function_start_receive_transfer(pipe, size, data);
-}
-
-/*******************************************************************************
-* Function Name: usb0_api_function_start_send_transfer
-* Description  : Starts the USB data communication using pipe specified by the argument.
-* Arguments    : uint16_t pipe     ; Pipe Number
-*              : uint32_t size     ; Data Size
-*              : uint8_t *data     ; Data data Address
-* Return Value : DEVDRV_USBF_WRITEEND           ; Write end
-*              : DEVDRV_USBF_WRITESHRT          ; short data
-*              : DEVDRV_USBF_WRITING            ; Continue of data write
-*              : DEVDRV_USBF_WRITEDMA           ; Write DMA
-*              : DEVDRV_USBF_FIFOERROR          ; FIFO status
-*******************************************************************************/
-uint16_t usb0_api_function_start_send_transfer (uint16_t pipe, uint32_t size, uint8_t * data)
-{
-    uint16_t status;
-
-    status = usb0_function_start_send_transfer(pipe, size, data);
-
-    return status;
-}
-
-/*******************************************************************************
-* Function Name: usb0_api_function_check_pipe_status
-* Description  : Starts USB data reception using the pipe specified in the argument.
-*              : The FIFO for using is set in the pipe definition table.
-* Arguments    : uint16_t  pipe     ; Pipe Number
-*              : uint32_t *size     ; Data Size
-* Return Value : Pipe Status
-*******************************************************************************/
-uint16_t usb0_api_function_check_pipe_status (uint16_t pipe, uint32_t * size)
-{
-    if (g_usb0_function_pipe_status[pipe] == DEVDRV_USBF_PIPE_DONE)
-    {
-        *size = g_usb0_function_PipeDataSize[pipe];
-        g_usb0_function_pipe_status[pipe] = DEVDRV_USBF_PIPE_IDLE;
-
-        return DEVDRV_USBF_PIPE_DONE;
-    }
-    else if (g_usb0_function_pipe_status[pipe] == DEVDRV_USBF_PIPE_NORES)
-    {
-        *size = 0;
-        g_usb0_function_pipe_status[pipe] = DEVDRV_USBF_PIPE_IDLE;
-
-        return DEVDRV_USBF_PIPE_NORES;
-    }
-    else if (g_usb0_function_pipe_status[pipe] == DEVDRV_USBF_PIPE_STALL)
-    {
-        *size = 0;
-        g_usb0_function_pipe_status[pipe] = DEVDRV_USBF_PIPE_IDLE;
-
-        return DEVDRV_USBF_PIPE_STALL;
-    }
-    else if (g_usb0_function_pipe_status[pipe] == DEVDRV_USBF_FIFOERROR)
-    {
-        *size = 0;
-        g_usb0_function_pipe_status[pipe] = DEVDRV_USBF_PIPE_IDLE;
-
-        return DEVDRV_USBF_FIFOERROR;
-    }
-    else
-    {
-        /* Do Nothing */
-    }
-
-    return g_usb0_function_pipe_status[pipe];
-}
-
-/*******************************************************************************
-* Function Name: usb0_api_function_clear_pipe_status
-* Description  : Starts USB data reception using the pipe specified in the argument.
-*              : The FIFO for using is set in the pipe definition table.
-* Arguments    : uint16_t  pipe     ; Pipe Number
-* Return Value : Pipe Status
-*******************************************************************************/
-void usb0_api_function_clear_pipe_status (uint16_t pipe)
-{
-    g_usb0_function_pipe_status[pipe]  = DEVDRV_USBF_PIPE_IDLE;
-    g_usb0_function_PipeDataSize[pipe] = 0;
-}
-
-/*******************************************************************************
-* Function Name: usb0_api_function_set_pid_buf
-* Description  : Enables communicaqtion in the pipe specified by the argument
-*              : (BUF).
-* Arguments    : uint16_t pipe             ; pipe Number
-* Return Value : none
-*******************************************************************************/
-void usb0_api_function_set_pid_buf (uint16_t pipe)
-{
-    usb0_function_set_pid_buf(pipe);
-}
-
-/*******************************************************************************
-* Function Name: usb0_api_function_set_pid_nak
-* Description  : Disables communication (NAK) in the pipe specified by the argument.
-*              : When the pipe status was enabling communication (BUF) before
-*              : executing before executing this function, waits in the software
-*              : until the pipe becomes ready after setting disabled.
-* Arguments    : uint16_t pipe            ; pipe Number
-* Return Value : none
-*******************************************************************************/
-void usb0_api_function_set_pid_nak (uint16_t pipe)
-{
-    usb0_function_set_pid_nak(pipe);
-}
-
-/*******************************************************************************
-* Function Name: usb0_api_function_set_pid_stall
-* Description  : Disables communication (STALL) in the pipe specified by the
-*              : argument.
-* Arguments    : uint16_t pipe            ; pipe Number
-* Return Value : none
-*******************************************************************************/
-void usb0_api_function_set_pid_stall (uint16_t pipe)
-{
-    usb0_function_set_pid_stall(pipe);
-}
-
-/*******************************************************************************
-* Function Name: usb0_api_function_clear_pid_stall
-* Description  : Disables communication (NAK) in the pipe specified by the argument.
-* Arguments    : uint16_t pipe            ; pipe Number
-* Return Value : none
-*******************************************************************************/
-void usb0_api_function_clear_pid_stall (uint16_t pipe)
-{
-    usb0_function_clear_pid_stall(pipe);
-}
-
-/*******************************************************************************
-* Function Name: usb0_api_function_get_pid
-* Description  : Returns the pipe state specified by the argument.
-* Arguments    : uint16_t pipe          ; Pipe Number
-* Return Value : PID
-*******************************************************************************/
-uint16_t usb0_api_function_get_pid (uint16_t pipe)
-{
-    uint16_t pid;
-
-    pid = usb0_function_get_pid(pipe);
-
-    return pid;
-}
-
-/*******************************************************************************
-* Function Name: usb0_api_function_check_stall
-* Description  :
-* Arguments    : uint16_t pipe          ; Pipe Number
-* Return Value : PID
-*******************************************************************************/
-int32_t usb0_api_function_check_stall (uint16_t pipe)
-{
-    uint16_t pid;
-
-    pid = usb0_function_get_pid(pipe);
-
-    if ((pid & DEVDRV_USBF_PID_STALL) == DEVDRV_USBF_PID_STALL)
-    {
-        return DEVDRV_USBF_STALL;
-    }
-
-    return DEVDRV_SUCCESS;
-}
-
-/*******************************************************************************
-* Function Name: usb0_api_function_set_sqclr
-* Description  : Sets the sequence bit of the pipe specified by the argument to
-*              : DATA0.
-* Arguments    : uint16_t pipe              ; Pipe Number
-* Return Value : none
-*******************************************************************************/
-void usb0_api_function_set_sqclr (uint16_t pipe)
-{
-    usb0_function_set_sqclr(pipe);
-}
-
-/*******************************************************************************
-* Function Name: usb0_api_function_set_sqset
-* Description  : Sets the sequence bit of the pipe specified by the argument to
-*              : DATA1.
-* Arguments    : uint16_t pipe   ; Pipe number
-* Return Value : none
-*******************************************************************************/
-void usb0_api_function_set_sqset (uint16_t pipe)
-{
-    usb0_function_set_sqset(pipe);
-}
-
-/*******************************************************************************
-* Function Name: usb0_api_function_set_csclr
-* Description  : CSPLIT status clear setting of sprit transaction in specified
-*              : pipe is performed.
-*              : When SQSET bit or SQCLR bit, and SQSET bit or SQCLR bit
-*              : in DCPCTR register are continuously changed (when the sequence
-*              : toggle bit of data PID is continuously changed over two or more pipes),
-*              : the access cycle with 120 ns and more than 5 cycle bus clock is necessary.
-*              : Do not set both SQCLR bit and SQSET bit to 1 at the same time.
-*              : In addition, both bits should be operated after PID is set to NAK.
-*              : However, when it is set to the isochronous transfer as the transfer type
-*              : (TYPE=11), writing in SQSET bit is disabled.
-* Arguments    : uint16_t pipe     ; Pipe number
-* Return Value : none
-*******************************************************************************/
-void usb0_api_function_set_csclr (uint16_t pipe)
-{
-    usb0_function_set_csclr(pipe);
-}
-
-/*******************************************************************************
-* Function Name: usb0_api_function_set_curpipe
-* Description  : Allocates FIF0 specifed by the argument in the pipe assigned
-*              : by the argument.
-* Arguments    : uint16_t pipe      ; Pipe Number
-*              : uint16_t fifosel   ; Select FIFO
-*              : uint16_t isel      ; FIFO Access Direction
-*              : uint16_t mbw       ; FIFO Port Access Bit Width
-* Return Value : none
-*******************************************************************************/
-void usb0_api_function_set_curpipe (uint16_t pipe, uint16_t fifosel, uint16_t isel, uint16_t mbw)
-{
-    usb0_function_set_curpipe(pipe, fifosel, isel, mbw);
-}
-
-/*******************************************************************************
-* Function Name: usb0_api_function_clear_brdy_sts
-* Description  : Clear BRDY interrupt status in the pipe spceified by the argument.
-* Arguments    : uint16_t pipe        ; pipe Number
-* Return Value : none
-*******************************************************************************/
-void usb0_api_function_clear_brdy_sts (uint16_t pipe)
-{
-    usb0_function_clear_brdy_sts(pipe);
-}
-
-/*******************************************************************************
-* Function Name: usb0_api_function_clear_bemp_sts
-* Description  : Clear BEMP interrupt status in the pipe spceified by the argument.
-* Arguments    : uint16_t pipe        ; pipe Number
-* Return Value : none
-*******************************************************************************/
-void usb0_api_function_clear_bemp_sts (uint16_t pipe)
-{
-    usb0_function_clear_bemp_sts(pipe);
-}
-
-/*******************************************************************************
-* Function Name: usb0_api_function_clear_nrdy_sts
-* Description  : Clear NRDY interrupt status in the pipe spceified by the argument.
-* Arguments    : uint16_t pipe        ; pipe Number
-* Return Value : none
-*******************************************************************************/
-void usb0_api_function_clear_nrdy_sts (uint16_t pipe)
-{
-    usb0_function_clear_nrdy_sts(pipe);
-}
-
-/* End of File */