blob: ea938bc6199ebd1a2b955979203ef80fb3160797 [file] [log] [blame]
/****************************************************************************
* arch/risc-v/src/mpfs/hardware/mpfs_corepwm.h
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership. The
* ASF licenses this file to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*
****************************************************************************/
#ifndef __ARCH_RISCV_SRC_MPFS_HARDWARE_MPFS_COREPWM_H
#define __ARCH_RISCV_SRC_MPFS_HARDWARE_MPFS_COREPWM_H
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
/* CorePWM features *********************************************************/
#define MPFS_MAX_PWM_CHANNELS 16
/* Register Base Address ****************************************************/
#define MPFS_COREPWM0_BASE (CONFIG_MPFS_COREPWM0_BASE)
#define MPFS_COREPWM1_BASE (CONFIG_MPFS_COREPWM1_BASE)
/* Register offsets *********************************************************/
#define MPFS_COREPWM_PRESCALE_OFFSET (0x00)
#define MPFS_COREPWM_PERIOD_OFFSET (0x04)
#define MPFS_COREPWM_PWM_ENABLE_0_7_OFFSET (0x08)
#define MPFS_COREPWM_PWM_ENABLE_8_15_OFFSET (0x0C)
#define MPFS_COREPWM_PWM1_POS_EDGE_OFFSET (0x10)
#define MPFS_COREPWM_PWM1_NEG_EDGE_OFFSET (0x14)
#define MPFS_COREPWM_PWM2_POS_EDGE_OFFSET (0x18)
#define MPFS_COREPWM_PWM2_NEG_EDGE_OFFSET (0x1C)
#define MPFS_COREPWM_PWM3_POS_EDGE_OFFSET (0x20)
#define MPFS_COREPWM_PWM3_NEG_EDGE_OFFSET (0x24)
#define MPFS_COREPWM_PWM4_POS_EDGE_OFFSET (0x28)
#define MPFS_COREPWM_PWM4_NEG_EDGE_OFFSET (0x2C)
#define MPFS_COREPWM_PWM5_POS_EDGE_OFFSET (0x30)
#define MPFS_COREPWM_PWM5_NEG_EDGE_OFFSET (0x34)
#define MPFS_COREPWM_PWM6_POS_EDGE_OFFSET (0x38)
#define MPFS_COREPWM_PWM6_NEG_EDGE_OFFSET (0x3C)
#define MPFS_COREPWM_PWM7_POS_EDGE_OFFSET (0x40)
#define MPFS_COREPWM_PWM7_NEG_EDGE_OFFSET (0x44)
#define MPFS_COREPWM_PWM8_POS_EDGE_OFFSET (0x48)
#define MPFS_COREPWM_PWM8_NEG_EDGE_OFFSET (0x4C)
#define MPFS_COREPWM_PWM9_POS_EDGE_OFFSET (0x50)
#define MPFS_COREPWM_PWM9_NEG_EDGE_OFFSET (0x54)
#define MPFS_COREPWM_PWM10_POS_EDGE_OFFSET (0x58)
#define MPFS_COREPWM_PWM10_NEG_EDGE_OFFSET (0x5C)
#define MPFS_COREPWM_PWM11_POS_EDGE_OFFSET (0x60)
#define MPFS_COREPWM_PWM11_NEG_EDGE_OFFSET (0x64)
#define MPFS_COREPWM_PWM12_POS_EDGE_OFFSET (0x68)
#define MPFS_COREPWM_PWM12_NEG_EDGE_OFFSET (0x6C)
#define MPFS_COREPWM_PWM13_POS_EDGE_OFFSET (0x70)
#define MPFS_COREPWM_PWM13_NEG_EDGE_OFFSET (0x74)
#define MPFS_COREPWM_PWM14_POS_EDGE_OFFSET (0x78)
#define MPFS_COREPWM_PWM14_NEG_EDGE_OFFSET (0x7C)
#define MPFS_COREPWM_PWM15_POS_EDGE_OFFSET (0x80)
#define MPFS_COREPWM_PWM15_NEG_EDGE_OFFSET (0x84)
#define MPFS_COREPWM_PWM16_POS_EDGE_OFFSET (0x88)
#define MPFS_COREPWM_PWM16_NEG_EDGE_OFFSET (0x8C)
#define MPFS_COREPWM_STRETCH_OFFSET (0x90)
#define MPFS_COREPWM_TACHPRESCALE_OFFSET (0x94)
#define MPFS_COREPWM_TACHSTATUS_OFFSET (0x98)
#define MPFS_COREPWM_TACHIRQMASK_OFFSET (0x9C)
#define MPFS_COREPWM_TACHMODE_OFFSET (0xA0)
#define MPFS_COREPWM_TACHPULSEDUR_0_OFFSET (0xA4)
#define MPFS_COREPWM_TACHPULSEDUR_1_OFFSET (0xA8)
#define MPFS_COREPWM_TACHPULSEDUR_2_OFFSET (0xAC)
#define MPFS_COREPWM_TACHPULSEDUR_3_OFFSET (0xB0)
#define MPFS_COREPWM_TACHPULSEDUR_4_OFFSET (0xB4)
#define MPFS_COREPWM_TACHPULSEDUR_5_OFFSET (0xB8)
#define MPFS_COREPWM_TACHPULSEDUR_6_OFFSET (0xBC)
#define MPFS_COREPWM_TACHPULSEDUR_7_OFFSET (0xC0)
#define MPFS_COREPWM_TACHPULSEDUR_8_OFFSET (0xC4)
#define MPFS_COREPWM_TACHPULSEDUR_9_OFFSET (0xC8)
#define MPFS_COREPWM_TACHPULSEDUR_10_OFFSET (0xCC)
#define MPFS_COREPWM_TACHPULSEDUR_11_OFFSET (0xD0)
#define MPFS_COREPWM_TACHPULSEDUR_12_OFFSET (0xD4)
#define MPFS_COREPWM_TACHPULSEDUR_13_OFFSET (0xD8)
#define MPFS_COREPWM_TACHPULSEDUR_14_OFFSET (0xDC)
#define MPFS_COREPWM_TACHPULSEDUR_15_OFFSET (0xE0)
#define MPFS_COREPWM_SYNC_UPDATE_OFFSET (0xE4)
#endif /* __ARCH_RISCV_SRC_MPFS_HARDWARE_MPFS_COREPWM_H */