diff --git a/arch/arm/core/aarch64/reset.S b/arch/arm/core/aarch64/reset.S index e0be50aa505bf3eb11ee06b4cedafadfd2995375..87d7c4548cbd0de132e8e838f9144ff663feffee 100644 --- a/arch/arm/core/aarch64/reset.S +++ b/arch/arm/core/aarch64/reset.S @@ -184,16 +184,6 @@ References: bl z_arm64_prep_c - .globl raspi3_put32 -raspi3_put32: - str w1,[x0] - ret - - .globl raspi3_get32 -raspi3_get32: - ldr w0,[x0] - ret - .globl raspi3_delay raspi3_delay: subs x0, x0, #1 diff --git a/drivers/serial/uart_raspi3_mini.c b/drivers/serial/uart_raspi3_mini.c index 8307c6d8294853b13d3dd954ded2b9d1c3122121..344a90acef146594624795880cfdf4921f45c1a5 100644 --- a/drivers/serial/uart_raspi3_mini.c +++ b/drivers/serial/uart_raspi3_mini.c @@ -9,7 +9,7 @@ extern void raspi3_delay(unsigned long); extern void raspi3_put32(unsigned long, unsigned int); -extern unsigned int raspi3_get32(unsigned long); +extern unsigned int sys_read32(unsigned long); #define PBASE 0x3F000000 @@ -47,16 +47,16 @@ extern unsigned int raspi3_get32(unsigned long); static int uart_raspi3_mini_poll_in(const struct device *dev, unsigned char *c) { while (1) { - if (!(raspi3_get32(UART_FR) & (1 << 4))) break; + if (!(sys_read32(UART_FR) & (1 << 4))) break; } - *c = (raspi3_get32(UART_DR) & 0xFF); + *c = (sys_read32(UART_DR) & 0xFF); return 0; } static void uart_raspi3_mini_poll_out(const struct device *dev, unsigned char c) { while (1) { - if (!(raspi3_get32(UART_FR) & (1 << 5))) break; + if (!(sys_read32(UART_FR) & (1 << 5))) break; } raspi3_put32(UART_DR, c); } @@ -67,7 +67,7 @@ static int uart_raspi3_mini_init(const struct device *dev) { unsigned int selector; // 32 bits - selector = raspi3_get32(GPFSEL1); + selector = sys_read32(GPFSEL1); selector &= ~(7 << 12); selector |= 4 << 12; selector &= ~(7 << 15); diff --git a/kernel/raspi3.c b/kernel/raspi3.c index 76ba572e61a6d0e7683d7cd3f853ec6ebd5ef35f..63c93c7d8fe7ead4ee0def96fe6077bd0a3adde3 100644 --- a/kernel/raspi3.c +++ b/kernel/raspi3.c @@ -1,6 +1,5 @@ extern void raspi3_delay(unsigned long); extern void raspi3_put32(unsigned long, unsigned int); -extern unsigned int raspi3_get32(unsigned long); #define PBASE 0x3F000000 @@ -35,10 +34,14 @@ extern unsigned int raspi3_get32(unsigned long); #define CORE_FREQ 250 #define BAUD_FREQ 115200 +void raspi3_put32(uintptr_t addr, uint32_t val) { + sys_write32(val, addr); +} + void miniuart_init(void) { unsigned int selector; // 32 bits - selector = raspi3_get32(GPFSEL1); + selector = sys_read32(GPFSEL1); selector &= ~(7 << 12); selector |= 4 << 12; selector &= ~(7 << 15); @@ -61,16 +64,16 @@ void miniuart_init(void) { void miniuart_send(char c) { while (1) { - if (!(raspi3_get32(UART_FR) & (1 << 5))) break; + if (!(sys_read32(UART_FR) & (1 << 5))) break; } raspi3_put32(UART_DR, c); } char miniuart_recv(void) { while (1) { - if (!(raspi3_get32(UART_FR) & (1 << 4))) break; + if (!(sys_read32(UART_FR) & (1 << 4))) break; } - return (raspi3_get32(UART_DR) & 0xFF); + return (sys_read32(UART_DR) & 0xFF); } void miniuart_send_string(char *str) {