From 315c2fa2bf9821c8bf0a107719fd0db308dcd36b Mon Sep 17 00:00:00 2001 From: "yuhua.lin" Date: Fri, 25 Aug 2023 20:38:46 +0800 Subject: [PATCH] ge2d: add ge2d support for s7 [1/1] PD#SWPL-135795 Problem: s7 ge2d bringup Solution: complete it Verify: ptm Change-Id: I0dde3ae2d12aad5a5359d797832bd90068ef8d91 Signed-off-by: yuhua.lin --- arch/arm/boot/dts/amlogic/meson-s7.dtsi | 18 +++++++++--------- drivers/media/common/ge2d/ge2d_main.c | 24 ++++++++++++++++++++++++ drivers/media/common/ge2d/ge2d_reg.h | 1 + 3 files changed, 34 insertions(+), 9 deletions(-) diff --git a/arch/arm/boot/dts/amlogic/meson-s7.dtsi b/arch/arm/boot/dts/amlogic/meson-s7.dtsi index 32f1476ab..e1b31d8e6 100644 --- a/arch/arm/boot/dts/amlogic/meson-s7.dtsi +++ b/arch/arm/boot/dts/amlogic/meson-s7.dtsi @@ -2098,18 +2098,18 @@ }; ge2d { - compatible = "amlogic, ge2d-s4"; - status = "disabled"; + compatible = "amlogic, ge2d-s7"; + status = "okay"; interrupts = ; interrupt-names = "ge2d"; - //clocks = <&clkc CLKID_VAPB>, - // <&clkc CLKID_G2D>, - // <&clkc CLKID_GE2D>; - //clock-names = "clk_vapb_0", - // "clk_ge2d", - // "clk_ge2d_gate"; + clocks = <&clkc CLKID_VAPB>, + <&clkc CLKID_G2D>, + <&clkc CLKID_GE2D>; + clock-names = "clk_vapb_0", + "clk_ge2d", + "clk_ge2d_gate"; reg = <0xff040000 0x100>; - //power-domains = <&pwrdm PDID_S4_GE2D>; + power-domains = <&pwrdm PDID_S7_GE2D>; }; aml_bt: aml_bt { diff --git a/drivers/media/common/ge2d/ge2d_main.c b/drivers/media/common/ge2d/ge2d_main.c index a8f881a6e..a06d2c2dd 100644 --- a/drivers/media/common/ge2d/ge2d_main.c +++ b/drivers/media/common/ge2d/ge2d_main.c @@ -1665,6 +1665,26 @@ static struct ge2d_device_data_s ge2d_t3x = { .blk_stride_mode = 1, .cmd_queue_mode = 1, }; + +static struct ge2d_device_data_s ge2d_s7 = { + .ge2d_rate = 667000000, + .src2_alp = 1, + .canvas_status = 2, + .deep_color = 1, + .hang_flag = 1, + .fifo = 1, + .has_self_pwr = 1, + .poweron_table = &runtime_poweron_table, + .poweroff_table = &runtime_poweroff_table, + .chip_type = MESON_CPU_MAJOR_ID_S7, + .adv_matrix = 1, + .src2_repeat = 1, + .dst_repeat = 1, + .dst_sign_mode = 1, + .blk_stride_mode = 1, + .cmd_queue_mode = 0, +}; + #endif #endif @@ -1779,6 +1799,10 @@ static const struct of_device_id ge2d_dt_match[] = { .compatible = "amlogic, ge2d-t3x", .data = &ge2d_t3x, }, + { + .compatible = "amlogic, ge2d-s7", + .data = &ge2d_s7, + }, #endif #endif #ifndef CONFIG_AMLOGIC_C3_REMOVE diff --git a/drivers/media/common/ge2d/ge2d_reg.h b/drivers/media/common/ge2d/ge2d_reg.h index 61053fbc2..b99e3f88e 100644 --- a/drivers/media/common/ge2d/ge2d_reg.h +++ b/drivers/media/common/ge2d/ge2d_reg.h @@ -167,5 +167,6 @@ enum meson_chip_e { MESON_CPU_MAJOR_ID_S5, MESON_CPU_MAJOR_ID_T3X, MESON_CPU_MAJOR_ID_S1A = 0x45, + MESON_CPU_MAJOR_ID_S7, }; #endif