blob: 290904d423e240543b156709ccfa4acd9fb50a43 [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SRC_DEVICES_LIB_AMLOGIC_INCLUDE_SOC_AML_T931_T931_PWM_H_
#define SRC_DEVICES_LIB_AMLOGIC_INCLUDE_SOC_AML_T931_T931_PWM_H_
#include <soc/aml-common/aml-pwm-regs.h>
#include <soc/aml-t931/t931-hw.h>
#define T931_PWM_A 0
#define T931_PWM_B 1
#define T931_PWM_C 2
#define T931_PWM_D 3
#define T931_PWM_E 4
#define T931_PWM_F 5
#define T931_PWM_AO_A 6
#define T931_PWM_AO_B 7
#define T931_PWM_AO_C 8
#define T931_PWM_AO_D 9
#define T931_PWM_COUNT 10
namespace aml_pwm {
// Offsets
static_assert((T931_PWM_PWM_A == kAOffset) && (T931_PWM_PWM_C == kAOffset) &&
(T931_PWM_PWM_E == kAOffset) && (T931_AO_PWM_PWM_A == kAOffset) &&
(T931_AO_PWM_PWM_C == kAOffset),
"PWM_PWM_A offset incorrect!\n");
static_assert((T931_PWM_PWM_B == kBOffset) && (T931_PWM_PWM_D == kBOffset) &&
(T931_PWM_PWM_F == kBOffset) && (T931_AO_PWM_PWM_B == kBOffset) &&
(T931_AO_PWM_PWM_D == kBOffset),
"PWM_PWM_B offset incorrect!\n");
static_assert((T931_PWM_MISC_REG_AB == kMiscOffset) && (T931_PWM_MISC_REG_CD == kMiscOffset) &&
(T931_PWM_MISC_REG_EF == kMiscOffset) &&
(T931_AO_PWM_MISC_REG_AB == kMiscOffset) &&
(T931_AO_PWM_MISC_REG_CD == kMiscOffset),
"MISC offset incorrect!\n");
static_assert((T931_DS_A_B == kDSOffset) && (T931_DS_C_D == kDSOffset) &&
(T931_DS_E_F == kDSOffset) && (T931_AO_DS_A_B == kDSOffset) &&
(T931_AO_DS_C_D == kDSOffset),
"DS offset incorrect!\n");
static_assert((T931_PWM_TIME_AB == kTimeOffset) && (T931_PWM_TIME_CD == kTimeOffset) &&
(T931_PWM_TIME_EF == kTimeOffset) && (T931_AO_PWM_TIME_AB == kTimeOffset) &&
(T931_AO_PWM_TIME_CD == kTimeOffset),
"Time offset incorrect!\n");
static_assert((T931_PWM_A2 == kA2Offset) && (T931_PWM_C2 == kA2Offset) &&
(T931_PWM_E2 == kA2Offset) && (T931_AO_PWM_A2 == kA2Offset) &&
(T931_AO_PWM_C2 == kA2Offset),
"A2 offset incorrect!\n");
static_assert((T931_PWM_B2 == kB2Offset) && (T931_PWM_D2 == kB2Offset) &&
(T931_PWM_F2 == kB2Offset) && (T931_AO_PWM_B2 == kB2Offset) &&
(T931_AO_PWM_D2 == kB2Offset),
"B2 offset incorrect!\n");
static_assert((T931_PWM_BLINK_AB == kBlinkOffset) && (T931_PWM_BLINK_CD == kBlinkOffset) &&
(T931_PWM_BLINK_EF == kBlinkOffset) && (T931_AO_PWM_BLINK_AB == kBlinkOffset) &&
(T931_AO_PWM_BLINK_CD == kBlinkOffset),
"Blink offset incorrect!\n");
} // namespace aml_pwm
#endif // SRC_DEVICES_LIB_AMLOGIC_INCLUDE_SOC_AML_T931_T931_PWM_H_