mirror of
https://github.com/espressif/esp-idf.git
synced 2026-05-19 23:45:28 +02:00
hal: Move dedicated GPIO LL and HAL
This commit moves the dedicated GPIO LL and HAL functions from cpu_ll.h to dedic_gpio_cpu_ll.h. - cpu_ll_enable_cycle_count() has also been removed due to lack of feasible usage scenarios
This commit is contained in:
@@ -166,30 +166,6 @@ static inline void cpu_ll_set_vecbase(const void* vecbase)
|
||||
asm volatile ("wsr %0, vecbase" :: "r" (vecbase));
|
||||
}
|
||||
|
||||
static inline uint32_t cpu_ll_read_dedic_gpio_in(void)
|
||||
{
|
||||
uint32_t value = 0;
|
||||
asm volatile("get_gpio_in %0" : "=r"(value) : :);
|
||||
return value;
|
||||
}
|
||||
|
||||
static inline uint32_t cpu_ll_read_dedic_gpio_out(void)
|
||||
{
|
||||
uint32_t value = 0;
|
||||
asm volatile("rur.gpio_out %0" : "=r"(value) : :);
|
||||
return value;
|
||||
}
|
||||
|
||||
static inline void cpu_ll_write_dedic_gpio_all(uint32_t value)
|
||||
{
|
||||
asm volatile("wur.gpio_out %0"::"r"(value):);
|
||||
}
|
||||
|
||||
static inline void cpu_ll_write_dedic_gpio_mask(uint32_t mask, uint32_t value)
|
||||
{
|
||||
asm volatile("wr_mask_gpio_out %0, %1" : : "r"(value), "r"(mask):);
|
||||
}
|
||||
|
||||
static inline void cpu_ll_waiti(void)
|
||||
{
|
||||
asm volatile ("waiti 0\n");
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
static inline uint32_t dedic_gpio_cpu_ll_read_in(void)
|
||||
{
|
||||
uint32_t value = 0;
|
||||
asm volatile("get_gpio_in %0" : "=r"(value) : :);
|
||||
return value;
|
||||
}
|
||||
|
||||
static inline uint32_t dedic_gpio_cpu_ll_read_out(void)
|
||||
{
|
||||
uint32_t value = 0;
|
||||
asm volatile("rur.gpio_out %0" : "=r"(value) : :);
|
||||
return value;
|
||||
}
|
||||
|
||||
static inline void dedic_gpio_cpu_ll_write_all(uint32_t value)
|
||||
{
|
||||
asm volatile("wur.gpio_out %0"::"r"(value):);
|
||||
}
|
||||
|
||||
static inline void dedic_gpio_cpu_ll_write_mask(uint32_t mask, uint32_t value)
|
||||
{
|
||||
asm volatile("wr_mask_gpio_out %0, %1" : : "r"(value), "r"(mask):);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user