kunpeng_hccs.h (b51878373a81bda3a790fd936507fd0643ef98b3) kunpeng_hccs.h (23fe8112a23106e7dfc2b73fc52a60ea3eb64c20)
1/* SPDX-License-Identifier: GPL-2.0+ */
2/* Copyright (c) 2023 Hisilicon Limited. */
3
4#ifndef __KUNPENG_HCCS_H__
5#define __KUNPENG_HCCS_H__
6
7/*
8 * |--------------- Chip0 ---------------|---------------- ChipN -------------|
9 * |--------Die0-------|--------DieN-------|--------Die0-------|-------DieN-------|
10 * | P0 | P1 | P2 | P3 | P0 | P1 | P2 | P3 | P0 | P1 | P2 | P3 |P0 | P1 | P2 | P3 |
11 */
12
1/* SPDX-License-Identifier: GPL-2.0+ */
2/* Copyright (c) 2023 Hisilicon Limited. */
3
4#ifndef __KUNPENG_HCCS_H__
5#define __KUNPENG_HCCS_H__
6
7/*
8 * |--------------- Chip0 ---------------|---------------- ChipN -------------|
9 * |--------Die0-------|--------DieN-------|--------Die0-------|-------DieN-------|
10 * | P0 | P1 | P2 | P3 | P0 | P1 | P2 | P3 | P0 | P1 | P2 | P3 |P0 | P1 | P2 | P3 |
11 */
12
13enum hccs_port_type {
14 HCCS_V1 = 1,
15 HCCS_V2,
16};
17
18#define HCCS_IP_PREFIX "HCCS-v"
19#define HCCS_IP_MAX 255
20#define HCCS_NAME_MAX_LEN 9
21struct hccs_type_name_map {
22 u8 type;
23 char name[HCCS_NAME_MAX_LEN + 1];
24};
25
13/*
14 * This value cannot be 255, otherwise the loop of the multi-BD communication
15 * case cannot end.
16 */
17#define HCCS_DIE_MAX_PORT_ID 254
18
19struct hccs_port_info {
20 u8 port_id;

--- 48 unchanged lines hidden (view full) ---

69
70struct hccs_dev {
71 struct device *dev;
72 struct acpi_device *acpi_dev;
73 const struct hccs_verspecific_data *verspec_data;
74 u64 caps;
75 u8 chip_num;
76 struct hccs_chip_info *chips;
26/*
27 * This value cannot be 255, otherwise the loop of the multi-BD communication
28 * case cannot end.
29 */
30#define HCCS_DIE_MAX_PORT_ID 254
31
32struct hccs_port_info {
33 u8 port_id;

--- 48 unchanged lines hidden (view full) ---

82
83struct hccs_dev {
84 struct device *dev;
85 struct acpi_device *acpi_dev;
86 const struct hccs_verspecific_data *verspec_data;
87 u64 caps;
88 u8 chip_num;
89 struct hccs_chip_info *chips;
90 u16 used_type_num;
91 struct hccs_type_name_map *type_name_maps;
77 u8 chan_id;
78 struct mutex lock;
79 struct hccs_mbox_client_info cl_info;
80};
81
82#define HCCS_SERDES_MODULE_CODE 0x32
83enum hccs_subcmd_type {
84 HCCS_GET_CHIP_NUM = 0x1,

--- 122 unchanged lines hidden ---
92 u8 chan_id;
93 struct mutex lock;
94 struct hccs_mbox_client_info cl_info;
95};
96
97#define HCCS_SERDES_MODULE_CODE 0x32
98enum hccs_subcmd_type {
99 HCCS_GET_CHIP_NUM = 0x1,

--- 122 unchanged lines hidden ---