forked from Minki/linux
511e6bc071
DSAF, namely Distributed System Area Fabric, is one of the HNS acceleration engine implementation. This patch add DSAF driver to the system. hns_ae_adapt: the adaptor for registering the driver to HNAE framework hns_dsaf_mac: MAC cover interface for GE and XGE hns_dsaf_gmac: GE (10/100/1000G Ethernet) MAC function hns_dsaf_xgmac: XGE (10000+G Ethernet) MAC function hns_dsaf_main: the platform device driver for the whole hardware hns_dsaf_misc: some misc helper function, such as LED support hns_dsaf_ppe: packet process engine function hns_dsaf_rcb: ring buffer function Signed-off-by: huangdaode <huangdaode@hisilicon.com> Signed-off-by: Yisen Zhuang <Yisen.Zhuang@huawei.com> Signed-off-by: Kenneth Lee <liguozhu@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
/*
|
|
* Copyright (c) 2014-2015 Hisilicon Limited.
|
|
*
|
|
* 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.
|
|
*/
|
|
|
|
#ifndef _HNS_DSAF_MISC_H
|
|
#define _HNS_DSAF_MISC_H
|
|
|
|
#include <linux/of.h>
|
|
#include <linux/of_address.h>
|
|
#include <linux/platform_device.h>
|
|
|
|
#include "hns_dsaf_mac.h"
|
|
|
|
#define CPLD_ADDR_PORT_OFFSET 0x4
|
|
|
|
#define HS_LED_ON 0xE
|
|
#define HS_LED_OFF 0xF
|
|
|
|
#define CPLD_LED_ON_VALUE 1
|
|
#define CPLD_LED_DEFAULT_VALUE 0
|
|
|
|
#define MAC_SFP_PORT_OFFSET 0x2
|
|
|
|
#define DSAF_LED_SPEED_S 0
|
|
#define DSAF_LED_SPEED_M (0x3 << DSAF_LED_SPEED_S)
|
|
|
|
#define DSAF_LED_LINK_B 2
|
|
#define DSAF_LED_DATA_B 4
|
|
#define DSAF_LED_ANCHOR_B 5
|
|
|
|
void hns_cpld_set_led(struct hns_mac_cb *mac_cb, int link_status,
|
|
u16 speed, int data);
|
|
void cpld_led_reset(struct hns_mac_cb *mac_cb);
|
|
int cpld_set_led_id(struct hns_mac_cb *mac_cb,
|
|
enum hnae_led_state status);
|
|
int hns_mac_get_sfp_prsnt(struct hns_mac_cb *mac_cb, int *sfp_prsnt);
|
|
|
|
#endif
|