Sudheer Papothi | d61f0a4 | 2018-11-14 06:00:33 +0530 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
| 2 | /* |
Karthikeyan Mani | 242c2b8 | 2019-03-01 18:43:10 -0800 | [diff] [blame] | 3 | * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. |
Sudheer Papothi | d61f0a4 | 2018-11-14 06:00:33 +0530 | [diff] [blame] | 4 | */ |
| 5 | |
Vatsal Bucha | 82b30ba | 2019-04-17 12:43:54 +0530 | [diff] [blame] | 6 | #ifndef _KONA_PORT_CONFIG |
| 7 | #define _KONA_PORT_CONFIG |
Sudheer Papothi | d61f0a4 | 2018-11-14 06:00:33 +0530 | [diff] [blame] | 8 | |
| 9 | #include <soc/swr-common.h> |
| 10 | |
| 11 | #define WSA_MSTR_PORT_MASK 0xFF |
| 12 | /* |
| 13 | * Add port configuration in the format |
| 14 | *{ si, off1, off2, hstart, hstop, wd_len, bp_mode, bgp_ctrl, lane_ctrl} |
| 15 | */ |
| 16 | |
| 17 | static struct port_params wsa_frame_params_default[SWR_MSTR_PORT_LEN] = { |
| 18 | {7, 1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, |
| 19 | {31, 2, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, |
Karthikeyan Mani | 242c2b8 | 2019-03-01 18:43:10 -0800 | [diff] [blame] | 20 | {63, 12, 31, 0xFF, 0xFF, 0xFF, 0x1, 0xFF, 0xFF}, |
Sudheer Papothi | d61f0a4 | 2018-11-14 06:00:33 +0530 | [diff] [blame] | 21 | {7, 6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, |
| 22 | {31, 18, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, |
Karthikeyan Mani | 242c2b8 | 2019-03-01 18:43:10 -0800 | [diff] [blame] | 23 | {63, 13, 31, 0xFF, 0xFF, 0xFF, 0x1, 0xFF, 0xFF}, |
Sudheer Papothi | d61f0a4 | 2018-11-14 06:00:33 +0530 | [diff] [blame] | 24 | {15, 7, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, |
| 25 | {15, 10, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, |
| 26 | }; |
| 27 | |
| 28 | static struct port_params rx_frame_params_default[SWR_MSTR_PORT_LEN] = { |
| 29 | {3, 0, 0, 0xFF, 0xFF, 1, 0xFF, 0xFF, 1}, |
| 30 | {31, 0, 0, 3, 6, 7, 0, 0xFF, 0}, |
| 31 | {31, 11, 11, 0xFF, 0xFF, 4, 1, 0xFF, 0}, |
Laxminath Kasam | 1a4dd6d | 2019-04-02 15:21:54 +0530 | [diff] [blame] | 32 | {7, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, |
Sudheer Papothi | d61f0a4 | 2018-11-14 06:00:33 +0530 | [diff] [blame] | 33 | {0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0}, |
| 34 | }; |
| 35 | |
| 36 | static struct port_params rx_frame_params_dsd[SWR_MSTR_PORT_LEN] = { |
| 37 | {3, 0, 0, 0xFF, 0xFF, 1, 0xFF, 0xFF, 1}, |
| 38 | {31, 0, 0, 3, 6, 7, 0, 0xFF, 0}, |
| 39 | {31, 11, 11, 0xFF, 0xFF, 4, 1, 0xFF, 0}, |
| 40 | {7, 9, 0, 0xFF, 0xFF, 0xFF, 0xFF, 1, 0}, |
| 41 | {3, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 3, 0}, |
| 42 | }; |
| 43 | |
| 44 | /* TX UC1: TX1: 1ch, TX2: 2chs, TX3: 1ch(MBHC) */ |
| 45 | static struct port_params tx_frame_params_default[SWR_MSTR_PORT_LEN] = { |
Sudheer Papothi | 17875f5 | 2019-02-01 22:50:19 +0530 | [diff] [blame] | 46 | {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},/* PCM OUT */ |
Sudheer Papothi | d61f0a4 | 2018-11-14 06:00:33 +0530 | [diff] [blame] | 47 | {1, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, /* TX1 */ |
| 48 | {1, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 1}, /* TX2 */ |
| 49 | {3, 2, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, /* TX3 */ |
Sudheer Papothi | 17875f5 | 2019-02-01 22:50:19 +0530 | [diff] [blame] | 50 | {3, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 1}, /* TX4 */ |
Sudheer Papothi | d61f0a4 | 2018-11-14 06:00:33 +0530 | [diff] [blame] | 51 | }; |
| 52 | |
Vatsal Bucha | 71e0b48 | 2019-09-11 14:51:20 +0530 | [diff] [blame] | 53 | /* TX UC1: TX1: 1ch, TX2: 2chs, TX3: 1ch(MBHC) */ |
| 54 | static struct port_params tx_frame_params_v2[SWR_MSTR_PORT_LEN] = { |
| 55 | {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},/* PCM OUT */ |
| 56 | {1, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 1}, /* TX1 */ |
| 57 | {1, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 2}, /* TX2 */ |
| 58 | {3, 2, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, /* TX3 */ |
| 59 | {3, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 2}, /* TX4 */ |
| 60 | }; |
| 61 | |
Kunlei Zhang | 4bfe0fe | 2020-03-06 21:20:07 +0800 | [diff] [blame] | 62 | static struct port_params tx_frame_params_wcd937x[SWR_MSTR_PORT_LEN] = { |
| 63 | {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, |
| 64 | {3, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, |
| 65 | {3, 2, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, |
| 66 | {3, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, |
| 67 | {3, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0}, |
| 68 | }; |
| 69 | |
Sudheer Papothi | d61f0a4 | 2018-11-14 06:00:33 +0530 | [diff] [blame] | 70 | static struct swr_mstr_port_map sm_port_map[] = { |
| 71 | {TX_MACRO, SWR_UC0, tx_frame_params_default}, |
| 72 | {RX_MACRO, SWR_UC0, rx_frame_params_default}, |
| 73 | {RX_MACRO, SWR_UC1, rx_frame_params_dsd}, |
| 74 | {WSA_MACRO, SWR_UC0, wsa_frame_params_default}, |
| 75 | }; |
| 76 | |
Vatsal Bucha | 71e0b48 | 2019-09-11 14:51:20 +0530 | [diff] [blame] | 77 | static struct swr_mstr_port_map sm_port_map_v2[] = { |
| 78 | {TX_MACRO, SWR_UC0, tx_frame_params_v2}, |
| 79 | {RX_MACRO, SWR_UC0, rx_frame_params_default}, |
| 80 | {RX_MACRO, SWR_UC1, rx_frame_params_dsd}, |
| 81 | {WSA_MACRO, SWR_UC0, wsa_frame_params_default}, |
| 82 | }; |
| 83 | |
Kunlei Zhang | 4bfe0fe | 2020-03-06 21:20:07 +0800 | [diff] [blame] | 84 | static struct swr_mstr_port_map sm_port_map_wcd937x[] = { |
| 85 | {TX_MACRO, SWR_UC0, tx_frame_params_wcd937x}, |
| 86 | {RX_MACRO, SWR_UC0, rx_frame_params_default}, |
| 87 | {RX_MACRO, SWR_UC1, rx_frame_params_dsd}, |
| 88 | {WSA_MACRO, SWR_UC0, wsa_frame_params_default}, |
| 89 | }; |
| 90 | |
Vatsal Bucha | 82b30ba | 2019-04-17 12:43:54 +0530 | [diff] [blame] | 91 | #endif /* _KONA_PORT_CONFIG */ |