starfive: GPIO pin init

This patch should be removed, once we can do GPIO pin init
in secondboot or ddrinit

Include:
starfive: Add init GPIO for ALSA audio framework
starfive: remove useless gpio operation

Signed-off-by: sw.multimedia <sw.multimedia@starfivetech.com>
Signed-off-by: michael.yan <michael.yan@starfivetech.com>
Signed-off-by: andy.hu <andy.hu@starfivetech.com>
This commit is contained in:
sw.multimedia 2021-08-16 21:39:59 +08:00 committed by Tekkaman Ninja
parent 7b587f7703
commit fda7eff2db
29 changed files with 149300 additions and 1 deletions

View file

@ -0,0 +1,877 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Copyright (c) 2021 StarFive Technology Co., Ltd. */
/******************************************************************
*
* audio_clk_gen controller C MACRO generated by ezchip
*
******************************************************************/
#ifndef _AUDIO_CLK_GEN_MACRO_H_
#define _AUDIO_CLK_GEN_MACRO_H_
//#define AUDIO_CLK_GEN_BASE_ADDR 0x0
#define clk_adc_mclk_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x0
#define clk_i2s1_mclk_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x4
#define clk_apb_i2sadc_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x8
#define clk_i2sadc_bclk_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0xC
#define clk_i2sadc_bclk_n_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x10
#define clk_i2sadc_lrclk_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x14
#define clk_apb_pdm_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x18
#define clk_pdm_mclk_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x1C
#define clk_apb_i2svad_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x20
#define clk_spdif_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x24
#define clk_apb_spdif_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x28
#define clk_apb_pwmdac_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x2C
#define clk_dac_mclk_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x30
#define clk_apb_i2sdac_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x34
#define clk_i2sdac_bclk_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x38
#define clk_i2sdac_bclk_n_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x3C
#define clk_i2sdac_lrclk_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x40
#define clk_apb_i2s1_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x44
#define clk_i2s1_bclk_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x48
#define clk_i2s1_bclk_n_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x4C
#define clk_i2s1_lrclk_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x50
#define clk_apb_i2sdac16k_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x54
#define clk_apb0_bus_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x58
#define clk_dma1p_ahb_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x5C
#define clk_apb_usb_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x60
#define clk_usb_lpm_clk_predft_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x64
#define clk_usb_stb_clk_predft_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x68
#define clk_apb_en_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x6C
#define clk_vad_mem_ctrl_REG_ADDR AUDIO_CLK_GEN_BASE_ADDR + 0x70
#define _ENABLE_CLOCK_clk_adc_mclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_adc_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_adc_mclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_adc_mclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_adc_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_adc_mclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_adc_mclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_adc_mclk_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _SWITCH_CLOCK_clk_adc_mclk_SOURCE_clk_audio_src_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_adc_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<24; \
MA_OUTW(clk_adc_mclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_adc_mclk_SOURCE_clk_audio_12288_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_adc_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<24; \
MA_OUTW(clk_adc_mclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_SOURCE_STATUS_clk_adc_mclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_adc_mclk_ctrl_REG_ADDR) >> 24; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _DIVIDE_CLOCK_clk_adc_mclk_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_adc_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xF); \
_ezchip_macro_read_value_ |= (div&0xF); \
MA_OUTW(clk_adc_mclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_adc_mclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_adc_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xf;\
}
#define _ENABLE_CLOCK_clk_i2s1_mclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2s1_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_i2s1_mclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_i2s1_mclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2s1_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_i2s1_mclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_i2s1_mclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_i2s1_mclk_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _SWITCH_CLOCK_clk_i2s1_mclk_SOURCE_clk_audio_src_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2s1_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<24; \
MA_OUTW(clk_i2s1_mclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_i2s1_mclk_SOURCE_clk_audio_12288_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2s1_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<24; \
MA_OUTW(clk_i2s1_mclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_SOURCE_STATUS_clk_i2s1_mclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_i2s1_mclk_ctrl_REG_ADDR) >> 24; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _DIVIDE_CLOCK_clk_i2s1_mclk_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2s1_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xF); \
_ezchip_macro_read_value_ |= (div&0xF); \
MA_OUTW(clk_i2s1_mclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_i2s1_mclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_i2s1_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xf;\
}
#define _ENABLE_CLOCK_clk_apb_i2sadc_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_apb_i2sadc_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_apb_i2sadc_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_apb_i2sadc_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_apb_i2sadc_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_apb_i2sadc_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_apb_i2sadc_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_apb_i2sadc_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_i2sadc_bclk_ {}
#define _SWITCH_CLOCK_clk_i2sadc_bclk_SOURCE_clk_adc_mclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2sadc_bclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<24; \
MA_OUTW(clk_i2sadc_bclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_i2sadc_bclk_SOURCE_clk_i2sadc_bclk_iopad_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2sadc_bclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<24; \
MA_OUTW(clk_i2sadc_bclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_SOURCE_STATUS_clk_i2sadc_bclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_i2sadc_bclk_ctrl_REG_ADDR) >> 24; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _DIVIDE_CLOCK_clk_i2sadc_bclk_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2sadc_bclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1F); \
_ezchip_macro_read_value_ |= (div&0x1F); \
MA_OUTW(clk_i2sadc_bclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_i2sadc_bclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_i2sadc_bclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x1f;\
}
#define _ENABLE_CLOCK_clk_i2sadc_bclk_n_ {}
#define _SET_CLOCK_clk_i2sadc_bclk_n_POLARITY_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2sadc_bclk_n_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<30); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<30; \
MA_OUTW(clk_i2sadc_bclk_n_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _UNSET_CLOCK_clk_i2sadc_bclk_n_POLARITY_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2sadc_bclk_n_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<30); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<30; \
MA_OUTW(clk_i2sadc_bclk_n_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_POLARITY_STATUS_clk_i2sadc_bclk_n_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_i2sadc_bclk_n_ctrl_REG_ADDR) >> 30; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_i2sadc_lrclk_ {}
#define _SWITCH_CLOCK_clk_i2sadc_lrclk_SOURCE_clk_i2sadc_bclk_n_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2sadc_lrclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3<<24); \
_ezchip_macro_read_value_ |= (0x0&0x3)<<24; \
MA_OUTW(clk_i2sadc_lrclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_i2sadc_lrclk_SOURCE_clk_i2sadc_lrclk_iopad_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2sadc_lrclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3<<24); \
_ezchip_macro_read_value_ |= (0x1&0x3)<<24; \
MA_OUTW(clk_i2sadc_lrclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_i2sadc_lrclk_SOURCE_clk_i2sadc_bclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2sadc_lrclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3<<24); \
_ezchip_macro_read_value_ |= (0x2&0x3)<<24; \
MA_OUTW(clk_i2sadc_lrclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_SOURCE_STATUS_clk_i2sadc_lrclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_i2sadc_lrclk_ctrl_REG_ADDR) >> 24; \
_ezchip_macro_read_value_ &= 0x3;\
}
#define _DIVIDE_CLOCK_clk_i2sadc_lrclk_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2sadc_lrclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3F); \
_ezchip_macro_read_value_ |= (div&0x3F); \
MA_OUTW(clk_i2sadc_lrclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_i2sadc_lrclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_i2sadc_lrclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x3f;\
}
#define _ENABLE_CLOCK_clk_apb_pdm_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_apb_pdm_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_apb_pdm_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_apb_pdm_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_apb_pdm_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_apb_pdm_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_apb_pdm_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_apb_pdm_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_pdm_mclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_pdm_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_pdm_mclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_pdm_mclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_pdm_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_pdm_mclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_pdm_mclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_pdm_mclk_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _SWITCH_CLOCK_clk_pdm_mclk_SOURCE_clk_audio_src_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_pdm_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<24; \
MA_OUTW(clk_pdm_mclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_pdm_mclk_SOURCE_clk_audio_12288_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_pdm_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<24; \
MA_OUTW(clk_pdm_mclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_SOURCE_STATUS_clk_pdm_mclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_pdm_mclk_ctrl_REG_ADDR) >> 24; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _DIVIDE_CLOCK_clk_pdm_mclk_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_pdm_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xF); \
_ezchip_macro_read_value_ |= (div&0xF); \
MA_OUTW(clk_pdm_mclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_pdm_mclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_pdm_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xf;\
}
#define _ENABLE_CLOCK_clk_apb_i2svad_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_apb_i2svad_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_apb_i2svad_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_apb_i2svad_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_apb_i2svad_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_apb_i2svad_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_apb_i2svad_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_apb_i2svad_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_spdif_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_spdif_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_spdif_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_spdif_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_spdif_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_spdif_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_spdif_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_spdif_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _SWITCH_CLOCK_clk_spdif_SOURCE_clk_audio_src_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_spdif_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<24; \
MA_OUTW(clk_spdif_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_spdif_SOURCE_clk_audio_12288_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_spdif_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<24; \
MA_OUTW(clk_spdif_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_SOURCE_STATUS_clk_spdif_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_spdif_ctrl_REG_ADDR) >> 24; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _DIVIDE_CLOCK_clk_spdif_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_spdif_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xF); \
_ezchip_macro_read_value_ |= (div&0xF); \
MA_OUTW(clk_spdif_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_spdif_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_spdif_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xf;\
}
#define _ENABLE_CLOCK_clk_apb_spdif_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_apb_spdif_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_apb_spdif_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_apb_spdif_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_apb_spdif_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_apb_spdif_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_apb_spdif_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_apb_spdif_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_apb_pwmdac_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_apb_pwmdac_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_apb_pwmdac_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_apb_pwmdac_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_apb_pwmdac_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_apb_pwmdac_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_apb_pwmdac_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_apb_pwmdac_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_dac_mclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_dac_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_dac_mclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_dac_mclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_dac_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_dac_mclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_dac_mclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_dac_mclk_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _SWITCH_CLOCK_clk_dac_mclk_SOURCE_clk_audio_src_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_dac_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<24; \
MA_OUTW(clk_dac_mclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_dac_mclk_SOURCE_clk_audio_12288_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_dac_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<24; \
MA_OUTW(clk_dac_mclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_SOURCE_STATUS_clk_dac_mclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_dac_mclk_ctrl_REG_ADDR) >> 24; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _DIVIDE_CLOCK_clk_dac_mclk_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_dac_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xF); \
_ezchip_macro_read_value_ |= (div&0xF); \
MA_OUTW(clk_dac_mclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_dac_mclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_dac_mclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xf;\
}
#define _ENABLE_CLOCK_clk_apb_i2sdac_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_apb_i2sdac_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_apb_i2sdac_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_apb_i2sdac_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_apb_i2sdac_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_apb_i2sdac_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_apb_i2sdac_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_apb_i2sdac_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_i2sdac_bclk_ {}
#define _SWITCH_CLOCK_clk_i2sdac_bclk_SOURCE_clk_dac_mclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2sdac_bclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<24; \
MA_OUTW(clk_i2sdac_bclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_i2sdac_bclk_SOURCE_clk_i2sdac_bclk_iopad_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2sdac_bclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<24; \
MA_OUTW(clk_i2sdac_bclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_SOURCE_STATUS_clk_i2sdac_bclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_i2sdac_bclk_ctrl_REG_ADDR) >> 24; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _DIVIDE_CLOCK_clk_i2sdac_bclk_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2sdac_bclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1F); \
_ezchip_macro_read_value_ |= (div&0x1F); \
MA_OUTW(clk_i2sdac_bclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_i2sdac_bclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_i2sdac_bclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x1f;\
}
#define _ENABLE_CLOCK_clk_i2sdac_bclk_n_ {}
#define _SET_CLOCK_clk_i2sdac_bclk_n_POLARITY_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2sdac_bclk_n_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<30); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<30; \
MA_OUTW(clk_i2sdac_bclk_n_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _UNSET_CLOCK_clk_i2sdac_bclk_n_POLARITY_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2sdac_bclk_n_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<30); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<30; \
MA_OUTW(clk_i2sdac_bclk_n_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_POLARITY_STATUS_clk_i2sdac_bclk_n_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_i2sdac_bclk_n_ctrl_REG_ADDR) >> 30; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_i2sdac_lrclk_ {}
#define _SWITCH_CLOCK_clk_i2sdac_lrclk_SOURCE_clk_i2sdac_bclk_n_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2sdac_lrclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3<<24); \
_ezchip_macro_read_value_ |= (0x0&0x3)<<24; \
MA_OUTW(clk_i2sdac_lrclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_i2sdac_lrclk_SOURCE_clk_i2sdac_lrclk_iopad_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2sdac_lrclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3<<24); \
_ezchip_macro_read_value_ |= (0x1&0x3)<<24; \
MA_OUTW(clk_i2sdac_lrclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_i2sdac_lrclk_SOURCE_clk_i2sdac_bclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2sdac_lrclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3<<24); \
_ezchip_macro_read_value_ |= (0x2&0x3)<<24; \
MA_OUTW(clk_i2sdac_lrclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_SOURCE_STATUS_clk_i2sdac_lrclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_i2sdac_lrclk_ctrl_REG_ADDR) >> 24; \
_ezchip_macro_read_value_ &= 0x3;\
}
#define _DIVIDE_CLOCK_clk_i2sdac_lrclk_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2sdac_lrclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3F); \
_ezchip_macro_read_value_ |= (div&0x3F); \
MA_OUTW(clk_i2sdac_lrclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_i2sdac_lrclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_i2sdac_lrclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x3f;\
}
#define _ENABLE_CLOCK_clk_apb_i2s1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_apb_i2s1_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_apb_i2s1_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_apb_i2s1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_apb_i2s1_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_apb_i2s1_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_apb_i2s1_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_apb_i2s1_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_i2s1_bclk_ {}
#define _SWITCH_CLOCK_clk_i2s1_bclk_SOURCE_clk_i2s1_mclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2s1_bclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<24; \
MA_OUTW(clk_i2s1_bclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_i2s1_bclk_SOURCE_clk_i2sdac_bclk_iopad_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2s1_bclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<24; \
MA_OUTW(clk_i2s1_bclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_SOURCE_STATUS_clk_i2s1_bclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_i2s1_bclk_ctrl_REG_ADDR) >> 24; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _DIVIDE_CLOCK_clk_i2s1_bclk_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2s1_bclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1F); \
_ezchip_macro_read_value_ |= (div&0x1F); \
MA_OUTW(clk_i2s1_bclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_i2s1_bclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_i2s1_bclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x1f;\
}
#define _ENABLE_CLOCK_clk_i2s1_bclk_n_ {}
#define _SET_CLOCK_clk_i2s1_bclk_n_POLARITY_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2s1_bclk_n_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<30); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<30; \
MA_OUTW(clk_i2s1_bclk_n_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _UNSET_CLOCK_clk_i2s1_bclk_n_POLARITY_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2s1_bclk_n_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<30); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<30; \
MA_OUTW(clk_i2s1_bclk_n_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_POLARITY_STATUS_clk_i2s1_bclk_n_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_i2s1_bclk_n_ctrl_REG_ADDR) >> 30; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_i2s1_lrclk_ {}
#define _SWITCH_CLOCK_clk_i2s1_lrclk_SOURCE_clk_i2s1_bclk_n_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2s1_lrclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3<<24); \
_ezchip_macro_read_value_ |= (0x0&0x3)<<24; \
MA_OUTW(clk_i2s1_lrclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_i2s1_lrclk_SOURCE_clk_i2sdac_lrclk_iopad_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2s1_lrclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3<<24); \
_ezchip_macro_read_value_ |= (0x1&0x3)<<24; \
MA_OUTW(clk_i2s1_lrclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_i2s1_lrclk_SOURCE_clk_i2s1_bclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2s1_lrclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3<<24); \
_ezchip_macro_read_value_ |= (0x2&0x3)<<24; \
MA_OUTW(clk_i2s1_lrclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_SOURCE_STATUS_clk_i2s1_lrclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_i2s1_lrclk_ctrl_REG_ADDR) >> 24; \
_ezchip_macro_read_value_ &= 0x3;\
}
#define _DIVIDE_CLOCK_clk_i2s1_lrclk_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_i2s1_lrclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3F); \
_ezchip_macro_read_value_ |= (div&0x3F); \
MA_OUTW(clk_i2s1_lrclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_i2s1_lrclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_i2s1_lrclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x3f;\
}
#define _ENABLE_CLOCK_clk_apb_i2sdac16k_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_apb_i2sdac16k_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_apb_i2sdac16k_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_apb_i2sdac16k_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_apb_i2sdac16k_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_apb_i2sdac16k_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_apb_i2sdac16k_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_apb_i2sdac16k_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_apb0_bus_ {}
#define _DIVIDE_CLOCK_clk_apb0_bus_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_apb0_bus_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xF); \
_ezchip_macro_read_value_ |= (div&0xF); \
MA_OUTW(clk_apb0_bus_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_apb0_bus_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_apb0_bus_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xf;\
}
#define _ENABLE_CLOCK_clk_dma1p_ahb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_dma1p_ahb_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_dma1p_ahb_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_dma1p_ahb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_dma1p_ahb_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_dma1p_ahb_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_dma1p_ahb_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_dma1p_ahb_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_apb_usb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_apb_usb_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_apb_usb_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_apb_usb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_apb_usb_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_apb_usb_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_apb_usb_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_apb_usb_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_usb_lpm_clk_predft_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_usb_lpm_clk_predft_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_usb_lpm_clk_predft_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_usb_lpm_clk_predft_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_usb_lpm_clk_predft_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_usb_lpm_clk_predft_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_usb_lpm_clk_predft_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_usb_lpm_clk_predft_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _DIVIDE_CLOCK_clk_usb_lpm_clk_predft_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_usb_lpm_clk_predft_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x7); \
_ezchip_macro_read_value_ |= (div&0x7); \
MA_OUTW(clk_usb_lpm_clk_predft_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_usb_lpm_clk_predft_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_usb_lpm_clk_predft_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x7;\
}
#define _ENABLE_CLOCK_clk_usb_stb_clk_predft_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_usb_stb_clk_predft_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_usb_stb_clk_predft_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_usb_stb_clk_predft_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_usb_stb_clk_predft_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_usb_stb_clk_predft_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_usb_stb_clk_predft_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_usb_stb_clk_predft_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _DIVIDE_CLOCK_clk_usb_stb_clk_predft_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_usb_stb_clk_predft_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3); \
_ezchip_macro_read_value_ |= (div&0x3); \
MA_OUTW(clk_usb_stb_clk_predft_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_usb_stb_clk_predft_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_usb_stb_clk_predft_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x3;\
}
#define _ENABLE_CLOCK_clk_apb_en_ {}
#define _DIVIDE_CLOCK_clk_apb_en_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_apb_en_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xF); \
_ezchip_macro_read_value_ |= (div&0xF); \
MA_OUTW(clk_apb_en_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_apb_en_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_apb_en_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xf;\
}
#define _ENABLE_CLOCK_clk_vad_mem_ {}
#define _SWITCH_CLOCK_clk_vad_mem_SOURCE_clk_vad_intmem_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_vad_mem_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<24; \
MA_OUTW(clk_vad_mem_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_vad_mem_SOURCE_clk_i2svad_bclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_vad_mem_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<24; \
MA_OUTW(clk_vad_mem_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_SOURCE_STATUS_clk_vad_mem_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_vad_mem_ctrl_REG_ADDR) >> 24; \
_ezchip_macro_read_value_ &= 0x1;\
}
#endif //_AUDIO_CLK_GEN_MACRO_H_

View file

@ -0,0 +1,531 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Copyright (c) 2021 StarFive Technology Co., Ltd. */
/******************************************************************
*
* audio_rst_gen controller C MACRO generated by ezchip
*
******************************************************************/
#ifndef _AUDIO_RST_GEN_MACRO_H_
#define _AUDIO_RST_GEN_MACRO_H_
//#define AUDIO_RST_GEN_BASE_ADDR 0x0
#define audio_rst_gen_Software_RESET_assert0_REG_ADDR AUDIO_RST_GEN_BASE_ADDR + 0x0
#define audio_rst_gen_Software_RESET_status0_REG_ADDR AUDIO_RST_GEN_BASE_ADDR + 0x4
#define _READ_RESET_STATUS_audio_rst_gen_rstn_apb_bus_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_audio_rst_gen_rstn_apb_bus_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1); \
_ezchip_macro_read_value_ |= (0x1&0x1); \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_audio_rst_gen_rstn_apb_bus_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1); \
_ezchip_macro_read_value_ |= (0x0&0x1); \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_audio_rst_gen_rstn_apb_i2sadc_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR) >> 1; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_audio_rst_gen_rstn_apb_i2sadc_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<1); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<1; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>1; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_audio_rst_gen_rstn_apb_i2sadc_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<1); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<1; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>1; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_audio_rst_gen_rstn_i2sadc_srst_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR) >> 2; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_audio_rst_gen_rstn_i2sadc_srst_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<2); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<2; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>2; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_audio_rst_gen_rstn_i2sadc_srst_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<2); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<2; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>2; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_audio_rst_gen_rstn_apb_pdm_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR) >> 3; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_audio_rst_gen_rstn_apb_pdm_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<3); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<3; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>3; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_audio_rst_gen_rstn_apb_pdm_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<3); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<3; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>3; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_audio_rst_gen_rstn_apb_i2svad_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR) >> 4; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_audio_rst_gen_rstn_apb_i2svad_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<4); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<4; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>4; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_audio_rst_gen_rstn_apb_i2svad_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<4); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<4; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>4; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_audio_rst_gen_rstn_i2svad_srst_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR) >> 5; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_audio_rst_gen_rstn_i2svad_srst_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<5); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<5; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>5; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_audio_rst_gen_rstn_i2svad_srst_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<5); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<5; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>5; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_audio_rst_gen_rstn_apb_spdif_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR) >> 6; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_audio_rst_gen_rstn_apb_spdif_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<6); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<6; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>6; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_audio_rst_gen_rstn_apb_spdif_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<6); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<6; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>6; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_audio_rst_gen_rstn_apb_pwmdac_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR) >> 7; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_audio_rst_gen_rstn_apb_pwmdac_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<7); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<7; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>7; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_audio_rst_gen_rstn_apb_pwmdac_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<7); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<7; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>7; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_audio_rst_gen_rstn_apb_i2sdac_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR) >> 8; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_audio_rst_gen_rstn_apb_i2sdac_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<8); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<8; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>8; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_audio_rst_gen_rstn_apb_i2sdac_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<8); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<8; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>8; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_audio_rst_gen_rstn_i2sdac_srst_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR) >> 9; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_audio_rst_gen_rstn_i2sdac_srst_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<9); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<9; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>9; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_audio_rst_gen_rstn_i2sdac_srst_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<9); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<9; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>9; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_audio_rst_gen_rstn_apb_i2s1_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR) >> 10; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_audio_rst_gen_rstn_apb_i2s1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<10); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<10; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>10; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_audio_rst_gen_rstn_apb_i2s1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<10); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<10; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>10; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_audio_rst_gen_rstn_i2s1_srst_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR) >> 11; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_audio_rst_gen_rstn_i2s1_srst_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<11); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<11; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>11; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_audio_rst_gen_rstn_i2s1_srst_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<11); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<11; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>11; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_audio_rst_gen_rstn_apb_i2sdac16k_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR) >> 12; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_audio_rst_gen_rstn_apb_i2sdac16k_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<12); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<12; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>12; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_audio_rst_gen_rstn_apb_i2sdac16k_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<12); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<12; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>12; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_audio_rst_gen_rstn_i2sdac16k_srst_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR) >> 13; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_audio_rst_gen_rstn_i2sdac16k_srst_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<13); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<13; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>13; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_audio_rst_gen_rstn_i2sdac16k_srst_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<13); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<13; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>13; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_audio_rst_gen_rstn_dma1p_ahb_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR) >> 14; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_audio_rst_gen_rstn_dma1p_ahb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<14); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<14; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>14; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_audio_rst_gen_rstn_dma1p_ahb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<14); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<14; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>14; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_audio_rst_gen_rstn_apb_usb_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR) >> 15; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_audio_rst_gen_rstn_apb_usb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<15); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<15; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>15; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_audio_rst_gen_rstn_apb_usb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<15); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<15; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>15; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_audio_rst_gen_rst_axi_usb_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR) >> 16; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_audio_rst_gen_rst_axi_usb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<16); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<16; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>16; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_audio_rst_gen_rst_axi_usb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<16); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<16; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>16; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_audio_rst_gen_rst_usb_pwrup_rst_n_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR) >> 17; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_audio_rst_gen_rst_usb_pwrup_rst_n_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<17); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<17; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>17; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_audio_rst_gen_rst_usb_pwrup_rst_n_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<17); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<17; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>17; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_audio_rst_gen_rst_usb_PONRST_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR) >> 18; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_audio_rst_gen_rst_usb_PONRST_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<18); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<18; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>18; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_audio_rst_gen_rst_usb_PONRST_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(audio_rst_gen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<18); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<18; \
MA_OUTW(audio_rst_gen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(audio_rst_gen_Software_RESET_status0_REG_ADDR)>>18; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#endif //_AUDIO_RST_GEN_MACRO_H_

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,133 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Copyright (c) 2021 StarFive Technology Co., Ltd. */
//
// chips && media.h
//
// JH chips and media Defines
//
// Description:
//
// Revision History:
// DATE VERSION AUTHOR NOTE
// ---------- ------- ----------- ------------------------------
// 2019/04/29 0.1 jing.rao Initial
//
#ifndef _CM_COMMON_H
#define _CM_COMMON_H
#define JH_WAVE_VDEC
//#define JH_WAVE_VENC 1
extern int vdec_bs_mode;
#define JH_DDR0 1
#ifdef JH_DDR0
#define JH_CODE_START_BASE 0x80000000 ///0x1000000000///
#else
#define JH_CODE_START_BASE 0x1000000000
#endif
#define JH_VODE_START_SIZE 0x4000000///0x3200000 /* 64MB */
#define SYSTEMPORT_START 0x1000000000
#define MEMPORT_START 0x80000000
#define JPEG_DEC_MEMPORT_TO_SYSTEMPORT (SYSTEMPORT_START-MEMPORT_START)
#define WAVE5_SEC_ADDR 0x18080000
/* firware 1MB [ 0x8400_0000 ] */
#define WAVE5_FIWMWARE_BUFFER_BASE (/*JPEG_DEC_MEMPORT_TO_SYSTEMPORT + */JH_CODE_START_BASE + JH_VODE_START_SIZE)
#define WAVE5_FIWMWARE_BUFFER_SIZE (0x100000) /* 1024*1024*1 -- 1MB */
/* H265 bitstream 10MB [ 0x8410_0000 ] */
#define WAVE5_FILE_BUFFER_BASE (/*JPEG_DEC_MEMPORT_TO_SYSTEMPORT + */WAVE5_FIWMWARE_BUFFER_BASE + WAVE5_FIWMWARE_BUFFER_SIZE)
#define WAVE5_FILE_BUFFER_SIZE (0xA00000) /* 1024*1024*10 -- 10MB */
/* vdb_video_memory 128MB [ 0x84B0_0000 ] */
#define WAVE5_VPU_DRAM_PHYSICAL_BASE (WAVE5_FILE_BUFFER_BASE + WAVE5_FILE_BUFFER_SIZE)
#define WAVE5_VPU_DRAM_SIZE (128*1024*1024) /* 128MB */
/* WAVE5 yuv data buffer 4MB [ 0x8CB0_0000 ] */
#define WAVE5_YUV_BUFFER_BASE (WAVE5_VPU_DRAM_PHYSICAL_BASE + WAVE5_VPU_DRAM_SIZE)
#define WAVE5_YUV_BUFFER_SIZE 0xA00000
#define WAVE5_BUFF_FLUSH_BASE (WAVE5_FIWMWARE_BUFFER_BASE)
#define WAVE5_BUFF_FLUSH_SIZE (WAVE5_FIWMWARE_BUFFER_SIZE + WAVE5_FILE_BUFFER_SIZE + WAVE5_VPU_DRAM_SIZE)
#if 1
/* enc: bitstream buffer to put jpg data 4MB [ 0x8400_0000 ] */
#define JPEG_BITSTREAM_BUFFER_BASE (JH_CODE_START_BASE + JH_VODE_START_SIZE)
#define JPEG_BITSTREAM_BUFFER_SIZE 0x400000 /* 4MB */
/* jpeg yuv data feeder buffer 4MB [ 0x8440_0000 ] */
#define JPEG_YUV_FEEDER_BUFFER_BASE (JPEG_BITSTREAM_BUFFER_BASE + JPEG_BITSTREAM_BUFFER_SIZE)
#define JPEG_YUV_FEEDER_BUFFER_SIZE 0x400000
/* s_jdb_video_memory 128MB [ 0x8480_0000 ] */
#define JPEG_DRAM_PHYSICAL_BASE (JPEG_YUV_FEEDER_BUFFER_BASE + JPEG_YUV_FEEDER_BUFFER_SIZE)
#define JPEG_JDI_DRAM_PHYSICAL_SIZE (128*1024*1024) /* 8000000 128MB */
/* dec: bitstream buffer to put jpg data 4MB [ 0x8C80_0000 ] */
#define JPEG_BITSTREAM_JPG_FEEDING_BUFFER_BASE (JPEG_DRAM_PHYSICAL_BASE + JPEG_JDI_DRAM_PHYSICAL_SIZE)
#define JPEG_BITSTREAM_JPG_FEEDING_BUFFER_SIZE 0x400000
/* dec: jpeg yuv data 4MB [ 0x8CC0_0000 ] */
#define JPEG_DEC_YUV_BUFFER_BASE (JPEG_BITSTREAM_JPG_FEEDING_BUFFER_BASE + JPEG_BITSTREAM_JPG_FEEDING_BUFFER_SIZE + JPEG_DEC_MEMPORT_TO_SYSTEMPORT)
#define JPEG_DEC_YUV_BUFFER_SIZE 0x400000
#define JPEG_ENC_BUFF_FLUSH_BASE JPEG_BITSTREAM_BUFFER_BASE
#define JPEG_ENC_BUFF_FLUSH_SIZE (JPEG_BITSTREAM_BUFFER_SIZE + JPEG_YUV_FEEDER_BUFFER_SIZE + JPEG_JDI_DRAM_PHYSICAL_SIZE)
#define JPEG_DEC_BUFF_FLUSH_BASE JPEG_DRAM_PHYSICAL_BASE
#define JPEG_DEC_BUFF_FLUSH_SIZE (JPEG_JDI_DRAM_PHYSICAL_SIZE + JPEG_BITSTREAM_JPG_FEEDING_BUFFER_SIZE + JPEG_DEC_YUV_BUFFER_SIZE)
#else
#define JPEG_TEST_INTMEM 1
#define JPEG_ENC_Y_BASE (0x18080000)
#define JPEG_ENC_Cb_BASE (0x18080000 + 0xC800)
#define JPEG_ENC_Cr_BASE (0x18080000 + 0x19000)
/* enc: bitstream buffer to put jpg data 4MB 0x1801_9000 */
#define JPEG_BITSTREAM_reg_BASE (0x18000000 + 0x19000)
#define JPEG_BITSTREAM_reg_SIZE (0xC800)
/* enc: bitstream buffer to put jpg data 4MB 0x1800_C800 */
#define JPEG_BITSTREAM_BUFFER_BASE (0x18000000 + 0xC800)
#define JPEG_BITSTREAM_BUFFER_SIZE (0xC800)
/* jpeg yuv data feeder buffer 4MB 0x1800_0000 144x176 = 0x6300*/
#define JPEG_YUV_FEEDER_BUFFER_BASE (0x18000000)
#define JPEG_YUV_FEEDER_BUFFER_SIZE (0xC800)
/* s_jdb_video_memory 128MB 0x83A0_0000 or 0x10_03A0_0000 */
#define JPEG_DRAM_PHYSICAL_BASE (JH_CODE_START_BASE + JH_VODE_START_SIZE)
#define JPEG_JDI_DRAM_PHYSICAL_SIZE (128*1024*1024)
/* dec: bitstream buffer to put jpg data 128KB 0x1800_0000 */
#define JPEG_BITSTREAM_JPG_FEEDING_BUFFER_BASE (0x18000000)
#define JPEG_BITSTREAM_JPG_FEEDING_BUFFER_SIZE (0xC800)
/* dec: jpeg yuv data 4MB [ 0x1800_C800 ] */
#define JPEG_DEC_YUV_BUFFER_BASE (JPEG_BITSTREAM_JPG_FEEDING_BUFFER_BASE + JPEG_BITSTREAM_JPG_FEEDING_BUFFER_SIZE)
#define JPEG_DEC_YUV_BUFFER_SIZE (0x11800) /* 70KB*/
#define JPEG_DEC_Y_BASE (0x18080000)
#define JPEG_DEC_Cb_BASE (0x18080000 + 0xC800)
#define JPEG_DEC_Cr_BASE (0x18080000 + 0x19000)
#define JPEG_ENC_BUFF_FLUSH_BASE JPEG_DRAM_PHYSICAL_BASE
#define JPEG_ENC_BUFF_FLUSH_SIZE (JPEG_JDI_DRAM_PHYSICAL_SIZE)
#define JPEG_DEC_BUFF_FLUSH_BASE JPEG_DRAM_PHYSICAL_BASE
#define JPEG_DEC_BUFF_FLUSH_SIZE JPEG_JDI_DRAM_PHYSICAL_SIZE
#endif
#endif // _CM_COMMON_H

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,274 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Copyright (c) 2021 StarFive Technology Co., Ltd. */
//
// jh_reg.h
//
// JH registers Defines
//
// Description:
//
// Revision History:
// DATE VERSION AUTHOR NOTE
// ---------- ------- ----------- ------------------------------
// 2019/04/29 0.1 Zavier Initial
//
#ifndef _GLOBAL_REG_H
#define _GLOBAL_REG_H
// Pheripheral register access
#define REGW(a) *((volatile UINT32 *)(a))
#define REGH(a) *((volatile UINT16 *)(a))
#define REGB(a) *((volatile UINT8 *)(a))
//CADENCE QSPI AHB
#define QSPI_BASE_AHB_ADDR 0x20000000UL
// OSPI
#define OSPI_BASE_ADDR 0x76000000UL
// DSP0
#define DSP_0_BASE_ADDR 0xA0000000UL
// DSP1
#define DSP_1_BASE_ADDR 0xA0100000UL
// NNE50
#define NNE50_BASE_ADDR 0x10800000UL
// SDIO0
#define SDIO0_BASE_ADDR 0x10000000UL
// SDIO1
#define SDIO1_BASE_ADDR 0x10010000UL
// DMAC
#define DMAC_DMA1P_BASE_ADDR 0x10500000UL
#define DMAC_DMA2P_BASE_ADDR 0x100b0000UL
#define SPI2AHB_BASE_ADDR 0x100f0000UL
// I2S_ADC
#define I2S_ADC_BASE_ADDR 0x10400000UL
// PDM
#define PDM_BASE_ADDR 0x10410000UL
// I2S_VAD
#define I2S_VAD_BASE_ADDR 0x10420000UL
// SPDIF
#define SPDIF_BASE_ADDR 0x10430000UL
// PWMDAC
#define PWMDAC_BASE_ADDR 0x10440000UL
// I2S_DAC_0
#define I2S_DAC_0_BASE_ADDR 0x10450000UL
// I2S_DAC_1
#define I2S_DAC_1_BASE_ADDR 0x10460000UL
// I2S_DAC16K
#define I2S_DAC16K_BASE_ADDR 0x10470000UL
// dom_audio_clkgen
#define AUDIO_CLK_GEN_BASE_ADDR 0x10480000UL
// dom_audio_rstgen
#define AUDIO_RST_GEN_BASE_ADDR 0x10490000UL
// dom_audio_sysctrl
#define AUDIO_SYS_CTRL_BASE_ADDR 0x104A0000UL
// USB
#define USB_BASE_ADDR 0x104C0000UL
// sgdma1p
// nne_csr
// noc_csr
// CLKGEN - csr
#define JH_CLKGEN_TOP_SV_BASE_ADDR 0x11800000UL
#define CLKGEN_BASE_ADDR 0x11800000UL
// OTP
#define OTP_BASE_ADDR 0x11810000UL
// ddrphy0_csr
#define DDRPHY0_BASE_ADDR 0x11820000UL
// ddrphy1_csr
#define DDRPHY1_BASE_ADDR 0x11830000UL
// RSTGEN
#define RSTGEN_BASE_ADDR 0x11840000UL
// SYSCON-mainsys
#define SYSCON_SYSMAIN_CTRL_BASE_ADDR 0x11850000UL
// SYSCON-remap-vp6-noc
#define SYSCON_REMAP_VP6_NOC_BASE_ADDR 0x11854000UL
// SYSCON-iopad
#define SYSCON_IOPAD_CTRL_BASE_ADDR 0x11858000UL
// SYSCON-simu-test
#define SYSCON_SIMU_TEST_BASE_ADDR 0x1185C000UL
// QSPI
#define QSPI_BASE_ADDR 0x11860000UL
// HS-UART0
#define UART0_HS_BASE_ADDR 0x11870000UL
// HS-UART1
#define UART1_HS_BASE_ADDR 0x11880000UL
#define UART0_BASE_ADDR UART0_HS_BASE_ADDR
#define UART1_BASE_ADDR UART1_HS_BASE_ADDR
// UART2
#define UART2_BASE_ADDR 0x12430000UL
// UART3
#define UART3_BASE_ADDR 0x12440000UL
// VENC
#define VENC_BASE_ADDR 0x118E0000UL
// VDEC
#define VDEC_BASE_ADDR 0x118F0000UL
//MapConv
#define MAP_CONV_BASE 0x12210000UL
//gc300 2D
#define GC300_BASE_ADDR 0x10100000UL
// JPEG
#define JPEG_BASE_ADDR 0x11900000UL
// GPIO
#define GPIO_BASE_ADDR 0x11910000UL
#define EZGPIO_FULLMUX_BASE_ADDR 0x11910000UL
// DLA
// VP6_APB
// I2C0
#define I2C0_BASE_ADDR 0x118b0000UL
// I2C1
#define I2C1_BASE_ADDR 0x118c0000UL
// I2C2
#define I2C2_BASE_ADDR 0x12450000UL
// I2C3
#define I2C3_BASE_ADDR 0x12460000UL
// SPI0
#define SPI0_BASE_ADDR 0x11890000UL
// SPI1
#define SPI1_BASE_ADDR 0x118a0000UL
// SPI2
#define SPI2_BASE_ADDR 0x12410000UL
// SPI3
#define SPI3_BASE_ADDR 0x12420000UL
// INT controller 0
#define VP6_INTC0_BASE_ADDR 0x12400000UL
// INT controller 1
#define VP6_INTC1_BASE_ADDR 0x124B0000UL
// sec Engine
#define SEC_BASE_ADDR 0x100D0000UL
//GMAC
#define GMAC_BASE_ADDR 0x10020000UL
//NBDLA
#define NBDLA_BASE_ADDR 0x11940000UL
#define NBDLA_RAM_BASE_ADDR 0x19C00000UL
// TIMER --WDT
#define TIMER_BASE_ADDR 0x12480000UL
// pwm -- ptc
#define PWM_BASE_ADDR 0x12490000UL //PTC
// INTC
#define INTC_BASE_ADDR 0xA10A0000UL
//INT CTRL
#define INT_CTRL_BASE_ADDR 0xA10A0000UL
// SYSCON
#define JH_SYSCON_BASE_ADDR 0xA1100000UL
///0xA90B0000
// PTC
#define PTC_BASE_ADDR 0xA3020000UL
///0xA9040000
// aon_clkgen
#define AON_CLKGEN_BASE_ADDR 0xA3060000UL
// apb_sram
#define APB_SRAM_BASE_ADDR 0xA3070000UL
// I2S_1
//#define I2S_1_BASE_ADDR 0xA1000000UL
///0xA8020000
// PCM
///#define PCM_BASE_ADDR 0xA1040000UL
/// 0xA8070000
// EFUSE
///#define EFUSE_BASE_ADDR 0xA1070000UL
///0xA9030000
#define DSITX_BASE_ADDR 0x12100000UL
#define CSI2TX_BASE_ADDR 0x12220000UL
#define ISP_MIPI_CONTROLLER0_BASE_ADDR 0x19800000UL
#define ISP_MIPI_CONTROLLER1_BASE_ADDR 0x19830000UL
#define VOUT_SYS_CLKGEN_BASE_ADDR 0x12240000UL
#define VOUT_SYS_RSTGEN_BASE_ADDR 0x12250000UL
#define VOUT_SYS_SYSCON_BASE_ADDR 0x12260000UL
#define ISP_CLKGEN_BASE_ADDR 0x19810000UL
#define ISP_RSTGEN_BASE_ADDR 0x19820000UL
#define ISP_SYSCONTROLLER_BASE_ADDR 0x19840000UL
#define ISP0_AXI_SLV_BASE_ADDR 0x19870000UL
#define ISP1_AXI_SLV_BASE_ADDR 0x198A0000UL
//TRNG
#define TRNG_BASE_ADDR 0x118D0000UL
#define DRAM_MEM2SYS(addr) ((addr) >= 0x80000000UL && (addr) <= 0x87FFFFFFFUL ? ((addr) + 0xF80000000UL) : (addr))
#define DRAM_SYS2MEM(addr) ((addr) >= 0x1000000000UL && (addr) <= 0x107FFFFFFFUL ? ((addr) - 0xF80000000UL) : (addr))
#endif // _GLOBAL_REG_H

View file

@ -0,0 +1,14 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Copyright (c) 2021 StarFive Technology Co., Ltd. */
#ifndef __ASM_RISCV_ARCH_IO_H
#define __ASM_RISCV_ARCH_IO_H
#ifdef __KERNEL__
#include <asm/io.h>
#define MA_OUTW(io, val) (*(volatile uint32_t __iomem *)(io) = (uint32_t)(val))
#define MA_INW(io) (*(volatile uint32_t __iomem *)(io))
#endif /* __KERNEL__ */
#endif /* __ASM_RISCV_ARCH_IO_H */

View file

@ -0,0 +1,705 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Copyright (c) 2021 StarFive Technology Co., Ltd. */
/******************************************************************
*
* isp_clkgen controller C MACRO generated by ezchip
*
******************************************************************/
#ifndef _ISP_CLKGEN_MACRO_H_
#define _ISP_CLKGEN_MACRO_H_
//#define ISP_CLKGEN_BASE_ADDR 0x0
#define dphy_cfgclk_ispcore_2x_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x0
#define dphy_refclk_ispcore_2x_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x4
#define dphy_txclkesc_in_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x8
#define clk_mipi_rx0_pxl_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0xC
#define clk_mipi_rx1_pxl_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x10
#define clk_mipi_rx0_pxl_0_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x14
#define clk_mipi_rx0_pxl_1_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x18
#define clk_mipi_rx0_pxl_2_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x1C
#define clk_mipi_rx0_pxl_3_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x20
#define clk_mipi_rx0_sys0_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x24
#define clk_mipi_rx1_pxl_0_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x28
#define clk_mipi_rx1_pxl_1_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x2C
#define clk_mipi_rx1_pxl_2_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x30
#define clk_mipi_rx1_pxl_3_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x34
#define clk_mipi_rx1_sys1_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x38
#define clk_isp0_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x3C
#define clk_isp0_2x_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x40
#define clk_isp0_mipi_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x44
#define clk_isp1_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x48
#define clk_isp1_2x_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x4C
#define clk_isp1_mipi_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x50
#define clk_dom4_apb_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x54
#define clk_csi2rx0_apb_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x58
#define clk_vin_axi_wr_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x5C
#define clk_vin_axi_rd_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x60
#define clk_c_isp0_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x64
#define clk_c_isp1_ctrl_REG_ADDR ISP_CLKGEN_BASE_ADDR + 0x68
#define _ENABLE_CLOCK_dphy_cfgclk_ispcore_2x_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(dphy_cfgclk_ispcore_2x_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(dphy_cfgclk_ispcore_2x_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_dphy_cfgclk_ispcore_2x_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(dphy_cfgclk_ispcore_2x_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(dphy_cfgclk_ispcore_2x_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_dphy_cfgclk_ispcore_2x_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(dphy_cfgclk_ispcore_2x_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _DIVIDE_CLOCK_dphy_cfgclk_ispcore_2x_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(dphy_cfgclk_ispcore_2x_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1F); \
_ezchip_macro_read_value_ |= (div&0x1F); \
MA_OUTW(dphy_cfgclk_ispcore_2x_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_dphy_cfgclk_ispcore_2x_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(dphy_cfgclk_ispcore_2x_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x1f;\
}
#define _ENABLE_CLOCK_dphy_refclk_ispcore_2x_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(dphy_refclk_ispcore_2x_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(dphy_refclk_ispcore_2x_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_dphy_refclk_ispcore_2x_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(dphy_refclk_ispcore_2x_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(dphy_refclk_ispcore_2x_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_dphy_refclk_ispcore_2x_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(dphy_refclk_ispcore_2x_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _DIVIDE_CLOCK_dphy_refclk_ispcore_2x_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(dphy_refclk_ispcore_2x_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1F); \
_ezchip_macro_read_value_ |= (div&0x1F); \
MA_OUTW(dphy_refclk_ispcore_2x_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_dphy_refclk_ispcore_2x_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(dphy_refclk_ispcore_2x_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x1f;\
}
#define _ENABLE_CLOCK_dphy_txclkesc_in_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(dphy_txclkesc_in_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(dphy_txclkesc_in_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_dphy_txclkesc_in_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(dphy_txclkesc_in_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(dphy_txclkesc_in_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_dphy_txclkesc_in_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(dphy_txclkesc_in_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _DIVIDE_CLOCK_dphy_txclkesc_in_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(dphy_txclkesc_in_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3F); \
_ezchip_macro_read_value_ |= (div&0x3F); \
MA_OUTW(dphy_txclkesc_in_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_dphy_txclkesc_in_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(dphy_txclkesc_in_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x3f;\
}
#define _ENABLE_CLOCK_clk_mipi_rx0_pxl_ {}
#define _DIVIDE_CLOCK_clk_mipi_rx0_pxl_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx0_pxl_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1F); \
_ezchip_macro_read_value_ |= (div&0x1F); \
MA_OUTW(clk_mipi_rx0_pxl_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_mipi_rx0_pxl_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_mipi_rx0_pxl_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x1f;\
}
#define _ENABLE_CLOCK_clk_mipi_rx1_pxl_ {}
#define _DIVIDE_CLOCK_clk_mipi_rx1_pxl_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx1_pxl_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1F); \
_ezchip_macro_read_value_ |= (div&0x1F); \
MA_OUTW(clk_mipi_rx1_pxl_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_mipi_rx1_pxl_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_mipi_rx1_pxl_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x1f;\
}
#define _ENABLE_CLOCK_clk_mipi_rx0_pxl_0_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx0_pxl_0_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_mipi_rx0_pxl_0_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_mipi_rx0_pxl_0_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx0_pxl_0_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_mipi_rx0_pxl_0_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_mipi_rx0_pxl_0_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_mipi_rx0_pxl_0_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_mipi_rx0_pxl_1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx0_pxl_1_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_mipi_rx0_pxl_1_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_mipi_rx0_pxl_1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx0_pxl_1_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_mipi_rx0_pxl_1_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_mipi_rx0_pxl_1_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_mipi_rx0_pxl_1_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_mipi_rx0_pxl_2_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx0_pxl_2_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_mipi_rx0_pxl_2_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_mipi_rx0_pxl_2_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx0_pxl_2_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_mipi_rx0_pxl_2_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_mipi_rx0_pxl_2_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_mipi_rx0_pxl_2_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_mipi_rx0_pxl_3_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx0_pxl_3_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_mipi_rx0_pxl_3_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_mipi_rx0_pxl_3_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx0_pxl_3_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_mipi_rx0_pxl_3_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_mipi_rx0_pxl_3_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_mipi_rx0_pxl_3_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_mipi_rx0_sys0_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx0_sys0_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_mipi_rx0_sys0_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_mipi_rx0_sys0_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx0_sys0_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_mipi_rx0_sys0_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_mipi_rx0_sys0_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_mipi_rx0_sys0_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _DIVIDE_CLOCK_clk_mipi_rx0_sys0_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx0_sys0_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1F); \
_ezchip_macro_read_value_ |= (div&0x1F); \
MA_OUTW(clk_mipi_rx0_sys0_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_mipi_rx0_sys0_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_mipi_rx0_sys0_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x1f;\
}
#define _ENABLE_CLOCK_clk_mipi_rx1_pxl_0_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx1_pxl_0_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_mipi_rx1_pxl_0_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_mipi_rx1_pxl_0_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx1_pxl_0_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_mipi_rx1_pxl_0_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_mipi_rx1_pxl_0_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_mipi_rx1_pxl_0_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_mipi_rx1_pxl_1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx1_pxl_1_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_mipi_rx1_pxl_1_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_mipi_rx1_pxl_1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx1_pxl_1_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_mipi_rx1_pxl_1_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_mipi_rx1_pxl_1_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_mipi_rx1_pxl_1_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_mipi_rx1_pxl_2_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx1_pxl_2_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_mipi_rx1_pxl_2_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_mipi_rx1_pxl_2_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx1_pxl_2_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_mipi_rx1_pxl_2_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_mipi_rx1_pxl_2_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_mipi_rx1_pxl_2_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_mipi_rx1_pxl_3_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx1_pxl_3_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_mipi_rx1_pxl_3_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_mipi_rx1_pxl_3_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx1_pxl_3_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_mipi_rx1_pxl_3_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_mipi_rx1_pxl_3_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_mipi_rx1_pxl_3_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_mipi_rx1_sys1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx1_sys1_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_mipi_rx1_sys1_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_mipi_rx1_sys1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx1_sys1_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_mipi_rx1_sys1_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_mipi_rx1_sys1_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_mipi_rx1_sys1_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _DIVIDE_CLOCK_clk_mipi_rx1_sys1_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mipi_rx1_sys1_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1F); \
_ezchip_macro_read_value_ |= (div&0x1F); \
MA_OUTW(clk_mipi_rx1_sys1_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_mipi_rx1_sys1_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_mipi_rx1_sys1_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x1f;\
}
#define _ENABLE_CLOCK_clk_isp0_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_isp0_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_isp0_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_isp0_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_isp0_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_isp0_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_isp0_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_isp0_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _DIVIDE_CLOCK_clk_isp0_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_isp0_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3); \
_ezchip_macro_read_value_ |= (div&0x3); \
MA_OUTW(clk_isp0_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_isp0_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_isp0_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x3;\
}
#define _ENABLE_CLOCK_clk_isp0_2x_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_isp0_2x_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_isp0_2x_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_isp0_2x_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_isp0_2x_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_isp0_2x_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_isp0_2x_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_isp0_2x_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_isp0_mipi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_isp0_mipi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_isp0_mipi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_isp0_mipi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_isp0_mipi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_isp0_mipi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_isp0_mipi_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_isp0_mipi_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _SWITCH_CLOCK_clk_isp0_mipi_SOURCE_clk_mipi_rx0_pxl_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_isp0_mipi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<24; \
MA_OUTW(clk_isp0_mipi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_isp0_mipi_SOURCE_clk_mipi_rx1_pxl_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_isp0_mipi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<24; \
MA_OUTW(clk_isp0_mipi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_SOURCE_STATUS_clk_isp0_mipi_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_isp0_mipi_ctrl_REG_ADDR) >> 24; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_isp1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_isp1_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_isp1_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_isp1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_isp1_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_isp1_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_isp1_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_isp1_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _DIVIDE_CLOCK_clk_isp1_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_isp1_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3); \
_ezchip_macro_read_value_ |= (div&0x3); \
MA_OUTW(clk_isp1_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_isp1_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_isp1_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x3;\
}
#define _ENABLE_CLOCK_clk_isp1_2x_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_isp1_2x_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_isp1_2x_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_isp1_2x_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_isp1_2x_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_isp1_2x_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_isp1_2x_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_isp1_2x_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_isp1_mipi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_isp1_mipi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_isp1_mipi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_isp1_mipi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_isp1_mipi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_isp1_mipi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_isp1_mipi_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_isp1_mipi_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _SWITCH_CLOCK_clk_isp1_mipi_SOURCE_clk_mipi_rx0_pxl_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_isp1_mipi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<24; \
MA_OUTW(clk_isp1_mipi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_isp1_mipi_SOURCE_clk_mipi_rx1_pxl_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_isp1_mipi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<24; \
MA_OUTW(clk_isp1_mipi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_SOURCE_STATUS_clk_isp1_mipi_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_isp1_mipi_ctrl_REG_ADDR) >> 24; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_dom4_apb_ {}
#define _DIVIDE_CLOCK_clk_dom4_apb_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_dom4_apb_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x7); \
_ezchip_macro_read_value_ |= (div&0x7); \
MA_OUTW(clk_dom4_apb_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_dom4_apb_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_dom4_apb_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x7;\
}
#define _ENABLE_CLOCK_clk_csi2rx0_apb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_csi2rx0_apb_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_csi2rx0_apb_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_csi2rx0_apb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_csi2rx0_apb_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_csi2rx0_apb_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_csi2rx0_apb_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_csi2rx0_apb_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_vin_axi_wr_ {}
#define _SWITCH_CLOCK_clk_vin_axi_wr_SOURCE_clk_mipi_rx0_pxl_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_vin_axi_wr_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3<<24); \
_ezchip_macro_read_value_ |= (0x0&0x3)<<24; \
MA_OUTW(clk_vin_axi_wr_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_vin_axi_wr_SOURCE_clk_mipi_rx1_pxl_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_vin_axi_wr_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3<<24); \
_ezchip_macro_read_value_ |= (0x1&0x3)<<24; \
MA_OUTW(clk_vin_axi_wr_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_vin_axi_wr_SOURCE_clk_dvp_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_vin_axi_wr_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3<<24); \
_ezchip_macro_read_value_ |= (0x2&0x3)<<24; \
MA_OUTW(clk_vin_axi_wr_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_SOURCE_STATUS_clk_vin_axi_wr_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_vin_axi_wr_ctrl_REG_ADDR) >> 24; \
_ezchip_macro_read_value_ &= 0x3;\
}
#define _ENABLE_CLOCK_clk_vin_axi_rd_ {}
#define _SWITCH_CLOCK_clk_vin_axi_rd_SOURCE_clk_mipi_rx0_pxl_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_vin_axi_rd_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<24; \
MA_OUTW(clk_vin_axi_rd_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_vin_axi_rd_SOURCE_clk_mipi_rx1_pxl_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_vin_axi_rd_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<24); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<24; \
MA_OUTW(clk_vin_axi_rd_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_SOURCE_STATUS_clk_vin_axi_rd_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_vin_axi_rd_ctrl_REG_ADDR) >> 24; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_c_isp0_ {}
#define _SWITCH_CLOCK_clk_c_isp0_SOURCE_clk_mipi_rx0_pxl_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_c_isp0_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3<<24); \
_ezchip_macro_read_value_ |= (0x0&0x3)<<24; \
MA_OUTW(clk_c_isp0_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_c_isp0_SOURCE_clk_mipi_rx1_pxl_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_c_isp0_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3<<24); \
_ezchip_macro_read_value_ |= (0x1&0x3)<<24; \
MA_OUTW(clk_c_isp0_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_c_isp0_SOURCE_clk_dvp_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_c_isp0_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3<<24); \
_ezchip_macro_read_value_ |= (0x2&0x3)<<24; \
MA_OUTW(clk_c_isp0_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_c_isp0_SOURCE_clk_isp0_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_c_isp0_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3<<24); \
_ezchip_macro_read_value_ |= (0x3&0x3)<<24; \
MA_OUTW(clk_c_isp0_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_SOURCE_STATUS_clk_c_isp0_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_c_isp0_ctrl_REG_ADDR) >> 24; \
_ezchip_macro_read_value_ &= 0x3;\
}
#define _ENABLE_CLOCK_clk_c_isp1_ {}
#define _SWITCH_CLOCK_clk_c_isp1_SOURCE_clk_mipi_rx0_pxl_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_c_isp1_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3<<24); \
_ezchip_macro_read_value_ |= (0x0&0x3)<<24; \
MA_OUTW(clk_c_isp1_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_c_isp1_SOURCE_clk_mipi_rx1_pxl_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_c_isp1_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3<<24); \
_ezchip_macro_read_value_ |= (0x1&0x3)<<24; \
MA_OUTW(clk_c_isp1_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_c_isp1_SOURCE_clk_dvp_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_c_isp1_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3<<24); \
_ezchip_macro_read_value_ |= (0x2&0x3)<<24; \
MA_OUTW(clk_c_isp1_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _SWITCH_CLOCK_clk_c_isp1_SOURCE_clk_isp1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_c_isp1_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3<<24); \
_ezchip_macro_read_value_ |= (0x3&0x3)<<24; \
MA_OUTW(clk_c_isp1_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_SOURCE_STATUS_clk_c_isp1_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_c_isp1_ctrl_REG_ADDR) >> 24; \
_ezchip_macro_read_value_ &= 0x3;\
}
#endif //_ISP_CLKGEN_MACRO_H_

View file

@ -0,0 +1,585 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Copyright (c) 2021 StarFive Technology Co., Ltd. */
/******************************************************************
*
* isp_rstgen controller C MACRO generated by ezchip
*
******************************************************************/
#ifndef _ISP_RSTGEN_MACRO_H_
#define _ISP_RSTGEN_MACRO_H_
//#define ISP_RSTGEN_BASE_ADDR 0x0
#define isp_rstgen_Software_RESET_assert0_REG_ADDR ISP_RSTGEN_BASE_ADDR + 0x0
#define isp_rstgen_Software_RESET_status0_REG_ADDR ISP_RSTGEN_BASE_ADDR + 0x4
#define _READ_RESET_STATUS_isp_rstgen_rst_n_sys_clk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_rst_n_sys_clk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1); \
_ezchip_macro_read_value_ |= (0x1&0x1); \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_isp_rstgen_rst_n_sys_clk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1); \
_ezchip_macro_read_value_ |= (0x0&0x1); \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_isp_rstgen_rst_n_pclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR) >> 1; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_rst_n_pclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<1); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<1; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>1; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_isp_rstgen_rst_n_pclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<1); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<1; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>1; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_isp_rstgen_rst_n_sys_clk_1_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR) >> 2; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_rst_n_sys_clk_1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<2); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<2; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>2; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_isp_rstgen_rst_n_sys_clk_1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<2); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<2; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>2; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_isp_rstgen_rst_n_pixel_clk_if0_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR) >> 3; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_rst_n_pixel_clk_if0_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<3); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<3; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>3; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_isp_rstgen_rst_n_pixel_clk_if0_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<3); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<3; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>3; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_isp_rstgen_rst_n_pixel_clk_if1_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR) >> 4; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_rst_n_pixel_clk_if1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<4); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<4; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>4; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_isp_rstgen_rst_n_pixel_clk_if1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<4); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<4; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>4; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_isp_rstgen_rst_n_pixel_clk_if2_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR) >> 5; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_rst_n_pixel_clk_if2_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<5); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<5; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>5; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_isp_rstgen_rst_n_pixel_clk_if2_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<5); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<5; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>5; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_isp_rstgen_rst_n_pixel_clk_if3_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR) >> 6; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_rst_n_pixel_clk_if3_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<6); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<6; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>6; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_isp_rstgen_rst_n_pixel_clk_if3_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<6); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<6; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>6; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_isp_rstgen_rst_n_pixel_clk_if10_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR) >> 7; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_rst_n_pixel_clk_if10_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<7); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<7; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>7; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_isp_rstgen_rst_n_pixel_clk_if10_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<7); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<7; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>7; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_isp_rstgen_rst_n_pixel_clk_if11_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR) >> 8; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_rst_n_pixel_clk_if11_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<8); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<8; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>8; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_isp_rstgen_rst_n_pixel_clk_if11_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<8); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<8; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>8; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_isp_rstgen_rst_n_pixel_clk_if12_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR) >> 9; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_rst_n_pixel_clk_if12_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<9); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<9; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>9; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_isp_rstgen_rst_n_pixel_clk_if12_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<9); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<9; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>9; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_isp_rstgen_rst_n_pixel_clk_if13_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR) >> 10; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_rst_n_pixel_clk_if13_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<10); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<10; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>10; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_isp_rstgen_rst_n_pixel_clk_if13_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<10); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<10; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>10; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_isp_rstgen_rst_isp_0_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR) >> 11; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_rst_isp_0_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<11); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<11; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>11; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_isp_rstgen_rst_isp_0_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<11); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<11; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>11; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_isp_rstgen_rst_isp_1_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR) >> 12; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_rst_isp_1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<12); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<12; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>12; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_isp_rstgen_rst_isp_1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<12); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<12; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>12; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_isp_rstgen_rst_p_axird_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR) >> 13; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_rst_p_axird_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<13); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<13; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>13; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_isp_rstgen_rst_p_axird_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<13); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<13; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>13; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_isp_rstgen_rst_p_axiwr_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR) >> 14; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_rst_p_axiwr_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<14); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<14; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>14; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_isp_rstgen_rst_p_axiwr_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<14); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<14; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>14; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_isp_rstgen_rst_p_isp0_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR) >> 15; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_rst_p_isp0_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<15); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<15; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>15; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _CLEAR_RESET_isp_rstgen_rst_p_isp0_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<15); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<15; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>15; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _READ_RESET_STATUS_isp_rstgen_rst_p_isp1_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR) >> 16; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_rst_p_isp1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<16); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<16; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>16; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _CLEAR_RESET_isp_rstgen_rst_p_isp1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<16); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<16; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>16; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _READ_RESET_STATUS_isp_rstgen_dphy_hw_rstn_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR) >> 17; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_dphy_hw_rstn_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<17); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<17; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>17; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_isp_rstgen_dphy_hw_rstn_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<17); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<17; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>17; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_isp_rstgen_dphy_rstb09_always_on_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR) >> 18; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_dphy_rstb09_always_on_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<18); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<18; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>18; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_isp_rstgen_dphy_rstb09_always_on_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<18); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<18; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>18; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_isp_rstgen_rst_c_isp0_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR) >> 19; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_rst_c_isp0_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<19); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<19; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>19; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _CLEAR_RESET_isp_rstgen_rst_c_isp0_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<19); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<19; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>19; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _READ_RESET_STATUS_isp_rstgen_rst_c_isp1_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR) >> 20; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_isp_rstgen_rst_c_isp1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<20); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<20; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>20; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _CLEAR_RESET_isp_rstgen_rst_c_isp1_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(isp_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<20); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<20; \
MA_OUTW(isp_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(isp_rstgen_Software_RESET_status0_REG_ADDR)>>20; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#endif //_ISP_RSTGEN_MACRO_H_

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,86 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Copyright (c) 2021 StarFive Technology Co., Ltd. */
#ifndef _SIFIVE_AIC_AUDIO_H
#define _SIFIVE_AIC_AUDIO_H
///#include "vad.h"
//#include <drivers/designware_axi_dma.h>
//#include <drivers/designware_axi_dma_reg.h>
enum adci2s_sel{
SYS_ADCI2S_NONE = -1,
SYS_ADCI2S_SD0_SEL = 0,
SYS_ADCI2S_SD1_SEL,
SYS_ADCI2S_SD2_SEL,
SYS_ADCI2S_SD0_1_SEL,
SYS_ADCI2S_SD0_2_SEL,
SYS_ADCI2S_SD1_2_SEL,
SYS_ADCI2S_SD0_1_2_SEL,
};
enum audio_mode{
AUDIO_IN_NONE = -1,
AUDIO_IN_GPIO_SD2 = 0,
AUDIO_IN_GPIO_SD1,
AUDIO_IN_SPIO_SD0,
AUDIO_IN_DAC16K_SD0,
AUDIO_IN_ANA_ADC_SD1,
AUDIO_IN_ANA_ADC_SD0,
AUDIO_IN_PDM_SD1,
AUDIO_IN_PDM_SD0,
};
enum audio_output_mode{
AUDIO_OUT_NONE = -1,
AUDIO_OUT_MEM = 0,
AUDIO_OUT_DACI2S_DACAP = 1,
AUDIO_OUT_I2S1OUT_DACAP,
AUDIO_OUT_PWMDAC,
AUDIO_OUT_PCM,
AUDIO_OUT_SPDIF,
};
enum adci2s_rxmode{
ADCI2S_POLLING = 0,
ADCI2S_FIFO_IRQ,
ADCI2S_DMA,
};
enum dmac_src_mode{
NONE = -1,
PERI2MEM_I2SDAC_RECIEV,
MEM2PERI_PWMDAC_SEND,
};
struct damc_irq_mode
{
unsigned char ch;
unsigned int mode;
};
#define DMAC_PWAMDAC_POLLING_LEN 2
#define DMAC_PWAMDAC_IRQ_LEN 3
/* DMA 16 req SELECT */
#define PWMDAC_DMAREQ 4
#define SPDIF_DMAREQ 5
#define PDM_I2S_ADC_DMAREQ 1
#define PCM_TX_DMAREQ 4
#define PCM_RX_DMAREQ 5
/* dmac 8 CH */
#define DMAC_CH0 0
#define DMAC_CH1 1
#define DMAC_CH2 2
#define DMAC_CH3 3
#define DMAC_CH4 4
#define DMAC_CH5 5
#define DMAC_CH6 6
#define DMAC_CH7 7
#define PDM_I2SADC_MEM_BUF 0x38000*2
#endif /* _SIFIVE_AIC_AUDIO_H */

View file

@ -0,0 +1,98 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Copyright (c) 2021 StarFive Technology Co., Ltd. */
#ifndef __JH_IOPAD_H
#define __JH_IOPAD_H
/** @brief GPIO pins definition
* for CONFIG_JH_EVB_V1
*/
#define UART0_RXD_PIN 5
#define UART0_TXD_PIN 6
#define UART0_CTS_PIN 7
#define UART0_RTS_PIN 8
#define UART1_RXD_PIN 9
#define UART1_TXD_PIN 10
#define I2C0_SCL_PIN 11
#define I2C0_SDA_PIN 12
#define UART3_RXD_PIN 13
#define UART3_TXD_PIN 14
#define QSPI_CSN1_PIN 15
#define I2C1_SCL_PIN 16
#define I2C1_SDA_PIN 17
#define I2C2_SCL_PIN 18
#define I2C2_SDA_PIN 19
#define VDD2PEN_OTP_PIN 26
#define SPI2AHB_CSN_PIN 29
#define SPI2AHB_SCK_PIN 30
#define SPI2AHB_D0_PIN 31
#define SPI2AHB_D1_PIN 32
#define SPI2AHB_D2_PIN 33
#define SPI2AHB_D3_PIN 34
#define BOOT_SEL0_PIN 60
#define BOOT_SEL1_PIN 61
#define BOOT_SEL2_PIN 62
#define BOOT_MODE_PIN 63
/** @brief For backward compatibility
*/
// the GPIO pin is not available on EVB, be sure NOT to use it
#define STUB_PIN_NOT_EXIST 0
// the GPIO pin is not defined yet, since the daughter board not ready
#define STUB_PIN_TBD 0
#define FPGA_UART0_TXD UART0_TXD_PIN
#define FPGA_UART0_RXD UART0_RXD_PIN
#define FPGA_UART0_CTSN UART0_CTS_PIN
#define FPGA_UART0_RTSN UART0_RTS_PIN
#define FPGA_UART1_TXD UART1_TXD_PIN
#define FPGA_UART1_RXD UART1_RXD_PIN
#define FPGA_UART2_TXD FPGA_UART0_TXD///STUB_PIN_NOT_EXIST
#define FPGA_UART2_RXD FPGA_UART0_RXD///STUB_PIN_NOT_EXIST
#define FPGA_UART2_CTSN FPGA_UART0_CTSN///STUB_PIN_NOT_EXIST
#define FPGA_UART2_RTSN FPGA_UART0_RTSN///STUB_PIN_NOT_EXIST
#define FPGA_UART3_TXD UART3_TXD_PIN
#define FPGA_UART3_RXD UART3_RXD_PIN
/*gpio I2C pin*/
#define I2C_SDA_AC108 I2C0_SDA_PIN//STUB_PIN_TBD
#define I2C_SCL_AC108 I2C0_SCL_PIN///STUB_PIN_TBD
#define I2C_SDA_ADV7513 I2C1_SDA_PIN
#define I2C_SCL_ADV7513 I2C1_SCL_PIN
#define I2C_SDA_SC2235 STUB_PIN_TBD
#define I2C_SCL_SC2235 STUB_PIN_TBD
#define HDMI_INTN 24
/*gpio SPDIF pin*/
#define SPDIF0 STUB_PIN_TBD
#define SPDIF1 STUB_PIN_TBD
#define PDM_DMIC_CLK_GPIOA43 STUB_PIN_TBD
#define PDM_DMIC1_GPIOA44 STUB_PIN_TBD
#define PDM_DMIC2_GPIOA45 STUB_PIN_TBD
/*gpio I2S pin*/
#define FPGA_BCLK_I2S_0 STUB_PIN_TBD
///#define FPGA_LRCLK_I2S_0 STUB_PIN_TBD
///#define FPGA_DOUT_I2S_0 STUB_PIN_TBD
///#define FPGA_BCLK_I2S_1 STUB_PIN_TBD
///#define FPGA_LRCLK_I2S_1 STUB_PIN_TBD
#define FPGA_ADC_I2S_BCLK STUB_PIN_TBD
#define FPGA_ADC_I2S_LRCLK STUB_PIN_TBD
#define FPGA_ADC_I2S_DATA0 STUB_PIN_TBD
#define FPGA_ADC_I2S_DATA1 STUB_PIN_TBD
#define FPGA_ADC_I2S_DATA2 STUB_PIN_TBD
#define FPGA_ADC_I2S_DATA3 STUB_PIN_TBD
#define FPGA_MCLK STUB_PIN_TBD
#define FPGA_MCLK_I2S2 STUB_PIN_TBD
//#define FPGA_BCLK_I2S2 STUB_PIN_TBD
//#define FPGA_LRCLK_I2S2 STUB_PIN_TBD
//#define FPGA_DIN_I2S2 STUB_PIN_TBD
#endif

View file

@ -0,0 +1,814 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Copyright (c) 2021 StarFive Technology Co., Ltd. */
#ifndef _SFC_JH_MODULE_RESET_CLKGEN_H
#define _SFC_JH_MODULE_RESET_CLKGEN_H
#include <asm/arch/jh_iopad.h>
#define jh_ptc_pwm_reset_clk_enable { \
_DISABLE_CLOCK_clk_pwm_apb_; \
_ASSERT_RESET_rstgen_rstn_pwm_apb_; \
_ENABLE_CLOCK_clk_pwm_apb_; \
_CLEAR_RESET_rstgen_rstn_pwm_apb_; \
}
#define jh_ptc_pwm_reset_clk_disable { \
_DISABLE_CLOCK_clk_pwm_apb_; \
_ASSERT_RESET_rstgen_rstn_pwm_apb_; \
}
/* pwmdac reset and clkgen */
#define jh_pwmdac_reset_clk_enable { \
_ENABLE_CLOCK_clk_apb_pwmdac_; \
_ENABLE_CLOCK_clk_dac_mclk_; \
_SWITCH_CLOCK_clk_dac_mclk_SOURCE_clk_audio_12288_; \
_DIVIDE_CLOCK_clk_dac_mclk_(3); \
_CLEAR_RESET_audio_rst_gen_rstn_apb_pwmdac_; \
}
#define jh_pwmdac_reset_clk_disable { \
_ASSERT_RESET_audio_rst_gen_rstn_apb_pwmdac_; \
_DISABLE_CLOCK_clk_apb_pwmdac_; \
}
/* spdif reset and clkgen */
#define jh_spdif_reset_clk_enable { \
_CLEAR_RESET_audio_rst_gen_rstn_apb_spdif_; \
_ENABLE_CLOCK_clk_spdif_; \
_ENABLE_CLOCK_clk_apb_spdif_; \
}
#define jh_spdif_reset_clk_disable { \
_ASSERT_RESET_audio_rst_gen_rstn_apb_spdif_; \
_DISABLE_CLOCK_clk_spdif_; \
_DISABLE_CLOCK_clk_apb_spdif_; \
}
/* pdm reset and clkgen */
/*#define jh_pdm_reset_clk_enable { \
_DIVIDE_CLOCK_clk_cpu_core_(20) \
_ENABLE_CLOCK_clk_apb_pdm_; \
_ENABLE_CLOCK_clk_pdm_mclk_; \
_SWITCH_CLOCK_clk_pdm_mclk_SOURCE_clk_audio_src_; \
_DIVIDE_CLOCK_clk_pdm_mclk_(1); \
_CLEAR_RESET_audio_rst_gen_rstn_apb_pdm_; \
_DIVIDE_CLOCK_clk_pdm_mclk_(4); \
}*/
#define jh_pdm_reset_clk_enable { \
_ENABLE_CLOCK_clk_apb_pdm_; \
_ENABLE_CLOCK_clk_pdm_mclk_; \
_SWITCH_CLOCK_clk_pdm_mclk_SOURCE_clk_audio_12288_; \
_DIVIDE_CLOCK_clk_pdm_mclk_(3); \
_CLEAR_RESET_audio_rst_gen_rstn_apb_pdm_; \
}
/* mclk 3MHz */
#define jh_pdm_reset_clk_disable { \
_DISABLE_CLOCK_clk_apb_pdm_; \
_DISABLE_CLOCK_clk_pdm_mclk_; \
_ASSERT_RESET_audio_rst_gen_rstn_apb_pdm_; \
}
/* i2sadc clk and reset mclk-->bclk-->lrclk
* mclk锛<EFBFBD> 12.288 MHz / 6 = 2.048 MHz
* bclk锛<EFBFBD> mclk / 2 = 1.024 Khz
* lrclk锛<EFBFBD> bclk / 64 = 16 KHz
*/
#define jh_i2sadc_reset_clk_enable { \
_SWITCH_CLOCK_clk_adc_mclk_SOURCE_clk_audio_12288_; \
_ENABLE_CLOCK_clk_adc_mclk_; \
_ENABLE_CLOCK_clk_apb_i2sadc_; \
_DIVIDE_CLOCK_clk_adc_mclk_(1); \
_SWITCH_CLOCK_clk_i2sadc_bclk_SOURCE_clk_adc_mclk_; \
_DIVIDE_CLOCK_clk_i2sadc_bclk_(1); \
_SWITCH_CLOCK_clk_i2sadc_bclk_SOURCE_clk_i2sadc_bclk_iopad_; \
_CLEAR_RESET_audio_rst_gen_rstn_i2sadc_srst_; \
_CLEAR_RESET_audio_rst_gen_rstn_apb_i2sadc_; \
}
#define jh_i2sadc_reset_clk_disable { \
_DISABLE_CLOCK_clk_apb_i2sadc_; \
_ASSERT_RESET_audio_rst_gen_rstn_apb_i2sadc_; \
_ASSERT_RESET_audio_rst_gen_rstn_i2sadc_srst_; \
}
/* i2sdac0 reset and clkgen mclk-->bclk-->lrclk
* mclk: 12.288 / 3 = 4.096 MHz
* bclk: mclk / 4 = 1.024 MHz
* lrclk:bclk / 64 = 16 KHz
*/
#define jh_i2sdac_reset_clk_enable { \
_SWITCH_CLOCK_clk_dac_mclk_SOURCE_clk_audio_12288_; \
_ENABLE_CLOCK_clk_dac_mclk_; \
_ENABLE_CLOCK_clk_apb_i2sdac_; \
_DIVIDE_CLOCK_clk_dac_mclk_(3); \
_SWITCH_CLOCK_clk_i2sdac_bclk_SOURCE_clk_dac_mclk_; \
_DIVIDE_CLOCK_clk_i2sdac_bclk_(4); \
_SWITCH_CLOCK_clk_i2sdac_lrclk_SOURCE_clk_i2sdac_bclk_; \
_DIVIDE_CLOCK_clk_i2sdac_lrclk_(64); \
_CLEAR_RESET_audio_rst_gen_rstn_apb_i2sdac_; \
_CLEAR_RESET_audio_rst_gen_rstn_i2sdac_srst_; \
}
#define jh_i2sdac_reset_clk_disable { \
_DISABLE_CLOCK_clk_apb_i2sdac_; \
_ASSERT_RESET_audio_rst_gen_rstn_apb_i2sdac_; \
_ASSERT_RESET_audio_rst_gen_rstn_i2sdac_srst_; \
}
/* i2s1 [i2sdac1] reset and clkgen mclk-->bclk-->lrclk
* mclk: 12.288 / 3 = 4.096 MHz
* bclk: mclk / 4 = 1.024 MHz
* lrclk:bclk / 64 = 16 KHz
*/
#define jh_i2s1_reset_clk_enable { \
_SWITCH_CLOCK_clk_i2s1_mclk_SOURCE_clk_audio_12288_; \
_ENABLE_CLOCK_clk_i2s1_mclk_; \
_DIVIDE_CLOCK_clk_i2s1_mclk_(3); \
_SWITCH_CLOCK_clk_i2s1_bclk_SOURCE_clk_i2s1_mclk_; \
_DIVIDE_CLOCK_clk_i2s1_bclk_(4); \
_SWITCH_CLOCK_clk_i2s1_lrclk_SOURCE_clk_i2s1_bclk_; \
_DIVIDE_CLOCK_clk_i2s1_lrclk_(16); \
_ENABLE_CLOCK_clk_apb_i2s1_; \
_CLEAR_RESET_audio_rst_gen_rstn_apb_i2s1_; \
_CLEAR_RESET_audio_rst_gen_rstn_i2s1_srst_; \
}
#define jh_i2s1_reset_clk_disable { \
_DISABLE_CLOCK_clk_apb_i2s1_; \
_DISABLE_CLOCK_clk_i2s1_mclk_; \
_ASSERT_RESET_audio_rst_gen_rstn_apb_i2s1_; \
_ASSERT_RESET_audio_rst_gen_rstn_i2s1_srst_; \
}
/* i2sdac16k reset and clkgen */
#define jh_i2sdac16k_reset_clk_enable { \
_SWITCH_CLOCK_clk_dac_mclk_SOURCE_clk_audio_12288_; \
_ENABLE_CLOCK_clk_dac_mclk_; \
_DIVIDE_CLOCK_clk_dac_mclk_(6); \
_ENABLE_CLOCK_clk_apb_i2sdac16k_; \
_CLEAR_RESET_audio_rst_gen_rstn_apb_i2sdac16k_; \
_CLEAR_RESET_audio_rst_gen_rstn_i2sdac16k_srst_; \
}
#define jh_i2sdac16k_reset_clk_disable { \
_DISABLE_CLOCK_clk_apb_i2sdac16k_; \
_ASSERT_RESET_audio_rst_gen_rstn_apb_i2sdac16k_; \
_ASSERT_RESET_audio_rst_gen_rstn_i2sdac16k_srst_; \
}
/* i2svad reset and clkgen */
#define jh_i2svad_reset_clk_enable { \
_ENABLE_CLOCK_clk_apb_i2svad_; \
_CLEAR_RESET_audio_rst_gen_rstn_apb_i2svad_; \
_CLEAR_RESET_audio_rst_gen_rstn_i2svad_srst_; \
}
#define jh_i2svad_reset_clk_disable { \
_DISABLE_CLOCK_clk_apb_i2svad_; \
_ASSERT_RESET_audio_rst_gen_rstn_apb_i2svad_; \
_ASSERT_RESET_audio_rst_gen_rstn_i2svad_srst_; \
}
/* musb reset and clkgen */
#define jh_musb_reset_clk_enable { \
/*_ASSERT_RESET_rstn_ahb_usb_;*/ \
}
#define jh_musb_reset_clk_disable { \
/*_ASSERT_RESET_rstn_ahb_usb_;*/ \
}
#define jh_uart0_reset_clk_gpio_isp_enable { \
_ENABLE_CLOCK_clk_uart0_apb_; \
_ENABLE_CLOCK_clk_uart0_core_; \
_DIVIDE_CLOCK_clk_uart0_core_(8); \
_CLEAR_RESET_rstgen_rstn_uart0_core_; \
_CLEAR_RESET_rstgen_rstn_uart0_apb_; \
SET_GPIO_uart0_pad_sin(FPGA_UART0_RXD); \
SET_GPIO_13_doen_HIGH; \
SET_GPIO_12_dout_uart0_pad_sout; \
SET_GPIO_12_doen_LOW; \
}
#define jh_uart0_reset_clk_gpio_misc_enable { \
_ENABLE_CLOCK_clk_uart0_apb_; \
_ENABLE_CLOCK_clk_uart0_core_; \
_CLEAR_RESET_rstgen_rstn_uart0_core_; \
_CLEAR_RESET_rstgen_rstn_uart0_apb_; \
SET_GPIO_uart0_pad_sin(FPGA_UART0_RXD); \
SET_GPIO_5_doen_HIGH; \
SET_GPIO_6_dout_uart0_pad_sout; \
SET_GPIO_6_doen_LOW; \
}
#define jh_uart0_reset_clk_gpio_evb_enable { \
_ENABLE_CLOCK_clk_uart0_apb_; \
_ENABLE_CLOCK_clk_uart0_core_; \
_CLEAR_RESET_rstgen_rstn_uart0_core_; \
_CLEAR_RESET_rstgen_rstn_uart0_apb_; \
SET_GPIO_uart0_pad_sin(FPGA_UART0_RXD); \
SET_GPIO_5_doen_HIGH; \
SET_GPIO_6_dout_uart0_pad_sout; \
SET_GPIO_6_doen_LOW; \
}
/*
SET_GPIO_uart0_pad_ctsn(FPGA_UART0_CTSN); \
SET_GPIO_uart0_pad_dcdn(-1); \
SET_GPIO_uart0_pad_dsrn(-1); \
SET_GPIO_uart0_pad_rin(-1); \
SET_GPIO_7_doen_HIGH; \
*/
#define jh_uart0_reset_clk_disable { \
_DISABLE_CLOCK_clk_uart0_apb_; \
_ASSERT_RESET_rstgen_rstn_uart0_apb_; \
_ASSERT_RESET_rstgen_rstn_uart0_core_; \
}
#define jh_uart1_reset_clk_gpio_isp_enable { \
_ENABLE_CLOCK_clk_uart1_apb_; \
_ENABLE_CLOCK_clk_uart1_core_; \
_CLEAR_RESET_rstgen_rstn_uart1_core_; \
_CLEAR_RESET_rstgen_rstn_uart1_apb_; \
SET_GPIO_12_dout_uart1_pad_sout; \
SET_GPIO_uart1_pad_sin(FPGA_UART1_RXD); \
SET_GPIO_13_doen_HIGH; \
SET_GPIO_12_doen_LOW; \
}
#if 1 //simon
#define jh_uart1_reset_clk_gpio_misc_enable { \
_ENABLE_CLOCK_clk_uart1_apb_; \
_ENABLE_CLOCK_clk_uart1_core_; \
_CLEAR_RESET_rstgen_rstn_uart1_core_; \
_CLEAR_RESET_rstgen_rstn_uart1_apb_; \
SET_GPIO_6_dout_uart1_pad_sout; \
SET_GPIO_uart1_pad_sin(FPGA_UART1_RXD); \
SET_GPIO_5_doen_HIGH; \
SET_GPIO_6_doen_LOW; \
}
#else //hongya-vp6
#define jh_uart1_reset_clk_gpio_misc_enable { \
_ENABLE_CLOCK_clk_uart1_apb_; \
_ENABLE_CLOCK_clk_uart1_core_; \
_CLEAR_RESET_rstgen_rstn_uart1_core_; \
_CLEAR_RESET_rstgen_rstn_uart1_apb_; \
SET_GPIO_uart1_pad_sin(FPGA_UART1_RXD); \
SET_GPIO_11_doen_HIGH; \
SET_GPIO_12_dout_uart1_pad_sout; \
SET_GPIO_12_doen_LOW; \
}
#endif
#define jh_uart1_reset_clk_gpio_evb_enable { \
_ENABLE_CLOCK_clk_uart1_apb_; \
_ENABLE_CLOCK_clk_uart1_core_; \
_CLEAR_RESET_rstgen_rstn_uart1_core_; \
_CLEAR_RESET_rstgen_rstn_uart1_apb_; \
SET_GPIO_10_dout_uart1_pad_sout; \
SET_GPIO_uart1_pad_sin(FPGA_UART1_RXD); \
SET_GPIO_9_doen_HIGH; \
SET_GPIO_10_doen_LOW; \
}
#define jh_uart1_reset_clk_disable { \
_DISABLE_CLOCK_clk_uart1_apb_; \
_ASSERT_RESET_rstgen_rstn_uart1_apb_; \
_ASSERT_RESET_rstgen_rstn_uart1_core_; \
}
/*
#define jh_uart2_reset_clk_disable { \
_DISABLE_CLOCK_clk_uart2_apb_; \
_ASSERT_RESET_rstgen_rstn_uart2_apb_; \
_ASSERT_RESET_rstgen_rstn_uart2_core_; \
}
*/
#define jh_uart2_reset_clk_gpio_isp_enable { \
jh_uart2_reset_clk_disable; \
_ENABLE_CLOCK_clk_uart2_apb_; \
_ENABLE_CLOCK_clk_uart2_core_; \
_CLEAR_RESET_rstgen_rstn_uart2_core_; \
_CLEAR_RESET_rstgen_rstn_uart2_apb_; \
SET_GPIO_uart2_pad_sin(FPGA_UART2_RXD); \
SET_GPIO_13_doen_HIGH; \
SET_GPIO_12_dout_uart2_pad_sout; \
SET_GPIO_12_doen_LOW; \
}
#define jh_uart2_reset_clk_gpio_misc_enable { \
jh_uart2_reset_clk_disable; \
_ENABLE_CLOCK_clk_uart2_apb_; \
_ENABLE_CLOCK_clk_uart2_core_; \
_CLEAR_RESET_rstgen_rstn_uart2_core_; \
_CLEAR_RESET_rstgen_rstn_uart2_apb_; \
SET_GPIO_uart2_pad_sin(FPGA_UART2_RXD); \
SET_GPIO_13_doen_HIGH; \
SET_GPIO_14_dout_uart2_pad_sout; \
SET_GPIO_14_doen_LOW; \
}
#define jh_uart2_reset_clk_gpio_evb_enable { \
jh_uart2_reset_clk_disable; \
_ENABLE_CLOCK_clk_uart2_apb_; \
_ENABLE_CLOCK_clk_uart2_core_; \
_CLEAR_RESET_rstgen_rstn_uart2_core_; \
_CLEAR_RESET_rstgen_rstn_uart2_apb_; \
SET_GPIO_uart2_pad_sin(FPGA_UART2_RXD); \
SET_GPIO_5_doen_HIGH; \
SET_GPIO_6_dout_uart2_pad_sout; \
SET_GPIO_6_doen_LOW; \
}
/* rtsn:11 ctsn:14 */
#define jh_uart0_isp_4line { \
SET_GPIO_11_dout_uart0_pad_rtsn; \
SET_GPIO_11_doen_LOW; \
SET_GPIO_uart0_pad_ctsn(FPGA_UART0_CTSN); \
SET_GPIO_14_doen_HIGH; \
}
/* rtsn:8 ctsn:7 */
#define jh_uart0_misc_4line { \
SET_GPIO_8_dout_uart0_pad_rtsn; \
SET_GPIO_8_doen_LOW; \
SET_GPIO_uart0_pad_ctsn(FPGA_UART0_CTSN); \
SET_GPIO_7_doen_HIGH; \
}
///SET_GPIO_uart0_pad_ctsn(-2); /* ZHUA XIN HAO */
/* rtsn:49 ctsn:48 */
#define jh_uart2_4line { \
SET_GPIO_49_doen_uart2_pad_rts_n; \
SET_GPIO_49_doen_LOW; \
SET_GPIO_uart2_pad_cts_n(FPGA_UART2_CTSN); \
SET_GPIO_48_doen_LOW; \
}
#define jh_uart2_reset_clk_disable { \
_DISABLE_CLOCK_clk_uart2_apb_; \
}
#define jh_uart3_reset_clk_gpio_isp_enable { \
_ENABLE_CLOCK_clk_uart3_apb_; \
_ENABLE_CLOCK_clk_uart3_core_; \
_CLEAR_RESET_rstgen_rstn_uart3_core_; \
_CLEAR_RESET_rstgen_rstn_uart3_apb_; \
SET_GPIO_uart3_pad_sin(FPGA_UART3_RXD); \
SET_GPIO_13_doen_HIGH; \
SET_GPIO_12_dout_uart3_pad_sout; \
SET_GPIO_12_doen_LOW; \
}
#if 1 //simon
#define jh_uart3_reset_clk_gpio_misc_enable { \
_ENABLE_CLOCK_clk_uart3_apb_; \
_ENABLE_CLOCK_clk_uart3_core_; \
_CLEAR_RESET_rstgen_rstn_uart3_core_; \
_CLEAR_RESET_rstgen_rstn_uart3_apb_; \
SET_GPIO_uart3_pad_sin(FPGA_UART2_RXD); \
SET_GPIO_13_doen_HIGH; \
SET_GPIO_14_dout_uart3_pad_sout; \
SET_GPIO_14_doen_LOW; \
}
#else //hongya
#define jh_uart3_reset_clk_gpio_misc_enable { \
_ENABLE_CLOCK_clk_uart3_apb_; \
_ENABLE_CLOCK_clk_uart3_core_; \
_CLEAR_RESET_rstgen_rstn_uart3_core_; \
_CLEAR_RESET_rstgen_rstn_uart3_apb_; \
SET_GPIO_uart3_pad_sin(FPGA_UART3_RXD); \
SET_GPIO_11_doen_HIGH; \
SET_GPIO_12_dout_uart3_pad_sout; \
SET_GPIO_12_doen_LOW; \
}
#endif
#define jh_uart3_reset_clk_gpio_evb_enable { \
_ENABLE_CLOCK_clk_uart3_apb_; \
_ENABLE_CLOCK_clk_uart3_core_; \
_CLEAR_RESET_rstgen_rstn_uart3_core_; \
_CLEAR_RESET_rstgen_rstn_uart3_apb_; \
SET_GPIO_uart3_pad_sin(FPGA_UART3_RXD); \
SET_GPIO_13_doen_HIGH; \
SET_GPIO_14_dout_uart3_pad_sout; \
SET_GPIO_14_doen_LOW; \
}
#define jh_uart3_reset_clk_disable { \
_DISABLE_CLOCK_clk_uart3_apb_; \
}
#define jh_vdec_reset_clk_enable { \
_ENABLE_CLOCK_clk_vdecbrg_mainclk_; \
_ENABLE_CLOCK_clk_vdec_apb_; \
_ENABLE_CLOCK_clk_vdec_axi_; \
_ENABLE_CLOCK_clk_vdec_bclk_; \
_ENABLE_CLOCK_clk_vdec_cclk_; \
_CLEAR_RESET_rstgen_rstn_vdecbrg_main_; \
_CLEAR_RESET_rstgen_rstn_vdec_apb_; \
_CLEAR_RESET_rstgen_rstn_vdec_axi_; \
_CLEAR_RESET_rstgen_rstn_vdec_bclk_; \
_CLEAR_RESET_rstgen_rstn_vdec_cclk_; \
}
/*
///_SET_SYSCON_REG_SCFG_vdec_remap_bound_addr0(0); \
///_SET_SYSCON_REG_SCFG_vdec_remap_offset_addr(0); \
///_SET_SYSCON_REG_SCFG_vdec_remap_start_point(0); \
*/
#define jh_vdec_reset_clk_disable { \
_DISABLE_CLOCK_clk_vdec_apb_; \
_DISABLE_CLOCK_clk_vdec_axi_; \
_DISABLE_CLOCK_clk_vdec_bclk_; \
_DISABLE_CLOCK_clk_vdec_cclk_; \
_ASSERT_RESET_rstgen_rstn_vdec_apb_; \
_ASSERT_RESET_rstgen_rstn_vdec_axi_; \
_ASSERT_RESET_rstgen_rstn_vdec_bclk_; \
_ASSERT_RESET_rstgen_rstn_vdec_cclk_; \
}
///_DISABLE_CLOCK_clk_vdecbrg_mainclk_;
///_ASSERT_RESET_rstgen_rstn_vdecbrg_main_;
#define jh_venc_reset_clk_disable { \
_DISABLE_CLOCK_clk_venc_apb_; \
_DISABLE_CLOCK_clk_venc_axi_; \
_DISABLE_CLOCK_clk_venc_bclk_; \
_DISABLE_CLOCK_clk_venc_cclk_; \
_ASSERT_RESET_rstgen_rstn_venc_apb_; \
_ASSERT_RESET_rstgen_rstn_venc_axi_; \
_ASSERT_RESET_rstgen_rstn_venc_bclk_; \
_ASSERT_RESET_rstgen_rstn_venc_cclk_; \
}
//_DISABLE_CLOCK_clk_vencbrg_mainclk_;
//_ASSERT_RESET_rstgen_rstn_vencbrg_main_;
#define jh_venc_reset_clk_enable { \
_ENABLE_CLOCK_clk_vencbrg_mainclk_; \
_ENABLE_CLOCK_clk_venc_apb_; \
_ENABLE_CLOCK_clk_venc_axi_; \
_ENABLE_CLOCK_clk_venc_bclk_; \
_ENABLE_CLOCK_clk_venc_cclk_; \
_CLEAR_RESET_rstgen_rstn_vencbrg_main_; \
_CLEAR_RESET_rstgen_rstn_venc_apb_; \
_CLEAR_RESET_rstgen_rstn_venc_axi_; \
_CLEAR_RESET_rstgen_rstn_venc_bclk_; \
_CLEAR_RESET_rstgen_rstn_venc_cclk_; \
}
#define jh_jpeg_reset_clk_enable { \
_ENABLE_CLOCK_clk_jpeg_axi_; \
_ENABLE_CLOCK_clk_jpeg_cclk_; \
_ENABLE_CLOCK_clk_jpeg_apb_; \
_CLEAR_RESET_rstgen_rstn_jpeg_axi_; \
_CLEAR_RESET_rstgen_rstn_jpeg_cclk_; \
_CLEAR_RESET_rstgen_rstn_jpeg_apb_; \
}
#define jh_jpeg_reset_clk_disable { \
_DISABLE_CLOCK_clk_jpeg_axi_; \
_DISABLE_CLOCK_clk_jpeg_cclk_; \
_DISABLE_CLOCK_clk_jpeg_apb_; \
_ASSERT_RESET_rstgen_rstn_jpeg_axi_; \
_ASSERT_RESET_rstgen_rstn_jpeg_cclk_; \
_ASSERT_RESET_rstgen_rstn_jpeg_apb_; \
}
/*
///_SET_SYSCON_REG_SCFG_jpeg_remap_en();
///_SET_SYSCON_REG_SCFG_jpeg_remap_start_point();
///_SET_SYSCON_REG_SCFG_jpeg_remap_bound_addr0();
*/
#define jh_nbdla_reset_clk_enable { \
_ENABLE_CLOCK_clk_dlaslv_axi_; \
_CLEAR_RESET_rstgen_rstn_dlaslv_axi_; \
_ENABLE_CLOCK_clk_dla_axi_; \
_CLEAR_RESET_rstgen_rstn_dla_axi_; \
_ENABLE_CLOCK_clk_nnenoc_axi_; \
_CLEAR_RESET_rstgen_rstn_nnenoc_axi_; \
_SET_SYSCON_REG_register16_SCFG_nbdla_clkgating_en(1); \
}
//1: ENABLE; 0:DISABLE
#define jh_nbdla_reset_clk_disable { \
_DISABLE_CLOCK_clk_dlaslv_axi_; \
_ASSERT_RESET_rstgen_rstn_dlaslv_axi_; \
_DISABLE_CLOCK_clk_dla_axi_; \
_ASSERT_RESET_rstgen_rstn_dla_axi_; \
_DISABLE_CLOCK_clk_nnenoc_axi_; \
_ASSERT_RESET_rstgen_rstn_nnenoc_axi_; \
_SET_SYSCON_REG_register16_SCFG_nbdla_clkgating_en(0); \
}
#define jh_trng_reset_clk_enable { \
_ENABLE_CLOCK_clk_trng_apb_; \
_CLEAR_RESET_rstgen_rstn_trng_apb_; \
}
#define jh_trng_reset_clk_disable { \
_DISABLE_CLOCK_clk_trng_apb_; \
_ASSERT_RESET_rstgen_rstn_trng_apb_; \
}
#define jh_audio_reset_clk_enable { \
_ENABLE_CLOCK_clk_audio_root_; \
_ENABLE_CLOCK_clk_audio_src_; \
_CLEAR_RESET_audio_rst_gen_rstn_apb_bus_; \
_ENABLE_CLOCK_clk_apb_i2svad_; \
_CLEAR_RESET_audio_rst_gen_rstn_apb_i2svad_; \
}
#define jh_module_reset { \
jh_uart0_reset_clk_disable; \
jh_uart1_reset_clk_disable; \
jh_uart2_reset_clk_disable; \
jh_uart3_reset_clk_disable; \
jh_vdec_reset_clk_disable; \
jh_nbdla_reset_clk_disable; \
jh_i2sadc_reset_clk_disable; \
jh_jpeg_reset_clk_disable; \
jh_trng_reset_clk_disable; \
}
#if 0
#define jh_module_reset { \
jh_i2sadc_reset_clk_disable; \
jh_i2sdac_reset_clk_disable; \
jh_i2sdac16k_reset_clk_disable; \
jh_i2s1_reset_clk_disable; \
jh_pdm_reset_clk_disable; \
jh_pcm_reset_clk_disable; \
jh_spdif_reset_clk_disable; \
jh_pwmdac_reset_clk_disable; \
jh_ptc_reset_clk_disable; \
jh_musb_reset_clk_disable; \
jh_uart0_reset_clk_disable; \
jh_uart1_reset_clk_disable; \
jh_uart2_reset_clk_disable; \
jh_uart3_reset_clk_disable; \
}
#endif
#define jh_clkgen_enable { \
_ENABLE_CLOCK_clk_pll0_testout_; \
_ENABLE_CLOCK_clk_pll1_testout_; \
_ENABLE_CLOCK_clk_pll2_testout_; \
_ENABLE_CLOCK_clk_ahb0_bus_; \
_ENABLE_CLOCK_clk_apb1_bus_; \
_ENABLE_CLOCK_clk_ahb2_bus_; \
_ENABLE_CLOCK_clk_apb2_bus_; \
_ENABLE_CLOCK_clk_u74_core_; \
_ENABLE_CLOCK_clk_u74_axi_; \
_ENABLE_CLOCK_clk_u74rtc_toggle_; \
_ENABLE_CLOCK_clk_sgdma2p_axi_; \
_ENABLE_CLOCK_clk_dma2pnoc_axi_; \
_ENABLE_CLOCK_clk_sgdma2p_ahb_; \
_ENABLE_CLOCK_clk_dla_bus_; \
_ENABLE_CLOCK_clk_dla_axi_; \
_ENABLE_CLOCK_clk_dlanoc_axi_; \
_ENABLE_CLOCK_clk_dla_apb_; \
_ENABLE_CLOCK_clk_vp6_core_; \
_ENABLE_CLOCK_clk_vp6_axi_; \
_ENABLE_CLOCK_clk_vp6_apb_; \
_ENABLE_CLOCK_clk_vdec_axi_; \
_ENABLE_CLOCK_clk_vdecbrg_mainclk_; \
_ENABLE_CLOCK_clk_vdec_bclk_; \
_ENABLE_CLOCK_clk_vdec_cclk_; \
_ENABLE_CLOCK_clk_vdec_apb_; \
_ENABLE_CLOCK_clk_jpeg_axi_; \
_ENABLE_CLOCK_clk_jpeg_cclk_; \
_ENABLE_CLOCK_clk_jpeg_apb_; \
_ENABLE_CLOCK_clk_gc300_2x_; \
_ENABLE_CLOCK_clk_gc300_ahb_; \
_ENABLE_CLOCK_clk_gc300_axi_; \
_ENABLE_CLOCK_clk_jpcgc300_mainclk_; \
_ENABLE_CLOCK_clk_venc_axi_; \
_ENABLE_CLOCK_clk_vencbrg_mainclk_; \
_ENABLE_CLOCK_clk_venc_bclk_; \
_ENABLE_CLOCK_clk_venc_cclk_; \
_ENABLE_CLOCK_clk_venc_apb_; \
_ENABLE_CLOCK_clk_ddrc0_; \
_ENABLE_CLOCK_clk_ddrc1_; \
_ENABLE_CLOCK_clk_ddrphy_apb_; \
_ENABLE_CLOCK_clk_noc_rob_; \
_ENABLE_CLOCK_clk_noc_cog_; \
_ENABLE_CLOCK_clk_nne_ahb_; \
_ENABLE_CLOCK_clk_nne_axi_; \
_ENABLE_CLOCK_clk_nnenoc_axi_; \
_ENABLE_CLOCK_clk_dlaslv_axi_; \
_ENABLE_CLOCK_clk_dspx2c_axi_; \
_ENABLE_CLOCK_clk_hifi4_core_; \
_ENABLE_CLOCK_clk_hifi4_axi_; \
_ENABLE_CLOCK_clk_hifi4noc_axi_; \
_ENABLE_CLOCK_clk_sgdma1p_axi_; \
_ENABLE_CLOCK_clk_dma1p_axi_; \
_ENABLE_CLOCK_clk_x2c_axi_; \
_ENABLE_CLOCK_clk_usb_axi_; \
_ENABLE_CLOCK_clk_usbnoc_axi_; \
_ENABLE_CLOCK_clk_usbphy_125m_; \
_ENABLE_CLOCK_clk_usbphy_plldiv25m_; \
_ENABLE_CLOCK_clk_audio_12288_; \
_ENABLE_CLOCK_clk_audio_src_; \
_ENABLE_CLOCK_clk_vin_src_; \
_ENABLE_CLOCK_clk_isp0_axi_; \
_ENABLE_CLOCK_clk_isp0noc_axi_; \
_ENABLE_CLOCK_clk_ispslv_axi_; \
_ENABLE_CLOCK_clk_isp1_axi_; \
_ENABLE_CLOCK_clk_isp1noc_axi_; \
_ENABLE_CLOCK_clk_vin_axi_; \
_ENABLE_CLOCK_clk_vinnoc_axi_; \
_ENABLE_CLOCK_clk_vout_src_; \
_ENABLE_CLOCK_clk_disp_axi_; \
_ENABLE_CLOCK_clk_dispnoc_axi_; \
_ENABLE_CLOCK_clk_sdio0_ahb_; \
_ENABLE_CLOCK_clk_sdio0_cclkint_; \
_ENABLE_CLOCK_clk_sdio1_ahb_; \
_ENABLE_CLOCK_clk_sdio1_cclkint_; \
_ENABLE_CLOCK_clk_gmac_ahb_; \
_ENABLE_CLOCK_clk_gmac_ptp_refclk_; \
_ENABLE_CLOCK_clk_gmac_gtxclk_; \
_ENABLE_CLOCK_clk_gmac_rmii_txclk_; \
_ENABLE_CLOCK_clk_gmac_rmii_rxclk_; \
_ENABLE_CLOCK_clk_gmac_rmii_; \
_ENABLE_CLOCK_clk_gmac_tophyref_; \
_ENABLE_CLOCK_clk_spi2ahb_ahb_; \
_ENABLE_CLOCK_clk_spi2ahb_core_; \
_ENABLE_CLOCK_clk_ezmaster_ahb_; \
_ENABLE_CLOCK_clk_e24_ahb_; \
_ENABLE_CLOCK_clk_e24rtc_toggle_; \
_ENABLE_CLOCK_clk_qspi_ahb_; \
_ENABLE_CLOCK_clk_qspi_apb_; \
_ENABLE_CLOCK_clk_qspi_refclk_; \
_ENABLE_CLOCK_clk_sec_ahb_; \
_ENABLE_CLOCK_clk_aes_clk_; \
_ENABLE_CLOCK_clk_sha_clk_; \
_ENABLE_CLOCK_clk_pka_clk_; \
_ENABLE_CLOCK_clk_trng_apb_; \
_ENABLE_CLOCK_clk_otp_apb_; \
_ENABLE_CLOCK_clk_uart0_apb_; \
_ENABLE_CLOCK_clk_uart0_core_; \
_ENABLE_CLOCK_clk_uart1_apb_; \
_ENABLE_CLOCK_clk_uart1_core_; \
_ENABLE_CLOCK_clk_spi0_apb_; \
_ENABLE_CLOCK_clk_spi0_core_; \
_ENABLE_CLOCK_clk_spi1_apb_; \
_ENABLE_CLOCK_clk_spi1_core_; \
_ENABLE_CLOCK_clk_i2c0_apb_; \
_ENABLE_CLOCK_clk_i2c0_core_; \
_ENABLE_CLOCK_clk_i2c1_apb_; \
_ENABLE_CLOCK_clk_i2c1_core_; \
_ENABLE_CLOCK_clk_gpio_apb_; \
_ENABLE_CLOCK_clk_uart2_apb_; \
_ENABLE_CLOCK_clk_uart2_core_; \
_ENABLE_CLOCK_clk_uart3_apb_; \
_ENABLE_CLOCK_clk_uart3_core_; \
_ENABLE_CLOCK_clk_spi2_apb_; \
_ENABLE_CLOCK_clk_spi2_core_; \
_ENABLE_CLOCK_clk_spi3_apb_; \
_ENABLE_CLOCK_clk_spi3_core_; \
_ENABLE_CLOCK_clk_i2c2_apb_; \
_ENABLE_CLOCK_clk_i2c2_core_; \
_ENABLE_CLOCK_clk_i2c3_apb_; \
_ENABLE_CLOCK_clk_i2c3_core_; \
_ENABLE_CLOCK_clk_wdtimer_apb_; \
_ENABLE_CLOCK_clk_wdt_coreclk_; \
_ENABLE_CLOCK_clk_timer0_coreclk_; \
_ENABLE_CLOCK_clk_timer1_coreclk_; \
_ENABLE_CLOCK_clk_timer2_coreclk_; \
_ENABLE_CLOCK_clk_timer3_coreclk_; \
_ENABLE_CLOCK_clk_timer4_coreclk_; \
_ENABLE_CLOCK_clk_timer5_coreclk_; \
_ENABLE_CLOCK_clk_timer6_coreclk_; \
_ENABLE_CLOCK_clk_vp6intc_apb_; \
_ENABLE_CLOCK_clk_pwm_apb_; \
_ENABLE_CLOCK_clk_msi_apb_; \
_ENABLE_CLOCK_clk_temp_apb_; \
_ENABLE_CLOCK_clk_temp_sense_; \
_ENABLE_CLOCK_clk_syserr_apb_; \
}
#define jh_rstgen_enable { \
_CLEAR_RESET_rstgen_rstn_u74_axi_; \
_CLEAR_RESET_rstgen_rstn_sgdma2p_ahb_; \
_CLEAR_RESET_rstgen_rstn_sgdma2p_axi_; \
_CLEAR_RESET_rstgen_rstn_dma2pnoc_aix_; \
_CLEAR_RESET_rstgen_rstn_dla_axi_; \
_CLEAR_RESET_rstgen_rstn_dlanoc_axi_; \
_CLEAR_RESET_rstgen_rstn_dla_apb_; \
_CLEAR_RESET_rstgen_rstn_vp6_axi_; \
_CLEAR_RESET_rstgen_rstn_vp6_apb_; \
_CLEAR_RESET_rstgen_rstn_vdecbrg_main_; \
_CLEAR_RESET_rstgen_rstn_vdec_axi_; \
_CLEAR_RESET_rstgen_rstn_vdec_bclk_; \
_CLEAR_RESET_rstgen_rstn_vdec_cclk_; \
_CLEAR_RESET_rstgen_rstn_vdec_apb_; \
_CLEAR_RESET_rstgen_rstn_jpeg_axi_; \
_CLEAR_RESET_rstgen_rstn_jpeg_cclk_; \
_CLEAR_RESET_rstgen_rstn_jpeg_apb_; \
_CLEAR_RESET_rstgen_rstn_jpcgc300_main_; \
_CLEAR_RESET_rstgen_rstn_gc300_2x_; \
_CLEAR_RESET_rstgen_rstn_gc300_axi_; \
_CLEAR_RESET_rstgen_rstn_gc300_ahb_; \
_CLEAR_RESET_rstgen_rstn_venc_axi_; \
_CLEAR_RESET_rstgen_rstn_vencbrg_main_; \
_CLEAR_RESET_rstgen_rstn_venc_bclk_; \
_CLEAR_RESET_rstgen_rstn_venc_cclk_; \
_CLEAR_RESET_rstgen_rstn_venc_apb_; \
_CLEAR_RESET_rstgen_rstn_ddrphy_apb_; \
_CLEAR_RESET_rstgen_rstn_noc_rob_; \
_CLEAR_RESET_rstgen_rstn_noc_cog_; \
_CLEAR_RESET_rstgen_rstn_hifi4_axi_; \
_CLEAR_RESET_rstgen_rstn_hifi4noc_axi_; \
_CLEAR_RESET_rstgen_rstn_usb_axi_; \
_CLEAR_RESET_rstgen_rstn_usbnoc_axi_; \
_CLEAR_RESET_rstgen_rstn_sgdma1p_axi_; \
_CLEAR_RESET_rstgen_rstn_dma1p_axi_; \
_CLEAR_RESET_rstgen_rstn_x2c_axi_; \
_CLEAR_RESET_rstgen_rstn_nne_ahb_; \
_CLEAR_RESET_rstgen_rstn_nne_axi_; \
_CLEAR_RESET_rstgen_rstn_nnenoc_axi_; \
_CLEAR_RESET_rstgen_rstn_dlaslv_axi_; \
_CLEAR_RESET_rstgen_rstn_dspx2c_axi_; \
_CLEAR_RESET_rstgen_rstn_vin_src_; \
_CLEAR_RESET_rstgen_rstn_ispslv_axi_; \
_CLEAR_RESET_rstgen_rstn_vin_axi_; \
_CLEAR_RESET_rstgen_rstn_vinnoc_axi_; \
_CLEAR_RESET_rstgen_rstn_isp0_axi_; \
_CLEAR_RESET_rstgen_rstn_isp0noc_axi_; \
_CLEAR_RESET_rstgen_rstn_isp1_axi_; \
_CLEAR_RESET_rstgen_rstn_isp1noc_axi_; \
_CLEAR_RESET_rstgen_rstn_vout_src_; \
_CLEAR_RESET_rstgen_rstn_disp_axi_; \
_CLEAR_RESET_rstgen_rstn_dispnoc_axi_; \
_CLEAR_RESET_rstgen_rstn_sdio0_ahb_; \
_CLEAR_RESET_rstgen_rstn_sdio1_ahb_; \
_CLEAR_RESET_rstgen_rstn_gmac_ahb_; \
_CLEAR_RESET_rstgen_rstn_spi2ahb_ahb_; \
_CLEAR_RESET_rstgen_rstn_spi2ahb_core_; \
_CLEAR_RESET_rstgen_rstn_ezmaster_ahb_; \
_CLEAR_RESET_rstgen_rstn_qspi_ahb_; \
_CLEAR_RESET_rstgen_rstn_qspi_core_; \
_CLEAR_RESET_rstgen_rstn_qspi_apb_; \
_CLEAR_RESET_rstgen_rstn_sec_ahb_; \
_CLEAR_RESET_rstgen_rstn_aes_; \
_CLEAR_RESET_rstgen_rstn_pka_; \
_CLEAR_RESET_rstgen_rstn_sha_; \
_CLEAR_RESET_rstgen_rstn_trng_apb_; \
_CLEAR_RESET_rstgen_rstn_otp_apb_; \
_CLEAR_RESET_rstgen_rstn_uart0_apb_; \
_CLEAR_RESET_rstgen_rstn_uart0_core_; \
_CLEAR_RESET_rstgen_rstn_uart1_apb_; \
_CLEAR_RESET_rstgen_rstn_uart1_core_; \
_CLEAR_RESET_rstgen_rstn_spi0_apb_; \
_CLEAR_RESET_rstgen_rstn_spi0_core_; \
_CLEAR_RESET_rstgen_rstn_spi1_apb_; \
_CLEAR_RESET_rstgen_rstn_spi1_core_; \
_CLEAR_RESET_rstgen_rstn_i2c0_apb_; \
_CLEAR_RESET_rstgen_rstn_i2c0_core_; \
_CLEAR_RESET_rstgen_rstn_i2c1_apb_; \
_CLEAR_RESET_rstgen_rstn_i2c1_core_; \
_CLEAR_RESET_rstgen_rstn_gpio_apb_; \
_CLEAR_RESET_rstgen_rstn_uart2_apb_; \
_CLEAR_RESET_rstgen_rstn_uart2_core_; \
_CLEAR_RESET_rstgen_rstn_uart3_apb_; \
_CLEAR_RESET_rstgen_rstn_uart3_core_; \
_CLEAR_RESET_rstgen_rstn_spi2_apb_; \
_CLEAR_RESET_rstgen_rstn_spi2_core_; \
_CLEAR_RESET_rstgen_rstn_spi3_apb_; \
_CLEAR_RESET_rstgen_rstn_spi3_core_; \
_CLEAR_RESET_rstgen_rstn_i2c2_apb_; \
_CLEAR_RESET_rstgen_rstn_i2c2_core_; \
_CLEAR_RESET_rstgen_rstn_i2c3_apb_; \
_CLEAR_RESET_rstgen_rstn_i2c3_core_; \
_CLEAR_RESET_rstgen_rstn_wdtimer_apb_; \
_CLEAR_RESET_rstgen_rstn_wdt_; \
_CLEAR_RESET_rstgen_rstn_timer0_; \
_CLEAR_RESET_rstgen_rstn_timer1_; \
_CLEAR_RESET_rstgen_rstn_timer2_; \
_CLEAR_RESET_rstgen_rstn_timer3_; \
_CLEAR_RESET_rstgen_rstn_timer4_; \
_CLEAR_RESET_rstgen_rstn_timer5_; \
_CLEAR_RESET_rstgen_rstn_timer6_; \
_CLEAR_RESET_rstgen_rstn_vp6intc_apb_; \
_CLEAR_RESET_rstgen_rstn_pwm_apb_; \
_CLEAR_RESET_rstgen_rstn_msi_apb_; \
_CLEAR_RESET_rstgen_rstn_temp_apb_; \
_CLEAR_RESET_rstgen_rstn_temp_sense_; \
_CLEAR_RESET_rstgen_rstn_syserr_apb_; \
}
#endif /* _SFC_JH_MODULE_RESET_CLKGEN_H */

View file

@ -0,0 +1,47 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Copyright (c) 2021 StarFive Technology Co., Ltd. */
#ifndef __JH_PTC_H__
#define __JH_PTC_H__
#define PTC_EN (1<<0)
#define PTC_ECLK (1<<1) /* 1:ptc_ecgt signal increment RPTC_CNTR. 0:system clock increment RPTC_CNTR. */
//#define PTC_ECLK (0<<1) /* 1:ptc_ecgt signal increment RPTC_CNTR. 0:system clock increment RPTC_CNTR. */
#define PTC_NEC (1<<2) /* gate:system clock or ptc_ecgt input signal to increment RPTC_CNTR. If gate function is enabled, PWM periods can be automatically adjusted with the capture input. */
#define PTC_OE (1<<3) /* enbale PWM output */
#define PTC_SIGNLE (1<<4) /* 1:single operation; 0:continue operation */
#define PTC_INTE (1<<5) /* Timer/Counter interrput enable */
#define PTC_INT (1<<6) /* interrupt status, write 1 to clear */
#define PTC_CNTRRST (1<<7) /* 0:clear reset */
#define PTC_CAPTE (1<<8) /* ptc_capt to increment RPTC_CNTR.*/
#define PTC_BASE_ADDR_SUB(N) (PWM_BASE_ADDR + ((N > 3) ? ((N - 4) * 0x10 + (1 << 15)) : (N * 0x10)))
/// (0xA9040000 + N*0x10)
#define PTC_RPTC_CNTR(N) (PTC_BASE_ADDR_SUB(N))
#define PTC_RPTC_HRC(N) (PTC_BASE_ADDR_SUB(N) + 0x4)
#define PTC_RPTC_LRC(N) (PTC_BASE_ADDR_SUB(N) + 0x8)
#define PTC_RPTC_CTRL(N) (PTC_BASE_ADDR_SUB(N) + 0xC)
enum ptc_func_num{
PTC_CAPT_0 = 0,
PTC_CAPT_1,
PTC_CAPT_2,
PTC_CAPT_3,
PTC_CAPT_4,
PTC_CAPT_5,
PTC_CAPT_6,
PTC_CAPT_7,
PTC_CAPT_ALL,
};
enum ptc_capt_mode{
PTC_CAPT_CONTINUE = 0,
PTC_CAPT_SINGLE,
};
void ptc_reset_clock(void);
void ptc_reset(void);
#endif

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,223 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Copyright (c) 2021 StarFive Technology Co., Ltd. */
/******************************************************************
*
* syscon_simu_test_top C MACRO generated by ezchip
*
******************************************************************/
#ifndef _SYSCON_SIMU_TEST_MACRO_H_
#define _SYSCON_SIMU_TEST_MACRO_H_
//#define SYSCON_SIMU_TEST_BASE_ADDR 0x0
#define syscon_simu_test_register0_REG_ADDR SYSCON_SIMU_TEST_BASE_ADDR + 0x4
#define syscon_simu_test_register1_REG_ADDR SYSCON_SIMU_TEST_BASE_ADDR + 0x8
#define syscon_simu_test_register2_REG_ADDR SYSCON_SIMU_TEST_BASE_ADDR + 0xC
#define syscon_simu_test_register3_REG_ADDR SYSCON_SIMU_TEST_BASE_ADDR + 0x10
#define syscon_simu_test_register4_REG_ADDR SYSCON_SIMU_TEST_BASE_ADDR + 0x14
#define syscon_simu_test_register5_REG_ADDR SYSCON_SIMU_TEST_BASE_ADDR + 0x18
#define syscon_simu_test_register6_REG_ADDR SYSCON_SIMU_TEST_BASE_ADDR + 0x1C
#define syscon_simu_test_register7_REG_ADDR SYSCON_SIMU_TEST_BASE_ADDR + 0x20
#define syscon_simu_test_register8_REG_ADDR SYSCON_SIMU_TEST_BASE_ADDR + 0x24
#define syscon_simu_test_register9_REG_ADDR SYSCON_SIMU_TEST_BASE_ADDR + 0x28
#define syscon_simu_test_register10_REG_ADDR SYSCON_SIMU_TEST_BASE_ADDR + 0x2C
#define syscon_simu_test_register11_REG_ADDR SYSCON_SIMU_TEST_BASE_ADDR + 0x30
#define syscon_simu_test_register12_REG_ADDR SYSCON_SIMU_TEST_BASE_ADDR + 0x34
#define syscon_simu_test_register13_REG_ADDR SYSCON_SIMU_TEST_BASE_ADDR + 0x38
#define syscon_simu_test_register14_REG_ADDR SYSCON_SIMU_TEST_BASE_ADDR + 0x3C
#define syscon_simu_test_register15_REG_ADDR SYSCON_SIMU_TEST_BASE_ADDR + 0x40
#define _SET_SYSCON_REG_register0_simu_debug(v) { \
uint32_t _ezchip_macro_read_value_=MA_INW(syscon_simu_test_register0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xFFFFFFFF); \
_ezchip_macro_read_value_ |= (v&0xFFFFFFFF); \
MA_OUTW(syscon_simu_test_register0_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_SYSCON_REG_register0_simu_debug(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(syscon_simu_test_register0_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xFFFFFFFF;\
}
#define _SET_SYSCON_REG_register1_simu_debug(v) { \
uint32_t _ezchip_macro_read_value_=MA_INW(syscon_simu_test_register1_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xFFFFFFFF); \
_ezchip_macro_read_value_ |= (v&0xFFFFFFFF); \
MA_OUTW(syscon_simu_test_register1_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_SYSCON_REG_register1_simu_debug(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(syscon_simu_test_register1_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xFFFFFFFF;\
}
#define _SET_SYSCON_REG_register2_simu_debug(v) { \
uint32_t _ezchip_macro_read_value_=MA_INW(syscon_simu_test_register2_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xFFFFFFFF); \
_ezchip_macro_read_value_ |= (v&0xFFFFFFFF); \
MA_OUTW(syscon_simu_test_register2_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_SYSCON_REG_register2_simu_debug(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(syscon_simu_test_register2_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xFFFFFFFF;\
}
#define _SET_SYSCON_REG_register3_simu_debug(v) { \
uint32_t _ezchip_macro_read_value_=MA_INW(syscon_simu_test_register3_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xFFFFFFFF); \
_ezchip_macro_read_value_ |= (v&0xFFFFFFFF); \
MA_OUTW(syscon_simu_test_register3_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_SYSCON_REG_register3_simu_debug(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(syscon_simu_test_register3_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xFFFFFFFF;\
}
#define _SET_SYSCON_REG_register4_simu_debug(v) { \
uint32_t _ezchip_macro_read_value_=MA_INW(syscon_simu_test_register4_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xFFFFFFFF); \
_ezchip_macro_read_value_ |= (v&0xFFFFFFFF); \
MA_OUTW(syscon_simu_test_register4_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_SYSCON_REG_register4_simu_debug(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(syscon_simu_test_register4_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xFFFFFFFF;\
}
#define _SET_SYSCON_REG_register5_simu_debug(v) { \
uint32_t _ezchip_macro_read_value_=MA_INW(syscon_simu_test_register5_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xFFFFFFFF); \
_ezchip_macro_read_value_ |= (v&0xFFFFFFFF); \
MA_OUTW(syscon_simu_test_register5_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_SYSCON_REG_register5_simu_debug(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(syscon_simu_test_register5_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xFFFFFFFF;\
}
#define _SET_SYSCON_REG_register6_simu_debug(v) { \
uint32_t _ezchip_macro_read_value_=MA_INW(syscon_simu_test_register6_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xFFFFFFFF); \
_ezchip_macro_read_value_ |= (v&0xFFFFFFFF); \
MA_OUTW(syscon_simu_test_register6_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_SYSCON_REG_register6_simu_debug(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(syscon_simu_test_register6_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xFFFFFFFF;\
}
#define _SET_SYSCON_REG_register7_simu_debug(v) { \
uint32_t _ezchip_macro_read_value_=MA_INW(syscon_simu_test_register7_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xFFFFFFFF); \
_ezchip_macro_read_value_ |= (v&0xFFFFFFFF); \
MA_OUTW(syscon_simu_test_register7_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_SYSCON_REG_register7_simu_debug(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(syscon_simu_test_register7_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xFFFFFFFF;\
}
#define _SET_SYSCON_REG_register8_simu_debug(v) { \
uint32_t _ezchip_macro_read_value_=MA_INW(syscon_simu_test_register8_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xFFFFFFFF); \
_ezchip_macro_read_value_ |= (v&0xFFFFFFFF); \
MA_OUTW(syscon_simu_test_register8_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_SYSCON_REG_register8_simu_debug(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(syscon_simu_test_register8_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xFFFFFFFF;\
}
#define _SET_SYSCON_REG_register9_simu_debug(v) { \
uint32_t _ezchip_macro_read_value_=MA_INW(syscon_simu_test_register9_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xFFFFFFFF); \
_ezchip_macro_read_value_ |= (v&0xFFFFFFFF); \
MA_OUTW(syscon_simu_test_register9_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_SYSCON_REG_register9_simu_debug(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(syscon_simu_test_register9_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xFFFFFFFF;\
}
#define _SET_SYSCON_REG_register10_simu_debug(v) { \
uint32_t _ezchip_macro_read_value_=MA_INW(syscon_simu_test_register10_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xFFFFFFFF); \
_ezchip_macro_read_value_ |= (v&0xFFFFFFFF); \
MA_OUTW(syscon_simu_test_register10_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_SYSCON_REG_register10_simu_debug(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(syscon_simu_test_register10_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xFFFFFFFF;\
}
#define _SET_SYSCON_REG_register11_simu_debug(v) { \
uint32_t _ezchip_macro_read_value_=MA_INW(syscon_simu_test_register11_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xFFFFFFFF); \
_ezchip_macro_read_value_ |= (v&0xFFFFFFFF); \
MA_OUTW(syscon_simu_test_register11_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_SYSCON_REG_register11_simu_debug(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(syscon_simu_test_register11_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xFFFFFFFF;\
}
#define _SET_SYSCON_REG_register12_simu_debug(v) { \
uint32_t _ezchip_macro_read_value_=MA_INW(syscon_simu_test_register12_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xFFFFFFFF); \
_ezchip_macro_read_value_ |= (v&0xFFFFFFFF); \
MA_OUTW(syscon_simu_test_register12_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_SYSCON_REG_register12_simu_debug(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(syscon_simu_test_register12_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xFFFFFFFF;\
}
#define _SET_SYSCON_REG_register13_simu_debug(v) { \
uint32_t _ezchip_macro_read_value_=MA_INW(syscon_simu_test_register13_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xFFFFFFFF); \
_ezchip_macro_read_value_ |= (v&0xFFFFFFFF); \
MA_OUTW(syscon_simu_test_register13_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_SYSCON_REG_register13_simu_debug(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(syscon_simu_test_register13_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xFFFFFFFF;\
}
#define _SET_SYSCON_REG_register14_simu_debug(v) { \
uint32_t _ezchip_macro_read_value_=MA_INW(syscon_simu_test_register14_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xFFFFFFFF); \
_ezchip_macro_read_value_ |= (v&0xFFFFFFFF); \
MA_OUTW(syscon_simu_test_register14_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_SYSCON_REG_register14_simu_debug(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(syscon_simu_test_register14_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xFFFFFFFF;\
}
#define _SET_SYSCON_REG_register15_simu_debug(v) { \
uint32_t _ezchip_macro_read_value_=MA_INW(syscon_simu_test_register15_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xFFFFFFFF); \
_ezchip_macro_read_value_ |= (v&0xFFFFFFFF); \
MA_OUTW(syscon_simu_test_register15_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_SYSCON_REG_register15_simu_debug(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(syscon_simu_test_register15_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xFFFFFFFF;\
}
#endif //_SYSCON_SIMU_TEST_MACRO_H_

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,90 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Copyright (c) 2021 StarFive Technology Co., Ltd. */
#ifndef __VAD_H__
#define __VAD_H__
#define VAD_LEFT_MARGIN I2S_VAD_BASE_ADDR + 0x800
#define VAD_RIGHT_MARGIN I2S_VAD_BASE_ADDR + 0x804
#define VAD_N_LOW_CONT_FRAMES I2S_VAD_BASE_ADDR + 0x808
#define VAD_N_LOW_SEEK_FRAMES I2S_VAD_BASE_ADDR + 0x80C
#define VAD_N_HIGH_CONT_FRAMES I2S_VAD_BASE_ADDR + 0x810
#define VAD_N_HIGH_SEEK_FRAMES I2S_VAD_BASE_ADDR + 0x814
#define VAD_N_SPEECH_LOW_HIGH_FRAMES I2S_VAD_BASE_ADDR + 0x818
#define VAD_N_SPEECH_LOW_SEEK_FRAMES I2S_VAD_BASE_ADDR + 0x81C
#define VAD_MEAN_SIL_FRAMES I2S_VAD_BASE_ADDR + 0x820
#define VAD_N_ALPHA I2S_VAD_BASE_ADDR + 0x824
#define VAD_N_BETA I2S_VAD_BASE_ADDR + 0x828
#define VAD_FIFO_DEPTH I2S_VAD_BASE_ADDR + 0x82C
#define VAD_LR_SEL I2S_VAD_BASE_ADDR + 0x840
#define VAD_SW I2S_VAD_BASE_ADDR + 0x844
#define VAD_LEFT_WD I2S_VAD_BASE_ADDR + 0x848
#define VAD_RIGHT_WD I2S_VAD_BASE_ADDR + 0x84C
#define VAD_STOP_DELAY I2S_VAD_BASE_ADDR + 0x850
#define VAD_ADDR_START I2S_VAD_BASE_ADDR + 0x854
#define VAD_ADDR_WRAP I2S_VAD_BASE_ADDR + 0x858
#define VAD_MEM_SW I2S_VAD_BASE_ADDR + 0x85C
#define VAD_SPINT_CLR I2S_VAD_BASE_ADDR + 0x860
#define VAD_SPINT_EN I2S_VAD_BASE_ADDR + 0x864
#define VAD_SLINT_CLR I2S_VAD_BASE_ADDR + 0x868
#define VAD_SLINT_EN I2S_VAD_BASE_ADDR + 0x86C
#define VAD_RAW_SPINT I2S_VAD_BASE_ADDR + 0x870
#define VAD_RAW_SLINT I2S_VAD_BASE_ADDR + 0x874
#define VAD_SPINT I2S_VAD_BASE_ADDR + 0x878
#define VAD_SLINT I2S_VAD_BASE_ADDR + 0x87C
#define VAD_XMEM_ADDR (I2S_VAD_BASE_ADDR + 0x880) //16bit index
#define SCFG_vad_i2s_ctrl_REG_ADDR (I2S_VAD_BASE_ADDR + 0x884)
#define VAD_AIX_MEM_ADDR (0x701F0000)
#define _SET_SYSCON_REG_SCFG_ctrl_i2sadc_enable { \
uint32_t value = MA_INW(VAD_SW); \
value &= ~(1<<1); \
value |= (1<<1); \
MA_OUTW(VAD_SW, value); \
}
#define _SET_SYSCON_REG_SCFG_ctrl_i2sadc_disable { \
uint32_t value = MA_INW(VAD_SW); \
value &= ~(1<<1); \
MA_OUTW(VAD_SW, value); \
}
#define _SET_SYSCON_REG_SCFG_aon_i2s_ctrl_adci2s_d0_sel(v) { \
uint32_t _ezchip_macro_read_value_=MA_INW(SCFG_vad_i2s_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x7); \
_ezchip_macro_read_value_ |= (v&0x7); \
MA_OUTW(SCFG_vad_i2s_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_SYSCON_REG_SCFG_aon_i2s_ctrl_adci2s_d0_sel(_ezchip_read_value_) { \
uint32_t _ezchip_macro_read_value_=MA_INW(SCFG_vad_i2s_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x7;\
}
#define _SET_SYSCON_REG_SCFG_aon_i2s_ctrl_adci2s_d1_sel(v) { \
uint32_t _ezchip_macro_read_value_=MA_INW(SCFG_vad_i2s_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x7<<3); \
_ezchip_macro_read_value_ |= (v&0x7)<<3; \
MA_OUTW(SCFG_vad_i2s_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_SYSCON_REG_SCFG_aon_i2s_ctrl_adci2s_d1_sel(_ezchip_read_value_) { \
uint32_t _ezchip_macro_read_value_=MA_INW(SCFG_vad_i2s_ctrl_REG_ADDR) >> 3; \
_ezchip_macro_read_value_ &= 0x7;\
}
#define _SET_SYSCON_REG_SCFG_aon_i2s_ctrl_adci2s_d2_sel(v) { \
uint32_t _ezchip_macro_read_value_=MA_INW(SCFG_vad_i2s_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x7<<6); \
_ezchip_macro_read_value_ |= (v&0x7)<<6; \
MA_OUTW(SCFG_vad_i2s_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_SYSCON_REG_SCFG_aon_i2s_ctrl_adci2s_d2_sel(_ezchip_read_value_) { \
uint32_t _ezchip_macro_read_value_=MA_INW(SCFG_vad_i2s_ctrl_REG_ADDR) >> 6; \
_ezchip_macro_read_value_ &= 0x7;\
}
#endif

View file

@ -0,0 +1,386 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Copyright (c) 2021 StarFive Technology Co., Ltd. */
/******************************************************************
*
* vout_sys_clkgen controller C MACRO generated by ezchip
*
******************************************************************/
#ifndef _VOUT_SYS_CLKGEN_MACRO_H_
#define _VOUT_SYS_CLKGEN_MACRO_H_
//#define VOUT_SYS_CLKGEN_BASE_ADDR 0x0
#define clk_vout_apb_ctrl_REG_ADDR VOUT_SYS_CLKGEN_BASE_ADDR + 0x0
#define clk_mapconv_apb_ctrl_REG_ADDR VOUT_SYS_CLKGEN_BASE_ADDR + 0x4
#define clk_mapconv_axi_ctrl_REG_ADDR VOUT_SYS_CLKGEN_BASE_ADDR + 0x8
#define clk_disp0_axi_ctrl_REG_ADDR VOUT_SYS_CLKGEN_BASE_ADDR + 0xC
#define clk_disp1_axi_ctrl_REG_ADDR VOUT_SYS_CLKGEN_BASE_ADDR + 0x10
#define clk_lcdc_oclk_ctrl_REG_ADDR VOUT_SYS_CLKGEN_BASE_ADDR + 0x14
#define clk_lcdc_axi_ctrl_REG_ADDR VOUT_SYS_CLKGEN_BASE_ADDR + 0x18
#define clk_vpp0_axi_ctrl_REG_ADDR VOUT_SYS_CLKGEN_BASE_ADDR + 0x1C
#define clk_vpp1_axi_ctrl_REG_ADDR VOUT_SYS_CLKGEN_BASE_ADDR + 0x20
#define clk_vpp2_axi_ctrl_REG_ADDR VOUT_SYS_CLKGEN_BASE_ADDR + 0x24
#define clk_pixrawout_apb_ctrl_REG_ADDR VOUT_SYS_CLKGEN_BASE_ADDR + 0x28
#define clk_pixrawout_axi_ctrl_REG_ADDR VOUT_SYS_CLKGEN_BASE_ADDR + 0x2C
#define clk_csi2tx_strm0_pixclk_ctrl_REG_ADDR VOUT_SYS_CLKGEN_BASE_ADDR + 0x30
#define clk_csi2tx_strm0_apb_ctrl_REG_ADDR VOUT_SYS_CLKGEN_BASE_ADDR + 0x34
#define clk_dsi_sys_clk_ctrl_REG_ADDR VOUT_SYS_CLKGEN_BASE_ADDR + 0x38
#define clk_dsi_apb_ctrl_REG_ADDR VOUT_SYS_CLKGEN_BASE_ADDR + 0x3C
#define clk_ppi_tx_esc_clk_ctrl_REG_ADDR VOUT_SYS_CLKGEN_BASE_ADDR + 0x40
#define _ENABLE_CLOCK_clk_vout_apb_ {}
#define _DIVIDE_CLOCK_clk_vout_apb_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_vout_apb_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0xF); \
_ezchip_macro_read_value_ |= (div&0xF); \
MA_OUTW(clk_vout_apb_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_vout_apb_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_vout_apb_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0xf;\
}
#define _ENABLE_CLOCK_clk_mapconv_apb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mapconv_apb_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_mapconv_apb_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_mapconv_apb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mapconv_apb_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_mapconv_apb_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_mapconv_apb_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_mapconv_apb_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_mapconv_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mapconv_axi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_mapconv_axi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_mapconv_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_mapconv_axi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_mapconv_axi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_mapconv_axi_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_mapconv_axi_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_disp0_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_disp0_axi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_disp0_axi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_disp0_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_disp0_axi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_disp0_axi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_disp0_axi_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_disp0_axi_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_disp1_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_disp1_axi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_disp1_axi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_disp1_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_disp1_axi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_disp1_axi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_disp1_axi_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_disp1_axi_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_lcdc_oclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_lcdc_oclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_lcdc_oclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_lcdc_oclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_lcdc_oclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_lcdc_oclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_lcdc_oclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_lcdc_oclk_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _DIVIDE_CLOCK_clk_lcdc_oclk_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_lcdc_oclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3F); \
_ezchip_macro_read_value_ |= (div&0x3F); \
MA_OUTW(clk_lcdc_oclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_lcdc_oclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_lcdc_oclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x3f;\
}
#define _ENABLE_CLOCK_clk_lcdc_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_lcdc_axi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_lcdc_axi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_lcdc_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_lcdc_axi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_lcdc_axi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_lcdc_axi_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_lcdc_axi_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_vpp0_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_vpp0_axi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_vpp0_axi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_vpp0_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_vpp0_axi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_vpp0_axi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_vpp0_axi_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_vpp0_axi_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_vpp1_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_vpp1_axi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_vpp1_axi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_vpp1_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_vpp1_axi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_vpp1_axi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_vpp1_axi_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_vpp1_axi_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_vpp2_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_vpp2_axi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_vpp2_axi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_vpp2_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_vpp2_axi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_vpp2_axi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_vpp2_axi_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_vpp2_axi_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_pixrawout_apb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_pixrawout_apb_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_pixrawout_apb_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_pixrawout_apb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_pixrawout_apb_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_pixrawout_apb_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_pixrawout_apb_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_pixrawout_apb_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_pixrawout_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_pixrawout_axi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_pixrawout_axi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_pixrawout_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_pixrawout_axi_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_pixrawout_axi_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_pixrawout_axi_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_pixrawout_axi_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_csi2tx_strm0_pixclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_csi2tx_strm0_pixclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_csi2tx_strm0_pixclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_csi2tx_strm0_pixclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_csi2tx_strm0_pixclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_csi2tx_strm0_pixclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_csi2tx_strm0_pixclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_csi2tx_strm0_pixclk_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _DIVIDE_CLOCK_clk_csi2tx_strm0_pixclk_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_csi2tx_strm0_pixclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x3F); \
_ezchip_macro_read_value_ |= (div&0x3F); \
MA_OUTW(clk_csi2tx_strm0_pixclk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_csi2tx_strm0_pixclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_csi2tx_strm0_pixclk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x3f;\
}
#define _ENABLE_CLOCK_clk_csi2tx_strm0_apb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_csi2tx_strm0_apb_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_csi2tx_strm0_apb_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_csi2tx_strm0_apb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_csi2tx_strm0_apb_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_csi2tx_strm0_apb_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_csi2tx_strm0_apb_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_csi2tx_strm0_apb_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_dsi_sys_clk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_dsi_sys_clk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_dsi_sys_clk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_dsi_sys_clk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_dsi_sys_clk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_dsi_sys_clk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_dsi_sys_clk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_dsi_sys_clk_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_dsi_apb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_dsi_apb_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_dsi_apb_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_dsi_apb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_dsi_apb_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_dsi_apb_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_dsi_apb_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_dsi_apb_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ENABLE_CLOCK_clk_ppi_tx_esc_clk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_ppi_tx_esc_clk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<31; \
MA_OUTW(clk_ppi_tx_esc_clk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _DISABLE_CLOCK_clk_ppi_tx_esc_clk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_ppi_tx_esc_clk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<31); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<31; \
MA_OUTW(clk_ppi_tx_esc_clk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_ENABLE_STATUS_clk_ppi_tx_esc_clk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_ppi_tx_esc_clk_ctrl_REG_ADDR) >> 31; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _DIVIDE_CLOCK_clk_ppi_tx_esc_clk_(div) { \
uint32_t _ezchip_macro_read_value_=MA_INW(clk_ppi_tx_esc_clk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x7F); \
_ezchip_macro_read_value_ |= (div&0x7F); \
MA_OUTW(clk_ppi_tx_esc_clk_ctrl_REG_ADDR,_ezchip_macro_read_value_); \
}
#define _GET_CLOCK_DIVIDE_STATUS_clk_ppi_tx_esc_clk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(clk_ppi_tx_esc_clk_ctrl_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x7f;\
}
#endif //_VOUT_SYS_CLKGEN_MACRO_H_

View file

@ -0,0 +1,585 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Copyright (c) 2021 StarFive Technology Co., Ltd. */
/******************************************************************
*
* vout_sys_rstgen controller C MACRO generated by ezchip
*
******************************************************************/
#ifndef _VOUT_SYS_RSTGEN_MACRO_H_
#define _VOUT_SYS_RSTGEN_MACRO_H_
//#define VOUT_SYS_RSTGEN_BASE_ADDR 0x0
#define vout_sys_rstgen_Software_RESET_assert0_REG_ADDR VOUT_SYS_RSTGEN_BASE_ADDR + 0x0
#define vout_sys_rstgen_Software_RESET_status0_REG_ADDR VOUT_SYS_RSTGEN_BASE_ADDR + 0x4
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_mapconv_apb_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_mapconv_apb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1); \
_ezchip_macro_read_value_ |= (0x1&0x1); \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_mapconv_apb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1); \
_ezchip_macro_read_value_ |= (0x0&0x1); \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR); \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_mapconv_axi_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR) >> 1; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_mapconv_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<1); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<1; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>1; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_mapconv_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<1); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<1; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>1; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_disp0_axi_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR) >> 2; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_disp0_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<2); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<2; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>2; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_disp0_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<2); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<2; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>2; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_disp1_axi_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR) >> 3; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_disp1_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<3); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<3; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>3; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_disp1_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<3); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<3; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>3; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_lcdc_oclk_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR) >> 4; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_lcdc_oclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<4); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<4; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>4; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_lcdc_oclk_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<4); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<4; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>4; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_lcdc_axi_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR) >> 5; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_lcdc_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<5); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<5; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>5; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_lcdc_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<5); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<5; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>5; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_vpp0_axi_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR) >> 6; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_vpp0_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<6); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<6; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>6; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_vpp0_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<6); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<6; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>6; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_vpp1_axi_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR) >> 7; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_vpp1_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<7); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<7; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>7; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_vpp1_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<7); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<7; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>7; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_vpp2_axi_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR) >> 8; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_vpp2_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<8); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<8; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>8; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_vpp2_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<8); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<8; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>8; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_pixrawout_apb_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR) >> 9; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_pixrawout_apb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<9); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<9; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>9; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_pixrawout_apb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<9); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<9; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>9; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_pixrawout_axi_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR) >> 10; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_pixrawout_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<10); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<10; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>10; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_pixrawout_axi_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<10); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<10; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>10; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_csi2tx_strm0_apb_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR) >> 11; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_csi2tx_strm0_apb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<11); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<11; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>11; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_csi2tx_strm0_apb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<11); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<11; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>11; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_csi2tx_strm0_pix_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR) >> 12; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_csi2tx_strm0_pix_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<12); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<12; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>12; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_csi2tx_strm0_pix_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<12); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<12; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>12; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_csi2tx_ppi_tx_esc_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR) >> 13; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_csi2tx_ppi_tx_esc_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<13); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<13; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>13; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_csi2tx_ppi_tx_esc_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<13); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<13; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>13; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_csi2tx_ppi_txbyte_hs_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR) >> 14; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_csi2tx_ppi_txbyte_hs_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<14); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<14; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>14; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_csi2tx_ppi_txbyte_hs_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<14); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<14; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>14; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_dsi_apb_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR) >> 15; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_dsi_apb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<15); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<15; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>15; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_dsi_apb_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<15); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<15; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>15; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_dsi_sys_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR) >> 16; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_dsi_sys_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<16); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<16; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>16; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_dsi_sys_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<16); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<16; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>16; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_dsi_dpi_pix_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR) >> 17; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_dsi_dpi_pix_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<17); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<17; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>17; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_dsi_dpi_pix_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<17); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<17; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>17; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_dsi_ppi_txbyte_hs_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR) >> 18; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_dsi_ppi_txbyte_hs_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<18); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<18; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>18; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_dsi_ppi_txbyte_hs_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<18); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<18; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>18; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_dsi_ppi_tx_esc_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR) >> 19; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_dsi_ppi_tx_esc_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<19); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<19; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>19; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_dsi_ppi_tx_esc_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<19); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<19; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>19; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#define _READ_RESET_STATUS_vout_sys_rstgen_rstn_dsi_ppi_rx_esc_(_ezchip_macro_read_value_) { \
_ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR) >> 20; \
_ezchip_macro_read_value_ &= 0x1;\
}
#define _ASSERT_RESET_vout_sys_rstgen_rstn_dsi_ppi_rx_esc_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<20); \
_ezchip_macro_read_value_ |= (0x1&0x1)<<20; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>20; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x0); \
}
#define _CLEAR_RESET_vout_sys_rstgen_rstn_dsi_ppi_rx_esc_ { \
uint32_t _ezchip_macro_read_value_=MA_INW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR); \
_ezchip_macro_read_value_ &= ~(0x1<<20); \
_ezchip_macro_read_value_ |= (0x0&0x1)<<20; \
MA_OUTW(vout_sys_rstgen_Software_RESET_assert0_REG_ADDR,_ezchip_macro_read_value_); \
do { \
_ezchip_macro_read_value_ = MA_INW(vout_sys_rstgen_Software_RESET_status0_REG_ADDR)>>20; \
_ezchip_macro_read_value_ &= 0x1;\
} while(_ezchip_macro_read_value_!=0x1); \
}
#endif //_VOUT_SYS_RSTGEN_MACRO_H_

File diff suppressed because it is too large Load diff

View file

@ -4,3 +4,4 @@
# TekkamanV <tekkamanv@starfivetech.com>
obj-y += jh7100.o
obj-y += jh_ptc.o

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,214 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright (C) 2021 Shanghai StarFive Technology Co., Ltd.
* TekkamanV <tekkamanv@starfivetech.com>
*/
#include <inttypes.h>
#include <linux/io.h>
#include <asm/arch/io.h>
#include <asm/arch/jh_ptc.h>
#include <asm/arch/jh_module_reset_clkgen.h>
#include <asm/arch/ezGPIO_fullMux_ctrl_macro.h>
#include <asm/arch/clkgen_ctrl_macro.h>
#include <asm/arch/global_reg.h>
#include <asm/arch/rstgen_ctrl_macro.h>
/* set cntr register */
static void Set_rptc_cntr(uint32_t num, uint32_t data)
{
MA_OUTW(PTC_RPTC_CNTR(num), data);
}
/* set hrc register */
static void Set_rptc_hrc(uint32_t num, uint32_t data)
{
MA_OUTW(PTC_RPTC_HRC(num), data);
}
/* set lrc register */
static void Set_rptc_lrc(uint32_t num, uint32_t data)
{
MA_OUTW(PTC_RPTC_LRC(num), data);
}
/* set capture mode for pwm input signal */
static int Set_ptc_capMode(uint32_t num, uint32_t data)
{
uint32_t value;
value = (MA_INW(PTC_RPTC_CTRL(num))& 0x1FF);
if(data == PTC_CAPT_SINGLE)
{
value |= PTC_SIGNLE;
}
else if(data == PTC_CAPT_CONTINUE)
{
value = ~( (~value) | PTC_SIGNLE);
}
MA_OUTW(PTC_RPTC_CTRL(num), value);
return 0;
}
/* clear cntr in ctrl register */
static void ptc_reset_cntr(uint32_t num)
{
uint32_t value;
uint32_t *reg_addr;
reg_addr = (uint32_t *)PTC_RPTC_CTRL(num);
value = (MA_INW(reg_addr)& 0x1FF);
value |= PTC_CNTRRST;
MA_OUTW(reg_addr, value);
}
/* enable capture mode */
static void ptc_reset_capt(uint32_t num)
{
uint32_t value;
uint32_t *reg_addr;
reg_addr = (uint32_t *)PTC_RPTC_CTRL(num);
value = (MA_INW(reg_addr)& 0x1FF);
value |= PTC_CAPTE;
MA_OUTW(reg_addr, value & 0X1ff);
}
/* reset ctrl register */
static void ptc_reset_ctrl(uint32_t num)
{
uint32_t value;
uint32_t *reg_addr;
reg_addr = (uint32_t *)PTC_RPTC_CTRL(num);
value = MA_INW(reg_addr);
value = ~( (~value) | PTC_EN);
value = ~( (~value) | PTC_ECLK);
value = ~( (~value) | PTC_OE);
value = ~( (~value) | PTC_INTE);
value = ~( (~value) | PTC_INT);
value |= PTC_INT;
value = ~( (~value) | PTC_CNTRRST);
value = ~( (~value) | PTC_CAPTE);
MA_OUTW(reg_addr, value & 0x1FF);
value = ~( (~value) | PTC_INT);
MA_OUTW(PTC_RPTC_CTRL(num), value & 0x1FF);
}
/*set default duty in uboot , pwm period is 400 us ,high level is 200 us */
static void ptc_set_default_duty(uint32_t num)
{
uint32_t data_hrc = 2000;
uint32_t data_lrc = 4000;
uint32_t data_cap_mode = PTC_CAPT_CONTINUE;
/* set lcr hcr cntr */
Set_rptc_cntr(num, 0);
Set_rptc_hrc(num,data_hrc);
Set_rptc_lrc(num, data_lrc);
Set_ptc_capMode(num, data_cap_mode);/* 0:continue; 1:single */
}
/* enable pwm mode ,and don't enable interrupt */
static void ptc_start(uint32_t num)
{
uint32_t value;
uint32_t *reg_addr;
reg_addr = (uint32_t *)PTC_RPTC_CTRL(num);
value = MA_INW(reg_addr);
value |= PTC_ECLK;
//value |= ptc_data->capmode; ///0:continue; 1:single
value |= PTC_EN;
value |= PTC_OE;
//value |= PTC_INTE;
//value &= ~PTC_INT;
MA_OUTW(reg_addr, value);
}
/* set GPIO PIN MUX */
static void ptc_pinmux_init(uint32_t num)
{
uint32_t i = 0;
#if defined(CONFIG_JH_STARLIGHT)
if(num == 0) { /* GPIOB7 */
SET_GPIO_7_dout_pwm_pad_out_bit0;
SET_GPIO_7_doen_LOW;
while(0) {
for(i=0; i<100; i++) ;
SET_GPIO_7_dout_HIGH;
}
} else if(num == 1) { /* GPIOB5 */
SET_GPIO_5_dout_pwm_pad_out_bit1;
SET_GPIO_5_doen_LOW;
} else if(num == 2) {
SET_GPIO_45_dout_pwm_pad_out_bit2;
SET_GPIO_45_doen_LOW;
}
#elif defined(CONFIG_JH_EVB_V1)
if(num == 0) {
SET_GPIO_29_dout_pwm_pad_out_bit0;
SET_GPIO_29_doen_LOW;
while(0) {
SET_GPIO_29_dout_LOW;
for(i=0; i<100; i++) ;
SET_GPIO_29_dout_HIGH;
}
} else if(num == 1) {
SET_GPIO_30_dout_pwm_pad_out_bit1;
SET_GPIO_30_doen_LOW;
} else if(num == 2) {
SET_GPIO_31_dout_pwm_pad_out_bit2;
SET_GPIO_31_doen_LOW;
} else if(num == 3) {
SET_GPIO_32_dout_pwm_pad_out_bit3;
SET_GPIO_32_doen_LOW;
} else if(num == 4) {
SET_GPIO_33_dout_pwm_pad_out_bit4;
SET_GPIO_33_doen_LOW;
} else if(num == 5) {
SET_GPIO_34_dout_pwm_pad_out_bit5;
SET_GPIO_34_doen_LOW;
} else if(num == 6) {
SET_GPIO_5_dout_pwm_pad_out_bit6;
SET_GPIO_5_doen_LOW;
} else if(num == 7) {
SET_GPIO_6_dout_pwm_pad_out_bit7;
SET_GPIO_6_doen_LOW;
}
#endif
}
/*reset apb clock */
void ptc_reset_clock(void)
{
jh_ptc_pwm_reset_clk_disable;
jh_ptc_pwm_reset_clk_enable;
}
/* reset ptc */
void ptc_reset(void)
{
uint32_t num = 0;
for(num = 0; num < PTC_CAPT_ALL; num++) {
/* set pin mux */
ptc_pinmux_init(num);
ptc_reset_cntr(num);
ptc_reset_capt(num);
ptc_reset_ctrl(num);
ptc_set_default_duty(num);
}
for(num = 0; num < PTC_CAPT_ALL; num++) {
ptc_start(num);
}
}

View file

@ -798,6 +798,9 @@ __weak int arch_cpu_init_dm(void)
{
return 0;
}
#if CONFIG_IS_ENABLED(TARGET_STARFIVE_JH7100)
extern int board_hw_init(void);
#endif
__weak int checkcpu(void)
{
@ -939,6 +942,9 @@ static const init_fnc_t init_sequence_f[] = {
do_elf_reloc_fixups,
#endif
clear_bss,
#if CONFIG_IS_ENABLED(TARGET_STARFIVE_JH7100)
board_hw_init,
#endif
#if !defined(CONFIG_ARM) && !defined(CONFIG_SANDBOX) && \
!CONFIG_IS_ENABLED(X86_64)
jump_to_copy,