// SPDX-License-Identifier: GPL-2.0-or-later /* * Support for Digigram AlpX PCI-e boards * * Copyright (c) 2024 Digigram Digital (info@digigram.com) */ #ifndef _ALPX_VARIANTS_COMMON_H_ #define _ALPX_VARIANTS_COMMON_H_ #include "alpx.h" #include "alpx_reg.h" #include #include /** Common parts **/ /* Flash Partitions with USER access mode rules*/ static struct mtd_partition alpx_mtd_partitions[ALPX_FLASH_PARTITION_QTY] __attribute__((unused)) = { /* golden */ { .name = "golden", .offset = 0x000000, .size = 0x400000, }, /* user firmware */ { .name = "fw-user-updatable", .offset = 0x400000, .size = 0x218000, }, /* initial configuration */ { .name = "init-config", .offset = 0x400000 + 0x218000, .size = 0x008000, }, /* user configuration */ { .name = "user-config", .offset = 0x400000 + 0x218000 + 0x008000, .size = 0x008000, }, /* PRODUCTION : last area on flash, but keep it here to be the one before last partition*/ { .name = "production", .offset = 0x400000 + 0x218000 + 0x008000 + 0x008000, .size = 0x008000, /* Limited size : this is enough instead of remaining Flash which is 0x1D8000 bytes*/ } }; static struct mtd_partition alpx_dead_mtd_partitions[ALPX_DEAD_FLASH_PARTITION_QTY] __attribute__((unused)) = { /* GOLDEN Prod */ { .name = "golden-prod", .offset = ALPxxx_FLASH_GOLDEN_PRODUCTION_BASE, .size = 0x008000, }, /* PRODUCTION : last area on flash, but keep it here to be the one before last partition*/ { .name = "production", .offset = 0x400000 + 0x218000 + 0x008000 + 0x008000, .size = 0x008000, /* Limited size : this is enough instead of remaining Flash which is 0x1D8000 bytes*/ } }; /* Common clock controls */ static const char* alpxxx_control_choice_current_clk_values_entries[ALPxxx_CLK_MANAGER_CLK_VALUES_QTY] __attribute__((unused)) = { "8kHz", "11.025kHz", "16kHz","22.05kHz", "24kHz", "32kHz", "44.1kHz", "48kHz", "64kHz", "88.2kHz", "96kHz", "128kHz", "176,4kHz","192kHz" }; /* Same order than the constant values above */ static u32 alpxxx_control_choice_current_clk_values_entries_values[ALPxxx_CLK_MANAGER_CLK_VALUES_QTY] __attribute__((unused)) = { ALPxxx_CLK_MANAGER_CLK_VALUE_8K, ALPxxx_CLK_MANAGER_CLK_VALUE_11_025K, ALPxxx_CLK_MANAGER_CLK_VALUE_16K, ALPxxx_CLK_MANAGER_CLK_VALUE_22_05K, ALPxxx_CLK_MANAGER_CLK_VALUE_24K, ALPxxx_CLK_MANAGER_CLK_VALUE_32K, ALPxxx_CLK_MANAGER_CLK_VALUE_44_1K, ALPxxx_CLK_MANAGER_CLK_VALUE_48K, ALPxxx_CLK_MANAGER_CLK_VALUE_64K, ALPxxx_CLK_MANAGER_CLK_VALUE_88_2K, ALPxxx_CLK_MANAGER_CLK_VALUE_96K, ALPxxx_CLK_MANAGER_CLK_VALUE_128K, ALPxxx_CLK_MANAGER_CLK_VALUE_176_4K, ALPxxx_CLK_MANAGER_CLK_VALUE_192K , }; /* Digital channels gains scale */ static const DECLARE_TLV_DB_MINMAX_MUTE(alpxxx_line_digital_gains_scale, ALP_AMPLIFIER_GAIN_MIN_cdB, ALP_AMPLIFIER_GAIN_MAX_cdB); #endif /* _ALPX_VARIANTS_COMMON_H_ */