#include <linux/clk.h>
#include <linux/component.h>
#include <linux/delay.h>
#include <linux/jiffies.h>
#include <linux/mfd/syscon.h>
#include <linux/of_graph.h>
#include <linux/pinctrl/devinfo.h>
#include <linux/phy/phy.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <linux/reset.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_bridge.h>
#include <drm/drm_of.h>
#include <drm/drm_panel.h>
#include <drm/drm_print.h>
#include <drm/drm_probe_helper.h>
#include <drm/drm_simple_kms_helper.h>
#define LVDS_POLL_TIMEOUT_MS …
#define LVDSC_CR …
#define LVDSC_CFGR …
#define LVDSC_SR …
#define LVDSC_WPMR …
#define LVDSC_CR_SER_EN …
#define LVDSC_CFGR_PIXSIZE_24BITS …
#define LVDSC_CFGR_DEN_POL_HIGH …
#define LVDSC_CFGR_DC_UNBALANCED …
#define LVDSC_CFGR_MAPPING_JEIDA …
#define LVDSC_SR_CS …
#define LVDSC_WPMR_WPKEY_MASK …
#define LVDSC_WPMR_WPKEY_PSSWD …
struct mchp_lvds { … };
static inline struct mchp_lvds *bridge_to_lvds(struct drm_bridge *bridge)
{ … }
static inline u32 lvds_readl(struct mchp_lvds *lvds, u32 offset)
{ … }
static inline void lvds_writel(struct mchp_lvds *lvds, u32 offset, u32 val)
{ … }
static void lvds_serialiser_on(struct mchp_lvds *lvds)
{ … }
static int mchp_lvds_attach(struct drm_bridge *bridge,
enum drm_bridge_attach_flags flags)
{ … }
static void mchp_lvds_enable(struct drm_bridge *bridge)
{ … }
static void mchp_lvds_disable(struct drm_bridge *bridge)
{ … }
static const struct drm_bridge_funcs mchp_lvds_bridge_funcs = …;
static int mchp_lvds_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id mchp_lvds_dt_ids[] = …;
MODULE_DEVICE_TABLE(of, mchp_lvds_dt_ids);
static struct platform_driver mchp_lvds_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;