You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

159 lines
5.4 KiB

/*
* Copyright : (C) 2022 Phytium Information Technology, Inc.
* All Rights Reserved.
*
* This program is OPEN SOURCE software: you can redistribute it and/or modify it
* under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd,
* either version 1.0 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the Phytium Public License for more details.
*
*
* FilePath: fpwm_g.c
* Date: 2022-02-10 14:53:42
* LastEditTime: 2022-04-16 11:45:05
* Description:  This file is for pwm static configuration implementation.
*
* Modify History:
* Ver   Who        Date         Changes
* ----- ------     --------    --------------------------------------
* 1.0 wangxiaodong 2022/4/16 init commit
*/
#include "fparameters.h"
#include "fpwm.h"
#include "fpwm_hw.h"
#if defined(SOC_TARGET_E2000) || defined(SOC_TARGET_PHYTIUMPI)
/* default configs of pwm ctrl */
const FPwmConfig FPwmConfigTbl[FPWM_NUM] =
{
[FPWM0_ID] =
{
.instance_id = FPWM0_ID,
.db_base_addr = FPWM0_BASE_ADR,
.pwm_base_addr = FPWM0_BASE_ADR + FPWM_OFFSET,
.base_clk = FPWM_CLK_FREQ_HZ,
.lsd_config_addr = FLSD_CONFIG_BASE,
.irq_num[FPWM_CHANNEL_0] = FPWM0_IRQ_NUM,
.irq_num[FPWM_CHANNEL_1] = FPWM1_IRQ_NUM,
.irq_prority[FPWM_CHANNEL_0] = 0,
.irq_prority[FPWM_CHANNEL_1] = 0,
.instance_name = "PWM_CTRL0",
},
[FPWM1_ID] =
{
.instance_id = FPWM1_ID,
.db_base_addr = FPWM1_BASE_ADR,
.pwm_base_addr = FPWM1_BASE_ADR + FPWM_OFFSET,
.base_clk = FPWM_CLK_FREQ_HZ,
.lsd_config_addr = FLSD_CONFIG_BASE,
.irq_num[FPWM_CHANNEL_0] = FPWM2_IRQ_NUM,
.irq_num[FPWM_CHANNEL_1] = FPWM3_IRQ_NUM,
.irq_prority[FPWM_CHANNEL_0] = 0,
.irq_prority[FPWM_CHANNEL_1] = 0,
.instance_name = "PWM_CTRL1",
},
[FPWM2_ID] =
{
.instance_id = FPWM2_ID,
.db_base_addr = FPWM2_BASE_ADR,
.pwm_base_addr = FPWM2_BASE_ADR + FPWM_OFFSET,
.base_clk = FPWM_CLK_FREQ_HZ,
.lsd_config_addr = FLSD_CONFIG_BASE,
.irq_num[FPWM_CHANNEL_0] = FPWM4_IRQ_NUM,
.irq_num[FPWM_CHANNEL_1] = FPWM5_IRQ_NUM,
.irq_prority[FPWM_CHANNEL_0] = 0,
.irq_prority[FPWM_CHANNEL_1] = 0,
.instance_name = "PWM_CTRL2",
},
[FPWM3_ID] =
{
.instance_id = FPWM3_ID,
.db_base_addr = FPWM3_BASE_ADR,
.pwm_base_addr = FPWM3_BASE_ADR + FPWM_OFFSET,
.base_clk = FPWM_CLK_FREQ_HZ,
.lsd_config_addr = FLSD_CONFIG_BASE,
.irq_num[FPWM_CHANNEL_0] = FPWM6_IRQ_NUM,
.irq_num[FPWM_CHANNEL_1] = FPWM7_IRQ_NUM,
.irq_prority[FPWM_CHANNEL_0] = 0,
.irq_prority[FPWM_CHANNEL_1] = 0,
.instance_name = "PWM_CTRL3",
},
#if defined(SOC_TARGET_E2000S)
[FPWM4_ID] =
{
.instance_id = FPWM4_ID,
.db_base_addr = FPWM4_BASE_ADR,
.pwm_base_addr = FPWM4_BASE_ADR + FPWM_OFFSET,
.base_clk = FPWM_CLK_FREQ_HZ,
.lsd_config_addr = FLSD_CONFIG_BASE,
.irq_num[FPWM_CHANNEL_0] = FPWM8_IRQ_NUM,
.irq_num[FPWM_CHANNEL_1] = FPWM9_IRQ_NUM,
.irq_prority[FPWM_CHANNEL_0] = 0,
.irq_prority[FPWM_CHANNEL_1] = 0,
.instance_name = "PWM_CTRL4",
},
[FPWM5_ID] =
{
.instance_id = FPWM5_ID,
.db_base_addr = FPWM5_BASE_ADR,
.pwm_base_addr = FPWM5_BASE_ADR + FPWM_OFFSET,
.base_clk = FPWM_CLK_FREQ_HZ,
.lsd_config_addr = FLSD_CONFIG_BASE,
.irq_num[FPWM_CHANNEL_0] = FPWM10_IRQ_NUM,
.irq_num[FPWM_CHANNEL_1] = FPWM11_IRQ_NUM,
.irq_prority[FPWM_CHANNEL_0] = 0,
.irq_prority[FPWM_CHANNEL_1] = 0,
.instance_name = "PWM_CTRL5",
},
[FPWM6_ID] =
{
.instance_id = FPWM6_ID,
.db_base_addr = FPWM6_BASE_ADR,
.pwm_base_addr = FPWM6_BASE_ADR + FPWM_OFFSET,
.base_clk = FPWM_CLK_FREQ_HZ,
.lsd_config_addr = FLSD_CONFIG_BASE,
.irq_num[FPWM_CHANNEL_0] = FPWM12_IRQ_NUM,
.irq_num[FPWM_CHANNEL_1] = FPWM13_IRQ_NUM,
.irq_prority[FPWM_CHANNEL_0] = 0,
.irq_prority[FPWM_CHANNEL_1] = 0,
.instance_name = "PWM_CTRL6",
},
[FPWM7_ID] =
{
.instance_id = FPWM7_ID,
.db_base_addr = FPWM7_BASE_ADR,
.pwm_base_addr = FPWM7_BASE_ADR + FPWM_OFFSET,
.base_clk = FPWM_CLK_FREQ_HZ,
.lsd_config_addr = FLSD_CONFIG_BASE,
.irq_num[FPWM_CHANNEL_0] = FPWM14_IRQ_NUM,
.irq_num[FPWM_CHANNEL_1] = FPWM15_IRQ_NUM,
.irq_prority[FPWM_CHANNEL_0] = 0,
.irq_prority[FPWM_CHANNEL_1] = 0,
.instance_name = "PWM_CTRL7",
},
#endif
};
#elif defined(SOC_TARGET_PD2308)
/* default configs of pwm ctrl */
const FPwmConfig FPwmConfigTbl[FPWM_NUM] =
{
[FPWM0_ID] =
{
.instance_id = FPWM0_ID,
.db_base_addr = FPWM0_BASE_ADR,
.pwm_base_addr = FPWM0_BASE_ADR + FPWM_OFFSET,
.base_clk = FPWM_CLK_FREQ_HZ,
.irq_num[FPWM_CHANNEL_0] = FPWM0_IRQ_NUM,
.irq_num[FPWM_CHANNEL_1] = FPWM1_IRQ_NUM,
.irq_prority[FPWM_CHANNEL_0] = 0,
.irq_prority[FPWM_CHANNEL_1] = 0,
.instance_name = "PWM_CTRL0",
},
};
#endif