mirror of
https://github.com/CTCaer/hekate
synced 2024-12-22 19:31:12 +00:00
Add display_end fix for all fw + easter egg
The easter egg is sth that was forgotten in booting via hekate's hwinit.
This commit is contained in:
parent
6b8887b5d8
commit
5fd9daa364
3 changed files with 7 additions and 9 deletions
|
@ -149,10 +149,6 @@ void display_end()
|
||||||
DSI(_DSIREG(DSI_VIDEO_MODE_CONTROL)) = 1;
|
DSI(_DSIREG(DSI_VIDEO_MODE_CONTROL)) = 1;
|
||||||
DSI(_DSIREG(DSI_WR_DATA)) = 0x2805;
|
DSI(_DSIREG(DSI_WR_DATA)) = 0x2805;
|
||||||
|
|
||||||
u32 end = HOST1X(0x30A4) + 5;
|
|
||||||
while (HOST1X(0x30A4) < end)
|
|
||||||
;
|
|
||||||
|
|
||||||
DISPLAY_A(_DIREG(DC_CMD_STATE_ACCESS)) = READ_MUX | WRITE_MUX;
|
DISPLAY_A(_DIREG(DC_CMD_STATE_ACCESS)) = READ_MUX | WRITE_MUX;
|
||||||
DSI(_DSIREG(DSI_VIDEO_MODE_CONTROL)) = 0;
|
DSI(_DSIREG(DSI_VIDEO_MODE_CONTROL)) = 0;
|
||||||
|
|
||||||
|
@ -181,7 +177,7 @@ void display_end()
|
||||||
|
|
||||||
usleep(10000);
|
usleep(10000);
|
||||||
|
|
||||||
//Disable clocks.
|
// Disable clocks.
|
||||||
CLOCK(CLK_RST_CONTROLLER_RST_DEV_H_SET) = 0x1010000;
|
CLOCK(CLK_RST_CONTROLLER_RST_DEV_H_SET) = 0x1010000;
|
||||||
CLOCK(CLK_RST_CONTROLLER_CLK_ENB_H_CLR) = 0x1010000;
|
CLOCK(CLK_RST_CONTROLLER_CLK_ENB_H_CLR) = 0x1010000;
|
||||||
CLOCK(CLK_RST_CONTROLLER_RST_DEV_L_SET) = 0x18000000;
|
CLOCK(CLK_RST_CONTROLLER_RST_DEV_L_SET) = 0x18000000;
|
||||||
|
|
|
@ -40,12 +40,13 @@
|
||||||
#include "../gfx/gfx.h"
|
#include "../gfx/gfx.h"
|
||||||
extern gfx_ctxt_t gfx_ctxt;
|
extern gfx_ctxt_t gfx_ctxt;
|
||||||
extern gfx_con_t gfx_con;
|
extern gfx_con_t gfx_con;
|
||||||
|
extern hekate_config h_cfg;
|
||||||
|
|
||||||
extern void sd_unmount();
|
extern void sd_unmount();
|
||||||
|
|
||||||
//#define DPRINTF(...) gfx_printf(&gfx_con, __VA_ARGS__)
|
//#define DPRINTF(...) gfx_printf(&gfx_con, __VA_ARGS__)
|
||||||
#define DPRINTF(...)
|
#define DPRINTF(...)
|
||||||
|
|
||||||
extern hekate_config h_cfg;
|
|
||||||
|
|
||||||
typedef struct _launch_ctxt_t
|
typedef struct _launch_ctxt_t
|
||||||
{
|
{
|
||||||
void *keyblob;
|
void *keyblob;
|
||||||
|
@ -666,7 +667,7 @@ int hos_launch(ini_sec_t *cfg)
|
||||||
// Wait for secmon to get ready.
|
// Wait for secmon to get ready.
|
||||||
cluster_boot_cpu0(ctxt.pkg1_id->secmon_base);
|
cluster_boot_cpu0(ctxt.pkg1_id->secmon_base);
|
||||||
while (!*mb_out)
|
while (!*mb_out)
|
||||||
usleep(1);
|
;
|
||||||
|
|
||||||
//TODO: pkg1.1 locks PMC scratches, we can do that too at some point.
|
//TODO: pkg1.1 locks PMC scratches, we can do that too at some point.
|
||||||
/*PMC(0x4) = 0x7FFFF3;
|
/*PMC(0x4) = 0x7FFFF3;
|
||||||
|
|
|
@ -16,7 +16,8 @@
|
||||||
|
|
||||||
#include "../utils/types.h"
|
#include "../utils/types.h"
|
||||||
|
|
||||||
struct tegra_pmc_regs {
|
struct tegra_pmc_regs
|
||||||
|
{
|
||||||
u32 cntrl;
|
u32 cntrl;
|
||||||
u32 sec_disable;
|
u32 sec_disable;
|
||||||
u32 pmc_swrst;
|
u32 pmc_swrst;
|
||||||
|
|
Loading…
Reference in a new issue