The padding block is one of the components of the video pipeline on some MediaTek SoCs, such as the MT8188. It is configured in bypass mode.
Signed-off-by: Julien Stephan <[email protected]> --- drivers/video/mediatek/mtk_disp_padding_mt8188.c | 37 ++++++++++++++++++++++++ drivers/video/mediatek/mtk_disp_padding_mt8188.h | 16 ++++++++++ 2 files changed, 53 insertions(+) diff --git a/drivers/video/mediatek/mtk_disp_padding_mt8188.c b/drivers/video/mediatek/mtk_disp_padding_mt8188.c new file mode 100644 index 00000000000..85c0f8887f4 --- /dev/null +++ b/drivers/video/mediatek/mtk_disp_padding_mt8188.c @@ -0,0 +1,37 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Mediatek Video Disp Padding Support + * + * Copyright (c) 2025 BayLibre, SAS. + * Author: Julien Stephan <[email protected]> + */ + +#include <dm.h> + +#include "mtk_disp_comp.h" +#include "mtk_disp_padding_mt8188.h" + +#define PADDING_CON 0x0 +#define PADDING_EN BIT(1) +#define PADDING_BYPASS BIT(0) + +#define PADDING_PIC_SIZE 0x4 + +void mtk_disp_padding_config(struct udevice *dev) +{ + mtk_disp_comp_write(dev, PADDING_CON, PADDING_EN | PADDING_BYPASS); + mtk_disp_comp_write(dev, PADDING_PIC_SIZE, 0x0); +} + +static const struct udevice_id mtk_disp_padding_ids[] = { + { .compatible = "mediatek,mt8188-disp-padding" }, + {} +}; + +U_BOOT_DRIVER(mtk_disp_padding) = { + .name = "mtk_disp_padding", + .id = UCLASS_MISC, + .of_match = mtk_disp_padding_ids, + .probe = mtk_disp_comp_probe, + .priv_auto = sizeof(struct mtk_disp_comp_priv), +}; diff --git a/drivers/video/mediatek/mtk_disp_padding_mt8188.h b/drivers/video/mediatek/mtk_disp_padding_mt8188.h new file mode 100644 index 00000000000..e2da589ec4a --- /dev/null +++ b/drivers/video/mediatek/mtk_disp_padding_mt8188.h @@ -0,0 +1,16 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Mediatek Video Disp Padding Support + * + * Copyright (c) 2025 BayLibre, SAS. + * Author: Julien Stephan <[email protected]> + */ + +#ifndef _MTK_DISP_PADDING_MT8188_H +#define _MTK_DISP_PADDING_MT8188_H + +struct udevice; + +void mtk_disp_padding_config(struct udevice *dev); + +#endif -- 2.54.0
