From 5a3aea0ca8fc8ec5529a5328e6f7879ad6d976da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigrid=20Solveig=20Hafl=C3=ADnud=C3=B3ttir?= Date: Wed, 7 Sep 2022 00:52:49 +0000 Subject: imx8/pm: provide acpi(1)-compatible battery readings --- sys/src/9/imx8/main.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'sys/src/9/imx8') diff --git a/sys/src/9/imx8/main.c b/sys/src/9/imx8/main.c index 471d15294..3ccd91ee1 100644 --- a/sys/src/9/imx8/main.c +++ b/sys/src/9/imx8/main.c @@ -265,6 +265,30 @@ tmuinit(void) addphysseg(&seg); } +static void +lpcspiinit(void) +{ + Physseg seg; + + iomuxpad("pad_ecspi2_sclk", "ecspi2_sclk", "~LVTTL ~HYS ~PUE ~ODE FAST 45_OHM"); + iomuxpad("pad_ecspi2_mosi", "ecspi2_mosi", "~LVTTL ~HYS ~PUE ~ODE FAST 45_OHM"); + iomuxpad("pad_ecspi2_miso", "ecspi2_miso", "~LVTTL ~HYS ~PUE ~ODE FAST 45_OHM"); + iomuxpad("pad_ecspi2_ss0", "ecspi2_ss0", "~LVTTL ~HYS ~PUE ~ODE FAST 45_OHM"); + + setclkgate("ecspi2.ipg_clk", 0); + setclkgate("ecspi2.ipg_clk_per", 0); + setclkrate("ecspi2.ipg_clk_per", "osc_25m_ref_clk", 25*Mhz); + setclkgate("ecspi2.ipg_clk_per", 1); + setclkgate("ecspi2.ipg_clk", 1); + + memset(&seg, 0, sizeof(seg)); + seg.attr = SG_PHYSICAL | SG_DEVICE | SG_NOEXEC; + seg.name = "ecspi2"; + seg.pa = VIRTIO + 0x830000 - KZERO; + seg.size = BY2PG; + addphysseg(&seg); +} + void main(void) { @@ -305,6 +329,7 @@ main(void) gpioinit(); lcdinit(); tmuinit(); + lpcspiinit(); userinit(); mpinit(); mmu0clear((uintptr*)L1); -- cgit v1.2.3