This repository has been archived on 2026-01-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
iBoot/platform/s8000/include/platform/soc/display_s8001.h
T
2023-07-08 13:03:17 -07:00

195 lines
8.4 KiB
C

/*
* Copyright (C) 2013-2014 Apple Inc. All rights reserved.
*
* This document is the property of Apple Inc.
* It is considered confidential and proprietary.
*
* This document may not be reproduced or transmitted in any form,
* in whole or in part, without the express written permission of
* Apple Inc.
*/
#ifndef __APPLE_DISPLAY_H
#define __APPLE_DISPLAY_H
// Platform-specific displaypipe tunables
// XXX - disp_dpcafclkgate is listed as TBD
// D620 is most likely something new based on the values. Update once we know more.
static struct adfe_v2_tuneable adfe_tuneables[] =
{
//Tunables for targets using the the timing based on landscape ipads
#if DISPLAY_LANDSCAPE_IPAD_TUNABLES || DISPLAY_FPGA_TUNABLES || DISPLAY_APPLE_TV_TUNABLES
{
.name = "ipad4",
.disp_dpcclkcntl = (ADPCCLKCNTL_FLOOR(0x20) | \
ADPCCLKCNTL_PIPE_ENABLE | \
ADPCCLKCNTL_LB_ENABLE | \
ADPCCLKCNTL_PIO_GATE_ENABLE | \
ADPCCLKCNTL_STAT_GATE_ENABLE | \
ADPCCLKCNTL_EXT_GATE_ENABLE | \
ADPCCLKCNTL_DYN_GATE_ENABLE),
.disp_dpcclklvl_clock_on_level = ADPCCLKLVL_ONLVL(0x547),
.disp_dpcclklvl_clock_off_level = ADPCCLKLVL_OFFLVL(0xff8),
.disp_dpcqoscfg = (ADPCQOSCFG_QOS_TIMER(0x15b5) | \
ADPCQOSCFG_PIPE_ENABLE | \
ADPCQOSCFG_QOS_ENABLE),
.disp_dpcqosylvl_yellow_off = ADPCQOSYLVL_YELLOW_OFF(0x545),
.disp_dpcqosylvl_yellow_on = ADPCQOSYLVL_YELLOW_ON(0x53d),
.disp_dpcqosrlvl_red_off = ADPCQOSRLVL_RED_OFF(0x3a1),
.disp_dpcqosrlvl_red_on = ADPCQOSRLVL_RED_ON(0x399),
.disp_dpclinkdown = (ADPCLINKDOWN_TEARDOWNNOSCL | \
ADPCLINKDOWN_TEARDOWNEN),
.disp_dpgpreqaggr = (ADPGPREQAGGR_REQAGGRTHRESH(0x4b) | \
ADPGPREQAGGR_CACHEHINT(0x3) | \
ADPGPREQAGGR_REQAGGRENAB),
.disp_dpcafclkgate = (ADPAFIDLECOUNT(0x30) | \
ADPAFDYNCLKGATEEN),
.disp_dpcenab = (ADPCENAB_IDEAL_ARB_ENAB),
},
{
.name = "ipad6",
.disp_dpcclkcntl = (ADPCCLKCNTL_FLOOR(0x60) | \
ADPCCLKCNTL_PIPE_ENABLE | \
ADPCCLKCNTL_LB_ENABLE | \
ADPCCLKCNTL_PIO_GATE_ENABLE | \
ADPCCLKCNTL_STAT_GATE_ENABLE | \
ADPCCLKCNTL_EXT_GATE_ENABLE | \
ADPCCLKCNTL_DYN_GATE_ENABLE),
.disp_dpcclklvl_clock_on_level = ADPCCLKLVL_ONLVL(0x6c3),
.disp_dpcclklvl_clock_off_level = ADPCCLKLVL_OFFLVL(0x7f8),
.disp_dpcqoscfg = (ADPCQOSCFG_QOS_TIMER(0xaac) | \
ADPCQOSCFG_PIPE_ENABLE | \
ADPCQOSCFG_QOS_ENABLE),
.disp_dpcqosylvl_yellow_off = ADPCQOSYLVL_YELLOW_OFF(0x6c1),
.disp_dpcqosylvl_yellow_on = ADPCQOSYLVL_YELLOW_ON(0x6b9),
.disp_dpcqosrlvl_red_off = ADPCQOSRLVL_RED_OFF(0x579),
.disp_dpcqosrlvl_red_on = ADPCQOSRLVL_RED_ON(0x571),
.disp_dpclinkdown = (ADPCLINKDOWN_TEARDOWNNOSCL | \
ADPCLINKDOWN_TEARDOWNAGGR),
.disp_dpgpreqaggr = (ADPGPREQAGGR_REQAGGRTHRESH(0x1a9) | \
ADPGPREQAGGR_CACHEHINT(0x3) | \
ADPGPREQARRG_OPPORTUNISMENAB | \
ADPGPREQAGGR_REQAGGRENAB),
.disp_dpcafclkgate = (ADPAFIDLECOUNT(0x0) | \
ADPAFDYNCLKGATEEN),
.disp_dpcenab = (ADPCENAB_IDEAL_ARB_ENAB),
},
{
.name = "ipad6_A1",
.disp_dpcclkcntl = (ADPCCLKCNTL_FLOOR(0x60) | \
ADPCCLKCNTL_PIPE_ENABLE | \
ADPCCLKCNTL_LB_ENABLE | \
ADPCCLKCNTL_PIO_GATE_ENABLE | \
ADPCCLKCNTL_STAT_GATE_ENABLE | \
ADPCCLKCNTL_EXT_GATE_ENABLE | \
ADPCCLKCNTL_DYN_GATE_ENABLE),
.disp_dpcclklvl_clock_on_level = ADPCCLKLVL_ONLVL(0x7a1),
.disp_dpcclklvl_clock_off_level = ADPCCLKLVL_OFFLVL(0x7f8),
.disp_dpcqoscfg = (ADPCQOSCFG_QOS_TIMER(0xaac) | \
ADPCQOSCFG_PIPE_ENABLE | \
ADPCQOSCFG_QOS_ENABLE),
.disp_dpcqosylvl_yellow_off = ADPCQOSYLVL_YELLOW_OFF(0x797),
.disp_dpcqosylvl_yellow_on = ADPCQOSYLVL_YELLOW_ON(0x78f),
.disp_dpcqosrlvl_red_off = ADPCQOSRLVL_RED_OFF(0x725),
.disp_dpcqosrlvl_red_on = ADPCQOSRLVL_RED_ON(0x71d),
.disp_dpclinkdown = (ADPCLINKDOWN_TEARDOWNNOSCL | \
ADPCLINKDOWN_TEARDOWNAGGR | \
ADPCLINKDOWN_TEARDOWNEN),
.disp_dpgpreqaggr = (ADPGPREQAGGR_REQAGGRTHRESH(0x131) | \
ADPGPREQAGGR_CACHEHINT(0x3) | \
ADPGPREQARRG_OPPORTUNISMENAB | \
ADPGPREQAGGR_REQAGGRENAB),
.disp_dpcafclkgate = (ADPAFIDLECOUNT(0x0) | \
ADPAFDYNCLKGATEEN),
.disp_dpcenab = (ADPCENAB_IDEAL_ARB_ENAB),
},
{
.name = "ipad6b",
.disp_dpcclkcntl = (ADPCCLKCNTL_FLOOR(0x20) | \
ADPCCLKCNTL_PIPE_ENABLE | \
ADPCCLKCNTL_LB_ENABLE | \
ADPCCLKCNTL_PIO_GATE_ENABLE | \
ADPCCLKCNTL_STAT_GATE_ENABLE | \
ADPCCLKCNTL_EXT_GATE_ENABLE | \
ADPCCLKCNTL_DYN_GATE_ENABLE),
.disp_dpcclklvl_clock_on_level = ADPCCLKLVL_ONLVL(0x8ab),
.disp_dpcclklvl_clock_off_level = ADPCCLKLVL_OFFLVL(0x1ff0),
.disp_dpcqoscfg = (ADPCQOSCFG_QOS_TIMER(0x3840) | \
ADPCQOSCFG_PIPE_ENABLE | \
ADPCQOSCFG_QOS_ENABLE),
.disp_dpcqosylvl_yellow_off = ADPCQOSYLVL_YELLOW_OFF(0x8aa),
.disp_dpcqosylvl_yellow_on = ADPCQOSYLVL_YELLOW_ON(0x8a2),
.disp_dpcqosrlvl_red_off = ADPCQOSRLVL_RED_OFF(0x6b2),
.disp_dpcqosrlvl_red_on = ADPCQOSRLVL_RED_ON(0x6aa),
.disp_dpclinkdown = (ADPCLINKDOWN_TEARDOWNNOSCL | \
ADPCLINKDOWN_TEARDOWNEN),
.disp_dpgpreqaggr = (ADPGPREQAGGR_REQAGGRTHRESH(0x14f) | \
ADPGPREQAGGR_CACHEHINT(0x3) | \
ADPGPREQARRG_OPPORTUNISMENAB | \
ADPGPREQAGGR_REQAGGRENAB),
.disp_dpcafclkgate = (ADPAFIDLECOUNT(0x30) | \
ADPAFDYNCLKGATEEN),
.disp_dpcenab = (ADPCENAB_IDEAL_ARB_ENAB),
},
{
.name = "ipad6d",
.disp_dpcclkcntl = (ADPCCLKCNTL_FLOOR(0x20) | \
ADPCCLKCNTL_PIPE_ENABLE | \
ADPCCLKCNTL_LB_ENABLE | \
ADPCCLKCNTL_PIO_GATE_ENABLE | \
ADPCCLKCNTL_STAT_GATE_ENABLE | \
ADPCCLKCNTL_EXT_GATE_ENABLE | \
ADPCCLKCNTL_DYN_GATE_ENABLE),
.disp_dpcclklvl_clock_on_level = ADPCCLKLVL_ONLVL(0xe61),
.disp_dpcclklvl_clock_off_level = ADPCCLKLVL_OFFLVL(0x1ff0),
.disp_dpcqoscfg = (ADPCQOSCFG_QOS_TIMER(0x3840) | \
ADPCQOSCFG_PIPE_ENABLE | \
ADPCQOSCFG_QOS_ENABLE),
.disp_dpcqosylvl_yellow_off = ADPCQOSYLVL_YELLOW_OFF(0xe60),
.disp_dpcqosylvl_yellow_on = ADPCQOSYLVL_YELLOW_ON(0xe58),
.disp_dpcqosrlvl_red_off = ADPCQOSRLVL_RED_OFF(0xb1a),
.disp_dpcqosrlvl_red_on = ADPCQOSRLVL_RED_ON(0xb12),
.disp_dpclinkdown = (ADPCLINKDOWN_TEARDOWNNOSCL | \
ADPCLINKDOWN_TEARDOWNEN),
.disp_dpgpreqaggr = (ADPGPREQAGGR_REQAGGRTHRESH(0x29d) | \
ADPGPREQAGGR_CACHEHINT(0x3) | \
ADPGPREQARRG_OPPORTUNISMENAB | \
ADPGPREQAGGR_REQAGGRENAB),
.disp_dpcafclkgate = (ADPAFIDLECOUNT(0x30) | \
ADPAFDYNCLKGATEEN),
.disp_dpcenab = (ADPCENAB_IDEAL_ARB_ENAB),
},
{
.name = "720p",
.disp_dpcclkcntl = (ADPCCLKCNTL_FLOOR(0x20) | \
ADPCCLKCNTL_PIPE_ENABLE | \
ADPCCLKCNTL_LB_ENABLE | \
ADPCCLKCNTL_PIO_GATE_ENABLE | \
ADPCCLKCNTL_STAT_GATE_ENABLE | \
ADPCCLKCNTL_EXT_GATE_ENABLE | \
ADPCCLKCNTL_DYN_GATE_ENABLE),
.disp_dpcclklvl_clock_on_level = ADPCCLKLVL_ONLVL(0x246),
.disp_dpcclklvl_clock_off_level = ADPCCLKLVL_OFFLVL(0x1ff0),
.disp_dpcqoscfg = (ADPCQOSCFG_QOS_TIMER(0x3840) | \
ADPCQOSCFG_PIPE_ENABLE | \
ADPCQOSCFG_QOS_ENABLE),
.disp_dpcqosylvl_yellow_off = ADPCQOSYLVL_YELLOW_OFF(0x244),
.disp_dpcqosylvl_yellow_on = ADPCQOSYLVL_YELLOW_ON(0x23c),
.disp_dpcqosrlvl_red_off = ADPCQOSRLVL_RED_OFF(0x1ac),
.disp_dpcqosrlvl_red_on = ADPCQOSRLVL_RED_ON(0x1a4),
.disp_dpclinkdown = (ADPCLINKDOWN_TEARDOWNNOSCL | \
ADPCLINKDOWN_TEARDOWNEN),
.disp_dpgpreqaggr = (ADPGPREQAGGR_REQAGGRTHRESH(0x59) | \
ADPGPREQAGGR_CACHEHINT(0x3) | \
ADPGPREQARRG_OPPORTUNISMENAB | \
ADPGPREQAGGR_REQAGGRENAB),
.disp_dpcafclkgate = (ADPAFIDLECOUNT(0x30) | \
ADPAFDYNCLKGATEEN),
.disp_dpcenab = (ADPCENAB_IDEAL_ARB_ENAB),
},
#endif //DISPLAY_LANDSCAPE_IPAD_TUNABLES || DISPLAY_APPLE_TV_TUNABLES || DISPLAY_FPGA_TUNABLES
};
#endif /* ! __APPLE_DISPLAY_H */