Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx> --- arch/mips/include/asm/pbl_macros.h | 11 +++++++++++ arch/mips/mach-ath79/include/mach/ar71xx_regs.h | 3 +++ arch/mips/mach-ath79/include/mach/pbl_macros.h | 7 +++++++ 3 files changed, 21 insertions(+) diff --git a/arch/mips/include/asm/pbl_macros.h b/arch/mips/include/asm/pbl_macros.h index db46d0d..681b40a 100644 --- a/arch/mips/include/asm/pbl_macros.h +++ b/arch/mips/include/asm/pbl_macros.h @@ -37,6 +37,17 @@ .set pop .endm + .macro pbl_reg_set val addr + .set push + .set noreorder + li t9, \addr + li t8, \val + lw t7, 0(t9) + or t7, t8 + sw t7, 0(t9) + .set pop + .endm + .macro pbl_reg_clr clr addr .set push .set noreorder diff --git a/arch/mips/mach-ath79/include/mach/ar71xx_regs.h b/arch/mips/mach-ath79/include/mach/ar71xx_regs.h index 0b84c55..4cbe94a 100644 --- a/arch/mips/mach-ath79/include/mach/ar71xx_regs.h +++ b/arch/mips/mach-ath79/include/mach/ar71xx_regs.h @@ -67,6 +67,9 @@ #define AR71XX_GPIO_REG_INT_PENDING 0x20 #define AR71XX_GPIO_REG_INT_ENABLE 0x24 #define AR71XX_GPIO_REG_FUNC 0x28 +/* Warning! GPIO_FUNC[15] must be written with 1 */ +#define AR933X_GPIO_FUNC_RSRV15 BIT(15) +#define AR933X_GPIO_FUNC_UART_EN BIT(1) /* * PLL block diff --git a/arch/mips/mach-ath79/include/mach/pbl_macros.h b/arch/mips/mach-ath79/include/mach/pbl_macros.h index f0e0174..4ef90dc 100644 --- a/arch/mips/mach-ath79/include/mach/pbl_macros.h +++ b/arch/mips/mach-ath79/include/mach/pbl_macros.h @@ -129,4 +129,11 @@ .set pop .endm +#define GPIO_FUNC ((KSEG1 | AR71XX_GPIO_BASE) | AR71XX_GPIO_REG_FUNC) + +.macro pbl_ar9331_uart_enable + pbl_reg_set AR933X_GPIO_FUNC_UART_EN \ + | AR933X_GPIO_FUNC_RSRV15, GPIO_FUNC +.endm + #endif /* __ASM_MACH_ATH79_PBL_MACROS_H */ -- 2.6.2 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox