1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2268304f4SClemens Ladisch #ifndef CS2000_H_INCLUDED 3268304f4SClemens Ladisch #define CS2000_H_INCLUDED 4268304f4SClemens Ladisch 5268304f4SClemens Ladisch #define CS2000_DEV_ID 0x01 6268304f4SClemens Ladisch #define CS2000_DEV_CTRL 0x02 7268304f4SClemens Ladisch #define CS2000_DEV_CFG_1 0x03 8268304f4SClemens Ladisch #define CS2000_DEV_CFG_2 0x04 9268304f4SClemens Ladisch #define CS2000_GLOBAL_CFG 0x05 10268304f4SClemens Ladisch #define CS2000_RATIO_0 0x06 /* 32 bits, big endian */ 11268304f4SClemens Ladisch #define CS2000_RATIO_1 0x0a 12268304f4SClemens Ladisch #define CS2000_RATIO_2 0x0e 13268304f4SClemens Ladisch #define CS2000_RATIO_3 0x12 14268304f4SClemens Ladisch #define CS2000_FUN_CFG_1 0x16 15268304f4SClemens Ladisch #define CS2000_FUN_CFG_2 0x17 16268304f4SClemens Ladisch #define CS2000_FUN_CFG_3 0x1e 17268304f4SClemens Ladisch 18268304f4SClemens Ladisch /* DEV_ID */ 19268304f4SClemens Ladisch #define CS2000_DEVICE_MASK 0xf8 20268304f4SClemens Ladisch #define CS2000_REVISION_MASK 0x07 21268304f4SClemens Ladisch 22268304f4SClemens Ladisch /* DEV_CTRL */ 23268304f4SClemens Ladisch #define CS2000_UNLOCK 0x80 24268304f4SClemens Ladisch #define CS2000_AUX_OUT_DIS 0x02 25268304f4SClemens Ladisch #define CS2000_CLK_OUT_DIS 0x01 26268304f4SClemens Ladisch 27268304f4SClemens Ladisch /* DEV_CFG_1 */ 28268304f4SClemens Ladisch #define CS2000_R_MOD_SEL_MASK 0xe0 29268304f4SClemens Ladisch #define CS2000_R_MOD_SEL_1 0x00 30268304f4SClemens Ladisch #define CS2000_R_MOD_SEL_2 0x20 31268304f4SClemens Ladisch #define CS2000_R_MOD_SEL_4 0x40 32268304f4SClemens Ladisch #define CS2000_R_MOD_SEL_8 0x60 33268304f4SClemens Ladisch #define CS2000_R_MOD_SEL_1_2 0x80 34268304f4SClemens Ladisch #define CS2000_R_MOD_SEL_1_4 0xa0 35268304f4SClemens Ladisch #define CS2000_R_MOD_SEL_1_8 0xc0 36268304f4SClemens Ladisch #define CS2000_R_MOD_SEL_1_16 0xe0 37268304f4SClemens Ladisch #define CS2000_R_SEL_MASK 0x18 38268304f4SClemens Ladisch #define CS2000_R_SEL_SHIFT 3 39268304f4SClemens Ladisch #define CS2000_AUX_OUT_SRC_MASK 0x06 40268304f4SClemens Ladisch #define CS2000_AUX_OUT_SRC_REF_CLK 0x00 41268304f4SClemens Ladisch #define CS2000_AUX_OUT_SRC_CLK_IN 0x02 42268304f4SClemens Ladisch #define CS2000_AUX_OUT_SRC_CLK_OUT 0x04 43268304f4SClemens Ladisch #define CS2000_AUX_OUT_SRC_PLL_LOCK 0x06 44268304f4SClemens Ladisch #define CS2000_EN_DEV_CFG_1 0x01 45268304f4SClemens Ladisch 46268304f4SClemens Ladisch /* DEV_CFG_2 */ 47268304f4SClemens Ladisch #define CS2000_LOCK_CLK_MASK 0x06 48268304f4SClemens Ladisch #define CS2000_LOCK_CLK_SHIFT 1 49268304f4SClemens Ladisch #define CS2000_FRAC_N_SRC_MASK 0x01 50268304f4SClemens Ladisch #define CS2000_FRAC_N_SRC_STATIC 0x00 51268304f4SClemens Ladisch #define CS2000_FRAC_N_SRC_DYNAMIC 0x01 52268304f4SClemens Ladisch 53268304f4SClemens Ladisch /* GLOBAL_CFG */ 54268304f4SClemens Ladisch #define CS2000_FREEZE 0x08 55268304f4SClemens Ladisch #define CS2000_EN_DEV_CFG_2 0x01 56268304f4SClemens Ladisch 57268304f4SClemens Ladisch /* FUN_CFG_1 */ 58268304f4SClemens Ladisch #define CS2000_CLK_SKIP_EN 0x80 59268304f4SClemens Ladisch #define CS2000_AUX_LOCK_CFG_MASK 0x40 60268304f4SClemens Ladisch #define CS2000_AUX_LOCK_CFG_PP_HIGH 0x00 61268304f4SClemens Ladisch #define CS2000_AUX_LOCK_CFG_OD_LOW 0x40 62268304f4SClemens Ladisch #define CS2000_REF_CLK_DIV_MASK 0x18 63268304f4SClemens Ladisch #define CS2000_REF_CLK_DIV_4 0x00 64268304f4SClemens Ladisch #define CS2000_REF_CLK_DIV_2 0x08 65268304f4SClemens Ladisch #define CS2000_REF_CLK_DIV_1 0x10 66268304f4SClemens Ladisch 67268304f4SClemens Ladisch /* FUN_CFG_2 */ 68268304f4SClemens Ladisch #define CS2000_CLK_OUT_UNL 0x10 69268304f4SClemens Ladisch #define CS2000_L_F_RATIO_CFG_MASK 0x08 70268304f4SClemens Ladisch #define CS2000_L_F_RATIO_CFG_20_12 0x00 71268304f4SClemens Ladisch #define CS2000_L_F_RATIO_CFG_12_20 0x08 72268304f4SClemens Ladisch 73268304f4SClemens Ladisch /* FUN_CFG_3 */ 74268304f4SClemens Ladisch #define CS2000_CLK_IN_BW_MASK 0x70 75268304f4SClemens Ladisch #define CS2000_CLK_IN_BW_1 0x00 76268304f4SClemens Ladisch #define CS2000_CLK_IN_BW_2 0x10 77268304f4SClemens Ladisch #define CS2000_CLK_IN_BW_4 0x20 78268304f4SClemens Ladisch #define CS2000_CLK_IN_BW_8 0x30 79268304f4SClemens Ladisch #define CS2000_CLK_IN_BW_16 0x40 80268304f4SClemens Ladisch #define CS2000_CLK_IN_BW_32 0x50 81268304f4SClemens Ladisch #define CS2000_CLK_IN_BW_64 0x60 82268304f4SClemens Ladisch #define CS2000_CLK_IN_BW_128 0x70 83268304f4SClemens Ladisch 84268304f4SClemens Ladisch #endif 85