Branch data Line data Source code
1 : : /* SPDX-License-Identifier: BSD-3-Clause 2 : : * Copyright(c) 2018 Netronome Systems, Inc. 3 : : * All rights reserved. 4 : : */ 5 : : 6 : : #ifndef __NFP_NFP6000_H__ 7 : : #define __NFP_NFP6000_H__ 8 : : 9 : : #define NFP_ISL_EMEM0 24 10 : : 11 : : #define NFP_MU_ADDR_ACCESS_TYPE_MASK 3ULL 12 : : #define NFP_MU_ADDR_ACCESS_TYPE_DIRECT 2ULL 13 : : 14 : : #define PUSHPULL(pull, push) (((pull) << 4) | ((push) << 0)) 15 : : #define PUSH_WIDTH(push_pull) pushpull_width((push_pull) >> 0) 16 : : #define PULL_WIDTH(push_pull) pushpull_width((push_pull) >> 4) 17 : : 18 : : static inline int 19 : : pushpull_width(int pp) 20 : : { 21 : 0 : pp &= 0xf; 22 [ # # # # ]: 0 : if (pp == 0) 23 : : return -EINVAL; 24 : : 25 : 0 : return 2 << pp; 26 : : } 27 : : 28 : : 29 : : static inline int 30 : : nfp_cppat_mu_locality_lsb(int mode, int addr40) 31 : : { 32 [ # # ]: 0 : switch (mode) { 33 : 0 : case 0 ... 3: 34 [ # # ]: 0 : return addr40 ? 38 : 30; 35 : : default: 36 : : return -EINVAL; 37 : : } 38 : : } 39 : : 40 : : #endif /* NFP_NFP6000_H */