18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright 2016 Linaro Ltd. 48c2ecf20Sopenharmony_ci * Copyright 2016 ZTE Corporation. 58c2ecf20Sopenharmony_ci */ 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#ifndef __ZX_DRM_DRV_H__ 88c2ecf20Sopenharmony_ci#define __ZX_DRM_DRV_H__ 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ciextern struct platform_driver zx_crtc_driver; 118c2ecf20Sopenharmony_ciextern struct platform_driver zx_hdmi_driver; 128c2ecf20Sopenharmony_ciextern struct platform_driver zx_tvenc_driver; 138c2ecf20Sopenharmony_ciextern struct platform_driver zx_vga_driver; 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_cistatic inline u32 zx_readl(void __iomem *reg) 168c2ecf20Sopenharmony_ci{ 178c2ecf20Sopenharmony_ci return readl_relaxed(reg); 188c2ecf20Sopenharmony_ci} 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_cistatic inline void zx_writel(void __iomem *reg, u32 val) 218c2ecf20Sopenharmony_ci{ 228c2ecf20Sopenharmony_ci writel_relaxed(val, reg); 238c2ecf20Sopenharmony_ci} 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_cistatic inline void zx_writel_mask(void __iomem *reg, u32 mask, u32 val) 268c2ecf20Sopenharmony_ci{ 278c2ecf20Sopenharmony_ci u32 tmp; 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci tmp = zx_readl(reg); 308c2ecf20Sopenharmony_ci tmp = (tmp & ~mask) | (val & mask); 318c2ecf20Sopenharmony_ci zx_writel(reg, tmp); 328c2ecf20Sopenharmony_ci} 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci#endif /* __ZX_DRM_DRV_H__ */ 35