aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_i2c.c
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2021-10-01 23:24:06 +0100
committerDaniel Golle <daniel@makrotopia.org>2021-10-01 23:28:24 +0100
commit6b434d3c44aced4c210b042a8791f8d14c407a49 (patch)
tree9a188b5090f3aac6d1fda3695c5e4f69508b9dc3 /target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_i2c.c
parent87623958b2796f69dcb7677e30ba5911b208f59a (diff)
downloadupstream-6b434d3c44aced4c210b042a8791f8d14c407a49.tar.gz
upstream-6b434d3c44aced4c210b042a8791f8d14c407a49.tar.bz2
upstream-6b434d3c44aced4c210b042a8791f8d14c407a49.zip
mediatek: remove files and patches for Linux 5.4
All subtargets only provide files and patches for Linux 5.10 by now so there is little use for the old Linux 5.4 stuff. Remove it. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Diffstat (limited to 'target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_i2c.c')
-rw-r--r--target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_i2c.c474
1 files changed, 0 insertions, 474 deletions
diff --git a/target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_i2c.c b/target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_i2c.c
deleted file mode 100644
index 69f20a0188..0000000000
--- a/target/linux/mediatek/files-5.4/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_i2c.c
+++ /dev/null
@@ -1,474 +0,0 @@
-/*
- * Copyright (C) 2013 Realtek Semiconductor Corp.
- * All Rights Reserved.
- *
- * Unless you and Realtek execute a separate written software license
- * agreement governing use of this software, this software is licensed
- * to you under the terms of the GNU General Public License version 2,
- * available at https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
- *
- * $Revision: 38651 $
- * $Date: 2016-02-27 14:32:56 +0800 (周三, 17 ε››ζœˆ 2016) $
- *
- * Purpose : RTL8367C switch high-level API for RTL8367C
- * Feature : I2C related functions
- *
- */
-
-
-#include <rtl8367c_asicdrv_i2c.h>
-#include <rtk_error.h>
-#include <rtk_types.h>
-
-
-
-/* Function Name:
- * rtl8367c_setAsicI2C_checkBusIdle
- * Description:
- * Check i2c bus status idle or not
- * Input:
- * None
- * Output:
- * None
- * Return:
- * RT_ERR_OK - Success
- * RT_ERR_BUSYWAIT_TIMEOUT - i2c bus is busy
- * Note:
- * This API can check i2c bus status.
- */
-ret_t rtl8367c_setAsicI2C_checkBusIdle(void)
-{
- rtk_uint32 regData;
- ret_t retVal;
-
- if ((retVal = rtl8367c_getAsicRegBit(RTL8367C_REG_M_I2C_CTL_STA_REG, RTL8367C_M_I2C_BUS_IDLE_OFFSET, &regData)) != RT_ERR_OK)
- return retVal;
-
- if(regData == 0x0001)
- return RT_ERR_OK; /*i2c is idle*/
- else
- return RT_ERR_BUSYWAIT_TIMEOUT; /*i2c is busy*/
-}
-
-
-/* Function Name:
- * rtl8367c_setAsicI2CStartCmd
- * Description:
- * Set I2C start command
- * Input:
- * None
- * Output:
- * None
- * Return:
- * RT_ERR_OK - Success
- * Note:
- * This API can set i2c start command ,start a i2c traffic .
- */
-ret_t rtl8367c_setAsicI2CStartCmd(void)
-{
- rtk_uint32 regData;
- ret_t retVal;
-
- /* Bits [4-1] = 0b0000, Start Command; Bit [0] = 1, Trigger the Command */
- if ((retVal = rtl8367c_getAsicReg(RTL8367C_REG_M_I2C_CTL_STA_REG, &regData)) != RT_ERR_OK)
- return retVal;
- regData &= 0xFFE0;
- regData |= 0x0001;
-
- if ((retVal = rtl8367c_setAsicReg(RTL8367C_REG_M_I2C_CTL_STA_REG, regData)) != RT_ERR_OK)
- return retVal;
-
- /* wait for command finished */
- do{
- if ((retVal = rtl8367c_getAsicRegBit(RTL8367C_REG_M_I2C_CTL_STA_REG, RTL8367C_I2C_CMD_EXEC_OFFSET, &regData)) != RT_ERR_OK)
- return retVal;
- }while( regData != 0x0);
-
- return RT_ERR_OK ;
-}
-
-/* Function Name:
- * rtl8367c_setAsicI2CStopCmd
- * Description:
- * Set I2C stop command
- * Input:
- * None
- * Output:
- * None
- * Return:
- * RT_ERR_OK - Success
- * Note:
- * This API can set i2c stop command ,stop a i2c traffic.
- */
-ret_t rtl8367c_setAsicI2CStopCmd(void)
-{
-
- rtk_uint32 regData;
- ret_t retVal;
-
- /* Bits [4-1] = 0b0001, Stop Command; Bit [0] = 1, Trigger the Command */
- if ((retVal = rtl8367c_getAsicReg(RTL8367C_REG_M_I2C_CTL_STA_REG, &regData)) != RT_ERR_OK)
- return retVal;
- regData &= 0xFFE0;
- regData |= 0x0003;
-
- if ((retVal = rtl8367c_setAsicReg(RTL8367C_REG_M_I2C_CTL_STA_REG, regData)) != RT_ERR_OK)
- return retVal;
-
-
- /* wait for command finished */
- do{
- if ((retVal = rtl8367c_getAsicRegBit(RTL8367C_REG_M_I2C_CTL_STA_REG, RTL8367C_I2C_CMD_EXEC_OFFSET, &regData)) != RT_ERR_OK)
- return retVal;
- }while( regData != 0x0);
-
- return RT_ERR_OK ;
-}
-
-/* Function Name:
- * rtl8367c_setAsicI2CTxOneCharCmd
- * Description:
- * Set I2C Tx a char command, with a 8-bit data
- * Input:
- * oneChar - 8-bit data
- * Output:
- * None
- * Return:
- * RT_ERR_OK - Success
- * Note:
- * This API can set i2c Tx command and with a 8-bit data.
- */
-ret_t rtl8367c_setAsicI2CTxOneCharCmd(rtk_uint8 oneChar)
-{
- rtk_uint32 regData;
- ret_t retVal;
-
- /* Bits [4-1] = 0b0010, tx one char; Bit [0] = 1, Trigger the Command */
- if ((retVal = rtl8367c_getAsicReg(RTL8367C_REG_M_I2C_CTL_STA_REG, &regData)) != RT_ERR_OK)
- return retVal;
-
- regData &= 0xFFE0;
- regData |= 0x0005;
- regData &= 0x00FF;
- regData |= (rtk_uint16) (oneChar << 8);
-
- if ((retVal = rtl8367c_setAsicReg(RTL8367C_REG_M_I2C_CTL_STA_REG, regData)) != RT_ERR_OK)
- return retVal;
-
-
- /* wait for command finished */
- do{
- if ((retVal = rtl8367c_getAsicRegBit(RTL8367C_REG_M_I2C_CTL_STA_REG, RTL8367C_I2C_CMD_EXEC_OFFSET, &regData)) != RT_ERR_OK)
- return retVal;
- }while( regData != 0x0);
-
- return RT_ERR_OK ;
-}
-
-
-/* Function Name:
- * rtl8367c_setAsicI2CcheckRxAck
- * Description:
- * Check if rx an Ack
- * Input:
- * None
- * Output:
- * None
- * Return:
- * RT_ERR_OK - Success
- * Note:
- * This API can check if rx an ack from i2c slave.
- */
-ret_t rtl8367c_setAsicI2CcheckRxAck(void)
-{
- rtk_uint32 regData;
- ret_t retVal;
- rtk_uint32 count = 0;
-
- do{
- count++;
- if ((retVal = rtl8367c_getAsicRegBit(RTL8367C_REG_M_I2C_CTL_STA_REG, RTL8367C_SLV_ACK_FLAG_OFFSET, &regData)) != RT_ERR_OK)
- return retVal;
- }while( (regData != 0x1) && (count < TIMEROUT_FOR_MICROSEMI) );
-
- if(regData != 0x1)
- return RT_ERR_FAILED;
- else
- return RT_ERR_OK;
-}
-
-
-/* Function Name:
- * rtl8367c_setAsicI2CRxOneCharCmd
- * Description:
- * Set I2C Rx command and get 8-bit data
- * Input:
- * None
- * Output:
- * pValue - 8bit-data
- * Return:
- * RT_ERR_OK - Success
- * Note:
- * This API can set I2C Rx command and get 8-bit data.
- */
-ret_t rtl8367c_setAsicI2CRxOneCharCmd(rtk_uint8 *pValue)
-{
- rtk_uint32 regData;
- ret_t retVal;
-
- /* Bits [4-1] = 0b0011, Rx one char; Bit [0] = 1, Trigger the Command */
- if ((retVal = rtl8367c_getAsicReg(RTL8367C_REG_M_I2C_CTL_STA_REG, &regData)) != RT_ERR_OK)
- return retVal;
- regData &= 0xFFE0;
- regData |= 0x0007;
- if ((retVal = rtl8367c_setAsicReg(RTL8367C_REG_M_I2C_CTL_STA_REG, regData)) != RT_ERR_OK)
- return retVal;
-
- /* wait for command finished */
- do{
- if ((retVal = rtl8367c_getAsicReg(RTL8367C_REG_M_I2C_CTL_STA_REG, &regData)) != RT_ERR_OK)
- return retVal;
- }while( (regData & 0x1) != 0x0);
-
- *pValue = (rtk_uint8)(regData >> 8);
- return RT_ERR_OK ;
-
-}
-
-/* Function Name:
- * rtl8367c_setAsicI2CTxAckCmd
- * Description:
- * Set I2C Tx ACK command
- * Input:
- * None
- * Output:
- * None
- * Return:
- * RT_ERR_OK - Success
- * Note:
- * This API can set I2C Tx ack command.
- */
-ret_t rtl8367c_setAsicI2CTxAckCmd(void)
-{
- rtk_uint32 regData;
- ret_t retVal;
-
- /* Bits [4-1] = 0b0100, tx ACK Command; Bit [0] = 1, Trigger the Command */
- if ((retVal = rtl8367c_getAsicReg(RTL8367C_REG_M_I2C_CTL_STA_REG, &regData)) != RT_ERR_OK)
- return retVal;
- regData &= 0xFFE0;
- regData |= 0x0009;
- if ((retVal = rtl8367c_setAsicReg(RTL8367C_REG_M_I2C_CTL_STA_REG, regData)) != RT_ERR_OK)
- return retVal;
-
- /* wait for command finished */
- do{
- if ((retVal = rtl8367c_getAsicRegBit(RTL8367C_REG_M_I2C_CTL_STA_REG, RTL8367C_I2C_CMD_EXEC_OFFSET, &regData)) != RT_ERR_OK)
- return retVal;
- }while( regData != 0x0);
-
- return RT_ERR_OK ;
-
-}
-
-
-/* Function Name:
- * rtl8367c_setAsicI2CTxNoAckCmd
- * Description:
- * Set I2C master Tx noACK command
- * Input:
- * None
- * Output:
- * None
- * Return:
- * RT_ERR_OK - Success
- * Note:
- * This API can set I2C master Tx noACK command.
- */
-ret_t rtl8367c_setAsicI2CTxNoAckCmd(void)
-{
- rtk_uint32 regData;
- ret_t retVal;
-
- /* Bits [4-1] = 0b0101, tx noACK Command; Bit [0] = 1, Trigger the Command */
- if ((retVal = rtl8367c_getAsicReg(RTL8367C_REG_M_I2C_CTL_STA_REG, &regData)) != RT_ERR_OK)
- return retVal;
- regData &= 0xFFE0;
- regData |= 0x000b;
- if ((retVal = rtl8367c_setAsicReg(RTL8367C_REG_M_I2C_CTL_STA_REG, regData)) != RT_ERR_OK)
- return retVal;
-
- /* wait for command finished */
- do{
- if ((retVal = rtl8367c_getAsicRegBit(RTL8367C_REG_M_I2C_CTL_STA_REG, RTL8367C_I2C_CMD_EXEC_OFFSET, &regData)) != RT_ERR_OK)
- return retVal;
- }while( regData != 0x0);
-
- return RT_ERR_OK ;
-
-}
-
-/* Function Name:
- * rtl8367c_setAsicI2CSoftRSTseqCmd
- * Description:
- * set I2C master tx soft reset command
- * Input:
- * None
- * Output:
- * None
- * Return:
- * RT_ERR_OK - Success
- * Note:
- * This API can set I2C master tx soft reset command.
- */
-ret_t rtl8367c_setAsicI2CSoftRSTseqCmd(void)
-{
-
- rtk_uint32 regData;
- ret_t retVal;
-
- /*Bits [4-1] = 0b0110, tx soft reset Command; Bit [0] = 1, Trigger the Command */
- if ((retVal = rtl8367c_getAsicReg(RTL8367C_REG_M_I2C_CTL_STA_REG, &regData)) != RT_ERR_OK)
- return retVal;
- regData &= 0xFFE0;
- regData |= 0x000d;
-
- if ((retVal = rtl8367c_setAsicReg(RTL8367C_REG_M_I2C_CTL_STA_REG, regData)) != RT_ERR_OK)
- return retVal;
-
-
- /* wait for command finished */
- do{
- if ((retVal = rtl8367c_getAsicRegBit(RTL8367C_REG_M_I2C_CTL_STA_REG, RTL8367C_I2C_CMD_EXEC_OFFSET, &regData)) != RT_ERR_OK)
- return retVal;
- }while( regData != 0x0);
-
- return RT_ERR_OK ;
-}
-
-
-/* Function Name:
- * rtl8367c_setAsicI2CGpioPinGroup
- * Description:
- * set I2C function used gpio pins
- * Input:
- * pinGroup_ID - gpio pins group
- * Output:
- * None
- * Return:
- * RT_ERR_OK - Success
- * RT_ERR_INPUT _ Invalid input parameter
- * Note:
- * This API can set I2C function used gpio pins.
- * There are three group gpio pins
- */
-ret_t rtl8367c_setAsicI2CGpioPinGroup(rtk_uint32 pinGroup_ID)
-{
- rtk_uint32 regData;
- ret_t retVal;
-
- if ((retVal = rtl8367c_getAsicReg(RTL8367C_REG_M_I2C_SYS_CTL, &regData)) != RT_ERR_OK)
- return retVal;
- if( pinGroup_ID==0 )
- {
- regData &= 0x0FFF;
- regData |= 0x5000;
-
- if ((retVal = rtl8367c_setAsicReg(RTL8367C_REG_M_I2C_SYS_CTL, regData)) != RT_ERR_OK)
- return retVal;
- }
-
- else if( pinGroup_ID==1 )
- {
- regData &= 0x0FFF;
- regData |= 0xA000;
-
- if ((retVal = rtl8367c_setAsicReg(RTL8367C_REG_M_I2C_SYS_CTL, regData)) != RT_ERR_OK)
- return retVal;
- }
-
- else if( pinGroup_ID==2 )
- {
- regData &= 0x0FFF;
- regData |= 0xF000;
-
- if ((retVal = rtl8367c_setAsicReg(RTL8367C_REG_M_I2C_SYS_CTL, regData)) != RT_ERR_OK)
- return retVal;
- }
- else
- return RT_ERR_INPUT;
-
- return RT_ERR_OK ;
-
-}
-
-/* Function Name:
- * rtl8367c_setAsicI2CGpioPinGroup
- * Description:
- * set I2C function used gpio pins
- * Input:
- * pinGroup_ID - gpio pins group
- * Output:
- * None
- * Return:
- * RT_ERR_OK - Success
- * RT_ERR_INPUT _ Invalid input parameter
- * Note:
- * This API can set I2C function used gpio pins.
- * There are three group gpio pins
- */
-ret_t rtl8367c_getAsicI2CGpioPinGroup(rtk_uint32 * pPinGroup_ID)
-{
-
- rtk_uint32 regData;
- ret_t retVal;
- if( (retVal = rtl8367c_getAsicReg(RTL8367C_REG_M_I2C_SYS_CTL, &regData)) != RT_ERR_OK)
- return retVal;
- regData &= 0xF000 ;
- regData = (regData >> 12);
-
- if( regData == 0x5 )
- *pPinGroup_ID = 0;
- else if(regData == 0xA)
- *pPinGroup_ID = 1;
- else if(regData == 0xF)
- *pPinGroup_ID = 2;
- else
- return RT_ERR_FAILED;
- return RT_ERR_OK ;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-