diff options
Diffstat (limited to 'drivers/gpu/drm/meson/meson_venc.c')
-rw-r--r-- | drivers/gpu/drm/meson/meson_venc.c | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c index acbbad3e322c..e95e0e7a7fa1 100644 --- a/drivers/gpu/drm/meson/meson_venc.c +++ b/drivers/gpu/drm/meson/meson_venc.c | |||
@@ -697,6 +697,132 @@ union meson_hdmi_venc_mode meson_hdmi_encp_mode_1080p60 = { | |||
697 | }, | 697 | }, |
698 | }; | 698 | }; |
699 | 699 | ||
700 | union meson_hdmi_venc_mode meson_hdmi_encp_mode_2160p24 = { | ||
701 | .encp = { | ||
702 | .dvi_settings = 0x1, | ||
703 | .video_mode = 0x4040, | ||
704 | .video_mode_adv = 0x8, | ||
705 | /* video_sync_mode */ | ||
706 | /* video_yc_dly */ | ||
707 | /* video_rgb_ctrl */ | ||
708 | .video_filt_ctrl = 0x1000, | ||
709 | .video_filt_ctrl_present = true, | ||
710 | /* video_ofld_voav_ofst */ | ||
711 | .yfp1_htime = 140, | ||
712 | .yfp2_htime = 140+3840, | ||
713 | .max_pxcnt = 3840+1660-1, | ||
714 | .hspuls_begin = 2156+1920, | ||
715 | .hspuls_end = 44, | ||
716 | .hspuls_switch = 44, | ||
717 | .vspuls_begin = 140, | ||
718 | .vspuls_end = 2059+1920, | ||
719 | .vspuls_bline = 0, | ||
720 | .vspuls_eline = 4, | ||
721 | .havon_begin = 148, | ||
722 | .havon_end = 3987, | ||
723 | .vavon_bline = 89, | ||
724 | .vavon_eline = 2248, | ||
725 | /* eqpuls_begin */ | ||
726 | /* eqpuls_end */ | ||
727 | /* eqpuls_bline */ | ||
728 | /* eqpuls_eline */ | ||
729 | .hso_begin = 44, | ||
730 | .hso_end = 2156+1920, | ||
731 | .vso_begin = 2100+1920, | ||
732 | .vso_end = 2164+1920, | ||
733 | .vso_bline = 51, | ||
734 | .vso_eline = 53, | ||
735 | .vso_eline_present = true, | ||
736 | /* sy_val */ | ||
737 | /* sy2_val */ | ||
738 | .max_lncnt = 2249, | ||
739 | }, | ||
740 | }; | ||
741 | |||
742 | union meson_hdmi_venc_mode meson_hdmi_encp_mode_2160p25 = { | ||
743 | .encp = { | ||
744 | .dvi_settings = 0x1, | ||
745 | .video_mode = 0x4040, | ||
746 | .video_mode_adv = 0x8, | ||
747 | /* video_sync_mode */ | ||
748 | /* video_yc_dly */ | ||
749 | /* video_rgb_ctrl */ | ||
750 | .video_filt_ctrl = 0x1000, | ||
751 | .video_filt_ctrl_present = true, | ||
752 | /* video_ofld_voav_ofst */ | ||
753 | .yfp1_htime = 140, | ||
754 | .yfp2_htime = 140+3840, | ||
755 | .max_pxcnt = 3840+1440-1, | ||
756 | .hspuls_begin = 2156+1920, | ||
757 | .hspuls_end = 44, | ||
758 | .hspuls_switch = 44, | ||
759 | .vspuls_begin = 140, | ||
760 | .vspuls_end = 2059+1920, | ||
761 | .vspuls_bline = 0, | ||
762 | .vspuls_eline = 4, | ||
763 | .havon_begin = 148, | ||
764 | .havon_end = 3987, | ||
765 | .vavon_bline = 89, | ||
766 | .vavon_eline = 2248, | ||
767 | /* eqpuls_begin */ | ||
768 | /* eqpuls_end */ | ||
769 | /* eqpuls_bline */ | ||
770 | /* eqpuls_eline */ | ||
771 | .hso_begin = 44, | ||
772 | .hso_end = 2156+1920, | ||
773 | .vso_begin = 2100+1920, | ||
774 | .vso_end = 2164+1920, | ||
775 | .vso_bline = 51, | ||
776 | .vso_eline = 53, | ||
777 | .vso_eline_present = true, | ||
778 | /* sy_val */ | ||
779 | /* sy2_val */ | ||
780 | .max_lncnt = 2249, | ||
781 | }, | ||
782 | }; | ||
783 | |||
784 | union meson_hdmi_venc_mode meson_hdmi_encp_mode_2160p30 = { | ||
785 | .encp = { | ||
786 | .dvi_settings = 0x1, | ||
787 | .video_mode = 0x4040, | ||
788 | .video_mode_adv = 0x8, | ||
789 | /* video_sync_mode */ | ||
790 | /* video_yc_dly */ | ||
791 | /* video_rgb_ctrl */ | ||
792 | .video_filt_ctrl = 0x1000, | ||
793 | .video_filt_ctrl_present = true, | ||
794 | /* video_ofld_voav_ofst */ | ||
795 | .yfp1_htime = 140, | ||
796 | .yfp2_htime = 140+3840, | ||
797 | .max_pxcnt = 3840+560-1, | ||
798 | .hspuls_begin = 2156+1920, | ||
799 | .hspuls_end = 44, | ||
800 | .hspuls_switch = 44, | ||
801 | .vspuls_begin = 140, | ||
802 | .vspuls_end = 2059+1920, | ||
803 | .vspuls_bline = 0, | ||
804 | .vspuls_eline = 4, | ||
805 | .havon_begin = 148, | ||
806 | .havon_end = 3987, | ||
807 | .vavon_bline = 89, | ||
808 | .vavon_eline = 2248, | ||
809 | /* eqpuls_begin */ | ||
810 | /* eqpuls_end */ | ||
811 | /* eqpuls_bline */ | ||
812 | /* eqpuls_eline */ | ||
813 | .hso_begin = 44, | ||
814 | .hso_end = 2156+1920, | ||
815 | .vso_begin = 2100+1920, | ||
816 | .vso_end = 2164+1920, | ||
817 | .vso_bline = 51, | ||
818 | .vso_eline = 53, | ||
819 | .vso_eline_present = true, | ||
820 | /* sy_val */ | ||
821 | /* sy2_val */ | ||
822 | .max_lncnt = 2249, | ||
823 | }, | ||
824 | }; | ||
825 | |||
700 | struct meson_hdmi_venc_vic_mode { | 826 | struct meson_hdmi_venc_vic_mode { |
701 | unsigned int vic; | 827 | unsigned int vic; |
702 | union meson_hdmi_venc_mode *mode; | 828 | union meson_hdmi_venc_mode *mode; |
@@ -717,6 +843,9 @@ struct meson_hdmi_venc_vic_mode { | |||
717 | { 34, &meson_hdmi_encp_mode_1080p30 }, | 843 | { 34, &meson_hdmi_encp_mode_1080p30 }, |
718 | { 31, &meson_hdmi_encp_mode_1080p50 }, | 844 | { 31, &meson_hdmi_encp_mode_1080p50 }, |
719 | { 16, &meson_hdmi_encp_mode_1080p60 }, | 845 | { 16, &meson_hdmi_encp_mode_1080p60 }, |
846 | { 93, &meson_hdmi_encp_mode_2160p24 }, | ||
847 | { 94, &meson_hdmi_encp_mode_2160p25 }, | ||
848 | { 95, &meson_hdmi_encp_mode_2160p30 }, | ||
720 | { 0, NULL}, /* sentinel */ | 849 | { 0, NULL}, /* sentinel */ |
721 | }; | 850 | }; |
722 | 851 | ||