};
meson_fb: fb {
- compatible = "amlogic, meson-tl1";
+ compatible = "amlogic, meson-tm2";
memory-region = <&logo_reserved>;
status = "disabled";
interrupts = <0 3 1
/*alloc-ranges = <0x30000000 0x50000000>;*/
};
- /* codec shared reserved */
- codec_mm_reserved:linux,codec_mm_reserved {
- compatible = "amlogic, codec-mm-reserved";
- size = <0x0>;
- alignment = <0x100000>;
- //no-map;
- };
-
logo_reserved:linux,meson-fb {
compatible = "shared-dma-pool";
reusable;
alloc-ranges = <0x7f800000 0x800000>;
};
+ /* codec shared reserved */
+ codec_mm_reserved:linux,codec_mm_reserved {
+ compatible = "amlogic, codec-mm-reserved";
+ size = <0x0>;
+ alignment = <0x100000>;
+ //no-map;
+ };
+
ion_cma_reserved:linux,ion-dev {
compatible = "shared-dma-pool";
reusable;
&meson_fb {
status = "okay";
display_size_default = <1920 1080 1920 2160 32>;
- mem_size = <0x00800000 0x1980000 0x100000 0x800000>;
+ mem_size = <0x00800000 0x1980000 0x100000 0x100000 0x800000>;
logo_addr = "0x7f800000";
mem_alloc = <1>;
pxp_mode = <1>; /** 0:normal mode 1:pxp mode */
&meson_fb {
status = "okay";
display_size_default = <1920 1080 1920 2160 32>;
- mem_size = <0x00800000 0x1980000 0x100000 0x800000>;
+ mem_size = <0x00800000 0x1980000 0x100000 0x100000 0x800000>;
logo_addr = "0x7f800000";
mem_alloc = <0>;
pxp_mode = <0>; /** 0:normal mode 1:pxp mode */
&meson_fb {
status = "okay";
display_size_default = <1920 1080 1920 2160 32>;
- mem_size = <0x00800000 0x1980000 0x100000 0x800000>;
+ mem_size = <0x00800000 0x1980000 0x100000 0x100000 0x800000>;
logo_addr = "0x7f800000";
mem_alloc = <0>;
pxp_mode = <0>; /** 0:normal mode 1:pxp mode */
&meson_fb {
status = "okay";
display_size_default = <1920 1080 1920 2160 32>;
- mem_size = <0x00800000 0x1980000 0x100000 0x800000>;
+ mem_size = <0x00800000 0x1980000 0x100000 0x100000 0x800000>;
logo_addr = "0x7f800000";
mem_alloc = <0>;
pxp_mode = <0>; /** 0:normal mode 1:pxp mode */
};
meson_fb: fb {
- compatible = "amlogic, meson-tl1";
+ compatible = "amlogic, meson-tm2";
memory-region = <&logo_reserved>;
status = "disabled";
interrupts = <0 3 1
alloc-ranges = <0x0 0x05000000 0x0 0x400000>;
};
+ logo_reserved:linux,meson-fb {
+ compatible = "shared-dma-pool";
+ reusable;
+ size = <0x0 0x800000>;
+ alignment = <0x0 0x400000>;
+ alloc-ranges = <0x0 0x7f800000 0x0 0x800000>;
+ };
+
codec_mm_cma:linux,codec_mm_cma {
compatible = "shared-dma-pool";
reusable;
//no-map;
};
- logo_reserved:linux,meson-fb {
- compatible = "shared-dma-pool";
- reusable;
- size = <0x0 0x800000>;
- alignment = <0x0 0x400000>;
- alloc-ranges = <0x0 0x7f800000 0x0 0x800000>;
- };
-
ion_cma_reserved:linux,ion-dev {
compatible = "shared-dma-pool";
reusable;
&meson_fb {
status = "okay";
display_size_default = <1920 1080 1920 2160 32>;
- mem_size = <0x00800000 0x1980000 0x100000 0x800000>;
+ mem_size = <0x00800000 0x1980000 0x100000 0x100000 0x800000>;
logo_addr = "0x7f800000";
mem_alloc = <1>;
pxp_mode = <1>; /** 0:normal mode 1:pxp mode */
&meson_fb {
status = "okay";
display_size_default = <1920 1080 1920 2160 32>;
- mem_size = <0x00800000 0x1980000 0x100000 0x800000>;
+ mem_size = <0x00800000 0x1980000 0x100000 0x100000 0x800000>;
logo_addr = "0x7f800000";
mem_alloc = <0>;
pxp_mode = <0>; /** 0:normal mode 1:pxp mode */
&meson_fb {
status = "okay";
display_size_default = <1920 1080 1920 2160 32>;
- mem_size = <0x00800000 0x1980000 0x100000 0x800000>;
+ mem_size = <0x00800000 0x1980000 0x100000 0x100000 0x800000>;
logo_addr = "0x7f800000";
mem_alloc = <0>;
pxp_mode = <0>; /** 0:normal mode 1:pxp mode */
&meson_fb {
status = "okay";
display_size_default = <1920 1080 1920 2160 32>;
- mem_size = <0x00800000 0x1980000 0x100000 0x800000>;
+ mem_size = <0x00800000 0x1980000 0x100000 0x100000 0x800000>;
logo_addr = "0x7f800000";
mem_alloc = <0>;
pxp_mode = <0>; /** 0:normal mode 1:pxp mode */
__MESON_CPU_MAJOR_ID_G12B,
__MESON_CPU_MAJOR_ID_TL1,
__MESON_CPU_MAJOR_ID_SM1,
+ __MESON_CPU_MAJOR_ID_TM2,
__MESON_CPU_MAJOR_ID_UNKNOWN,
};
.has_viu2 = 1,
};
+static struct osd_device_data_s osd_tm2 = {
+ .cpu_id = __MESON_CPU_MAJOR_ID_TM2,
+ .osd_ver = OSD_HIGH_ONE,
+ .afbc_type = MALI_AFBC,
+ .osd_count = 4,
+ .has_deband = 1,
+ .has_lut = 1,
+ .has_rdma = 1,
+ .has_dolby_vision = 0,
+ .osd_fifo_len = 64, /* fifo len 64*8 = 512 */
+ .vpp_fifo_len = 0xfff,/* 2048 */
+ .dummy_data = 0x00808000,
+ .has_viu2 = 1,
+};
+
static struct osd_device_data_s osd_sm1 = {
.cpu_id = __MESON_CPU_MAJOR_ID_SM1,
.osd_ver = OSD_HIGH_ONE,
.compatible = "amlogic, meson-sm1",
.data = &osd_sm1,
},
+ {
+ .compatible = "amlogic, meson-tm2",
+ .data = &osd_tm2,
+ },
{},
};
case __MESON_CPU_MAJOR_ID_G12B:
case __MESON_CPU_MAJOR_ID_TL1:
case __MESON_CPU_MAJOR_ID_SM1:
+ case __MESON_CPU_MAJOR_ID_TM2:
{
int i, afbc_enable = 0;
const struct vinfo_s *vinfo = NULL;
int out_y_crop_start, out_y_crop_end;
- if (osd_hw.osd_meson_dev.cpu_id < __MESON_CPU_MAJOR_ID_G12B ||
- osd_hw.osd_meson_dev.cpu_id == __MESON_CPU_MAJOR_ID_SM1)
+ if (osd_hw.osd_meson_dev.cpu_id != __MESON_CPU_MAJOR_ID_G12B)
return;
src_fmt = get_viu2_src_format();
src_data.x = 0;