merlin16_enum.h (6025B)
1 /****************************************************************************** 2 ****************************************************************************** 3 * Revision : * 4 * * 5 * Description : Enum types used by Serdes API functions * 6 * * 7 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 8 * 9 * Copyright 2007-2019 Broadcom Inc. All rights reserved. * 10 * No portions of this material may be reproduced in any form without * 11 * the written permission of: * 12 * Broadcom Corporation * 13 * 5300 California Avenue * 14 * Irvine, CA 92617 * 15 * * 16 * All information contained in this document is Broadcom Corporation * 17 * company private proprietary, and trade secret. * 18 */ 19 20 /** @file merlin16_enum.h 21 * Enum types used by Serdes API functions 22 */ 23 24 #ifndef MERLIN16_API_ENUM_H 25 #define MERLIN16_API_ENUM_H 26 27 #include "merlin16_ipconfig.h" 28 #ifdef NON_SDK 29 #include <stdint.h> 30 #endif 31 32 33 enum merlin16_pll_refclk_enum { 34 MERLIN16_PLL_REFCLK_UNKNOWN = 0, /* Refclk value to be determined by API. */ 35 MERLIN16_PLL_REFCLK_50MHZ = 0x00100032UL, /* 50 MHz */ 36 MERLIN16_PLL_REFCLK_125MHZ = 0x0010007DUL, /* 125 MHz */ 37 MERLIN16_PLL_REFCLK_156P25MHZ = 0x00400271UL, /* 156.25 MHz */ 38 MERLIN16_PLL_REFCLK_161P1328125MHZ = 0x08005091UL /* 161.1328125 MHz */ 39 }; 40 41 42 enum merlin16_pll_div_enum { 43 MERLIN16_PLL_DIV_UNKNOWN = 0, /* Divide value to be determined by API. */ 44 MERLIN16_PLL_DIV_52P751515 = (int)0xC0634034, /* Divide by 52.751515 */ 45 MERLIN16_PLL_DIV_54P4 = (int)0x66668036, /* Divide by 54.4 */ 46 MERLIN16_PLL_DIV_58P181818 = (int)0x2E8BC03A, /* Divide by 58.181818 */ 47 MERLIN16_PLL_DIV_60 = (int)0x0000003C, /* Divide by 60 */ 48 MERLIN16_PLL_DIV_62P060606 = (int)0x0F84003E, /* Divide by 62.060606 */ 49 MERLIN16_PLL_DIV_64 = (int)0x00000040, /* Divide by 64 */ 50 MERLIN16_PLL_DIV_66 = (int)0x00000042, /* Divide by 66 */ 51 MERLIN16_PLL_DIV_66P460703 = (int)0x75F0C042, /* Divide by 66.460703 */ 52 MERLIN16_PLL_DIV_66P743079 = (int)0xBE3A8042, /* Divide by 66.743079 */ 53 MERLIN16_PLL_DIV_67P878788 = (int)0xE0F84043, /* Divide by 67.878788 */ 54 MERLIN16_PLL_DIV_68 = (int)0x00000044, /* Divide by 68 */ 55 MERLIN16_PLL_DIV_68P537598 = (int)0x89A00044, /* Divide by 68.537598 */ 56 MERLIN16_PLL_DIV_68P570764 = (int)0x921D8044, /* Divide by 68.570764 */ 57 MERLIN16_PLL_DIV_68P828796 = (int)0xD42C0044, /* Divide by 68.828796 */ 58 MERLIN16_PLL_DIV_68P856242 = (int)0xDB32C044, /* Divide by 68.856242 */ 59 MERLIN16_PLL_DIV_69P152458 = (int)0x27078045, /* Divide by 69.152458 */ 60 MERLIN16_PLL_DIV_69P389964 = (int)0x63D4C045, /* Divide by 69.389964 */ 61 MERLIN16_PLL_DIV_69P818182 = (int)0xD1748045, /* Divide by 69.818182 */ 62 MERLIN16_PLL_DIV_70 = (int)0x00000046, /* Divide by 70 */ 63 MERLIN16_PLL_DIV_70P713596 = (int)0xB6AE4046, /* Divide by 70.713596 */ 64 MERLIN16_PLL_DIV_71P008 = (int)0x020C4047, /* Divide by 71.008 */ 65 MERLIN16_PLL_DIV_71P112952 = (int)0x1CEA8047, /* Divide by 71.P112952 */ 66 MERLIN16_PLL_DIV_71P31347 = (int)0x503F8047, /* Divide by 71.31347 */ 67 MERLIN16_PLL_DIV_71P5584 = (int)0x8EF34047, /* Divide by 71.5584 */ 68 MERLIN16_PLL_DIV_72 = (int)0x00000048, /* Divide by 72 */ 69 MERLIN16_PLL_DIV_73P335232 = (int)0x55D1C049, /* Divide by 73.335232 */ 70 MERLIN16_PLL_DIV_73P6 = (int)0x9999C049, /* Divide by 73.6 */ 71 MERLIN16_PLL_DIV_75 = (int)0x0000004B, /* Divide by 75 */ 72 MERLIN16_PLL_DIV_80 = (int)0x00000050, /* Divide by 80 */ 73 MERLIN16_PLL_DIV_82P5 = (int)0x80000052, /* Divide by 82.5 */ 74 MERLIN16_PLL_DIV_85P671997 = (int)0xAC080055, /* Divide by 85.671997 */ 75 MERLIN16_PLL_DIV_86P036 = (int)0x09374056, /* Divide by 86.036 */ 76 MERLIN16_PLL_DIV_87P5 = (int)0x80000057, /* Divide by 87.5 */ 77 MERLIN16_PLL_DIV_88P392 = (int)0x645A4058, /* Divide by 88.392 */ 78 MERLIN16_PLL_DIV_88P76 = (int)0xC28F8058, /* Divide by 88.76 */ 79 MERLIN16_PLL_DIV_89P141838 = (int)0x244F8059, /* Divide by 89.141838 */ 80 MERLIN16_PLL_DIV_89P447998 = (int)0x72B00059, /* Divide by 89.447998 */ 81 MERLIN16_PLL_DIV_90 = (int)0x0000005A, /* Divide by 90 */ 82 MERLIN16_PLL_DIV_91P669037 = (int)0xAB46005B, /* Divide by 91.669037 */ 83 MERLIN16_PLL_DIV_92 = (int)0x0000005C, /* Divide by 92 */ 84 MERLIN16_PLL_DIV_100 = (int)0x00000064, /* Divide by 100 */ 85 MERLIN16_PLL_DIV_170 = (int)0x000000AA, /* Divide by 170 */ 86 MERLIN16_PLL_DIV_187P5 = (int)0x800000BB, /* Divide by 187.5 */ 87 MERLIN16_PLL_DIV_200 = (int)0x000000C8, /* Divide by 200 */ 88 MERLIN16_PLL_DIV_206P25 = (int)0x400000CE /* Divide by 206.25 */ 89 }; 90 91 /** TX AFE Settings Enum */ 92 enum merlin16_tx_afe_settings_enum { 93 TX_AFE_PRE, 94 TX_AFE_MAIN, 95 TX_AFE_POST1, 96 TX_AFE_POST2, 97 TX_AFE_POST3, 98 TX_AFE_RPARA 99 }; 100 101 102 /** PLL Configuration Options Enum */ 103 enum merlin16_pll_option_enum { 104 MERLIN16_PLL_OPTION_NONE, 105 MERLIN16_PLL_OPTION_REFCLK_DOUBLER_EN, 106 MERLIN16_PLL_OPTION_REFCLK_DIV2_EN, 107 MERLIN16_PLL_OPTION_REFCLK_DIV4_EN, 108 MERLIN16_PLL_OPTION_DISABLE_VERIFY 109 }; 110 111 #endif