| // Copyright 2018 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_GRAPHICS_DISPLAY_DRIVERS_MT8167S_DISPLAY_COMMON_H_ |
| #define SRC_GRAPHICS_DISPLAY_DRIVERS_MT8167S_DISPLAY_COMMON_H_ |
| #include <fuchsia/hardware/display/controller/c/banjo.h> |
| #include <zircon/pixelformat.h> |
| |
| #include <hwreg/mmio.h> |
| |
| #define DISP_ERROR(fmt, ...) zxlogf(ERROR, "[%s %d]" fmt, __func__, __LINE__, ##__VA_ARGS__) |
| #define DISP_INFO(fmt, ...) zxlogf(INFO, "[%s %d]" fmt, __func__, __LINE__, ##__VA_ARGS__) |
| #define DISP_SPEW(fmt, ...) zxlogf(TRACE, "[%s %d]" fmt, __func__, __LINE__, ##__VA_ARGS__) |
| #define DISP_TRACE zxlogf(INFO, "[%s %d]", __func__, __LINE__) |
| |
| // Should match display_mmios table in board driver |
| enum { |
| MMIO_DISP_OVL, |
| MMIO_DISP_RDMA, |
| MMIO_DISP_MIPITX, |
| MMIO_DISP_MUTEX, |
| MMIO_DISP_SYSCFG, |
| MMIO_DISP_COLOR, |
| MMIO_DISP_AAL, |
| MMIO_DISP_DITHER, |
| MMIO_DISP_GAMMA, |
| MMIO_DISP_CCORR, |
| MMIO_DISP_SMI_LARB0, |
| }; |
| |
| constexpr uint8_t PANEL_DISPLAY_ID = 1; |
| |
| // This is the absolute maximum height and width supported by the Display Subsystem |
| constexpr uint16_t kMaxWidth = 4095; |
| constexpr uint16_t kMaxHeight = 4095; |
| |
| struct OvlConfig { |
| zx_pixel_format_t format; |
| zx_paddr_t paddr; |
| uint64_t handle; |
| alpha_t alpha_mode; |
| float alpha_val; |
| frame_t src_frame; |
| frame_t dest_frame; |
| uint32_t pitch; |
| frame_transform_t transform; |
| }; |
| |
| enum SysConfigModule { |
| MODULE_OVL0, |
| MODULE_RDMA0, |
| MODULE_COLOR0, |
| MODULE_CCORR, |
| MODULE_AAL, |
| MODULE_GAMMA, |
| MODULE_DITHER, |
| MODULE_PWM0, |
| MODULE_DSI0, |
| MODULE_SMI, |
| MODULE_CONFIG, |
| MODULE_CMDQ, |
| MODULE_MUTEX, |
| MODULE_SMI_COMMON, |
| MODULE_NUM, |
| }; |
| |
| enum MutexMode { |
| MUTEX_SINGLE, |
| MUTEX_DSI0, |
| MUTEX_DPI0, |
| MUTEX_DPI1, |
| }; |
| |
| #endif // SRC_GRAPHICS_DISPLAY_DRIVERS_MT8167S_DISPLAY_COMMON_H_ |