162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#ifndef __ASM_SH_BL_BIT_32_H 362306a36Sopenharmony_ci#define __ASM_SH_BL_BIT_32_H 462306a36Sopenharmony_ci 562306a36Sopenharmony_cistatic inline void set_bl_bit(void) 662306a36Sopenharmony_ci{ 762306a36Sopenharmony_ci unsigned long __dummy0, __dummy1; 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci __asm__ __volatile__ ( 1062306a36Sopenharmony_ci "stc sr, %0\n\t" 1162306a36Sopenharmony_ci "or %2, %0\n\t" 1262306a36Sopenharmony_ci "and %3, %0\n\t" 1362306a36Sopenharmony_ci "ldc %0, sr\n\t" 1462306a36Sopenharmony_ci : "=&r" (__dummy0), "=r" (__dummy1) 1562306a36Sopenharmony_ci : "r" (0x10000000), "r" (0xffffff0f) 1662306a36Sopenharmony_ci : "memory" 1762306a36Sopenharmony_ci ); 1862306a36Sopenharmony_ci} 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_cistatic inline void clear_bl_bit(void) 2162306a36Sopenharmony_ci{ 2262306a36Sopenharmony_ci unsigned long __dummy0, __dummy1; 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci __asm__ __volatile__ ( 2562306a36Sopenharmony_ci "stc sr, %0\n\t" 2662306a36Sopenharmony_ci "and %2, %0\n\t" 2762306a36Sopenharmony_ci "ldc %0, sr\n\t" 2862306a36Sopenharmony_ci : "=&r" (__dummy0), "=r" (__dummy1) 2962306a36Sopenharmony_ci : "1" (~0x10000000) 3062306a36Sopenharmony_ci : "memory" 3162306a36Sopenharmony_ci ); 3262306a36Sopenharmony_ci} 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci#endif /* __ASM_SH_BL_BIT_32_H */ 35