mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-20 03:38:43 +00:00
54 lines
1.1 KiB
ArmAsm
54 lines
1.1 KiB
ArmAsm
/**************************************
|
|
*
|
|
* copyright @ Motorola, 1999
|
|
*
|
|
**************************************/
|
|
|
|
#include <config.h>
|
|
#ifdef CONFIG_HARD_I2C
|
|
#include <ppc_asm.tmpl>
|
|
#include <asm/mmu.h>
|
|
/**********************************************************
|
|
* function: load_runtime_reg
|
|
*
|
|
* input: r3 - value of eumbbar
|
|
* r4 - register offset in embedded utility space
|
|
*
|
|
* output: r3 - register content
|
|
**********************************************************/
|
|
.text
|
|
.align 2
|
|
.global load_runtime_reg
|
|
load_runtime_reg:
|
|
|
|
/* xor r5,r5,r5
|
|
* or r5,r5,r3
|
|
*
|
|
* lwbrx r3,r4,r5
|
|
*/
|
|
lwbrx r3,r4,r3
|
|
sync
|
|
|
|
bclr 20, 0
|
|
|
|
/****************************************************************
|
|
* function: store_runtime_reg
|
|
*
|
|
* input: r3 - value of eumbbar
|
|
* r4 - register offset in embedded utility space
|
|
* r5 - new value to be stored
|
|
*
|
|
****************************************************************/
|
|
.text
|
|
.align 2
|
|
.global store_runtime_reg
|
|
store_runtime_reg:
|
|
|
|
stwbrx r5, r4, r3
|
|
sync
|
|
|
|
bclr 20,0
|
|
|
|
|
|
|
|
#endif /* CONFIG_HARD_I2C */
|