mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-04 01:24:12 +08:00
2874c5fd28
Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version extracted by the scancode license scanner the SPDX license identifier GPL-2.0-or-later has been chosen to replace the boilerplate/reference in 3029 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
65 lines
1.7 KiB
C
65 lines
1.7 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Copyright (C) 2006 Freescale Semiconductor, Inc. All rights reserved.
|
|
*
|
|
* Authors: Shlomi Gridish <gridish@freescale.com>
|
|
* Li Yang <leoli@freescale.com>
|
|
*
|
|
* Description:
|
|
* Internal header file for UCC unit routines.
|
|
*/
|
|
#ifndef __UCC_H__
|
|
#define __UCC_H__
|
|
|
|
#include <soc/fsl/qe/immap_qe.h>
|
|
#include <soc/fsl/qe/qe.h>
|
|
|
|
#define STATISTICS
|
|
|
|
#define UCC_MAX_NUM 8
|
|
|
|
/* Slow or fast type for UCCs.
|
|
*/
|
|
enum ucc_speed_type {
|
|
UCC_SPEED_TYPE_FAST = UCC_GUEMR_MODE_FAST_RX | UCC_GUEMR_MODE_FAST_TX,
|
|
UCC_SPEED_TYPE_SLOW = UCC_GUEMR_MODE_SLOW_RX | UCC_GUEMR_MODE_SLOW_TX
|
|
};
|
|
|
|
/* ucc_set_type
|
|
* Sets UCC to slow or fast mode.
|
|
*
|
|
* ucc_num - (In) number of UCC (0-7).
|
|
* speed - (In) slow or fast mode for UCC.
|
|
*/
|
|
int ucc_set_type(unsigned int ucc_num, enum ucc_speed_type speed);
|
|
|
|
int ucc_set_qe_mux_mii_mng(unsigned int ucc_num);
|
|
|
|
int ucc_set_qe_mux_rxtx(unsigned int ucc_num, enum qe_clock clock,
|
|
enum comm_dir mode);
|
|
int ucc_set_tdm_rxtx_clk(unsigned int tdm_num, enum qe_clock clock,
|
|
enum comm_dir mode);
|
|
int ucc_set_tdm_rxtx_sync(unsigned int tdm_num, enum qe_clock clock,
|
|
enum comm_dir mode);
|
|
|
|
int ucc_mux_set_grant_tsa_bkpt(unsigned int ucc_num, int set, u32 mask);
|
|
|
|
/* QE MUX clock routing for UCC
|
|
*/
|
|
static inline int ucc_set_qe_mux_grant(unsigned int ucc_num, int set)
|
|
{
|
|
return ucc_mux_set_grant_tsa_bkpt(ucc_num, set, QE_CMXUCR_GRANT);
|
|
}
|
|
|
|
static inline int ucc_set_qe_mux_tsa(unsigned int ucc_num, int set)
|
|
{
|
|
return ucc_mux_set_grant_tsa_bkpt(ucc_num, set, QE_CMXUCR_TSA);
|
|
}
|
|
|
|
static inline int ucc_set_qe_mux_bkpt(unsigned int ucc_num, int set)
|
|
{
|
|
return ucc_mux_set_grant_tsa_bkpt(ucc_num, set, QE_CMXUCR_BKPT);
|
|
}
|
|
|
|
#endif /* __UCC_H__ */
|