162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#ifndef __LOONGSON_SMP_H_ 362306a36Sopenharmony_ci#define __LOONGSON_SMP_H_ 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci/* for Loongson-3 smp support */ 662306a36Sopenharmony_ciextern unsigned long long smp_group[4]; 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/* 4 groups(nodes) in maximum in numa case */ 962306a36Sopenharmony_ci#define SMP_CORE_GROUP0_BASE (smp_group[0]) 1062306a36Sopenharmony_ci#define SMP_CORE_GROUP1_BASE (smp_group[1]) 1162306a36Sopenharmony_ci#define SMP_CORE_GROUP2_BASE (smp_group[2]) 1262306a36Sopenharmony_ci#define SMP_CORE_GROUP3_BASE (smp_group[3]) 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci/* 4 cores in each group(node) */ 1562306a36Sopenharmony_ci#define SMP_CORE0_OFFSET 0x000 1662306a36Sopenharmony_ci#define SMP_CORE1_OFFSET 0x100 1762306a36Sopenharmony_ci#define SMP_CORE2_OFFSET 0x200 1862306a36Sopenharmony_ci#define SMP_CORE3_OFFSET 0x300 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci/* ipi registers offsets */ 2162306a36Sopenharmony_ci#define STATUS0 0x00 2262306a36Sopenharmony_ci#define EN0 0x04 2362306a36Sopenharmony_ci#define SET0 0x08 2462306a36Sopenharmony_ci#define CLEAR0 0x0c 2562306a36Sopenharmony_ci#define STATUS1 0x10 2662306a36Sopenharmony_ci#define MASK1 0x14 2762306a36Sopenharmony_ci#define SET1 0x18 2862306a36Sopenharmony_ci#define CLEAR1 0x1c 2962306a36Sopenharmony_ci#define BUF 0x20 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci#endif 32