How to customise root cell device tree for jailhouse in imx8mq platform ?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to customise root cell device tree for jailhouse in imx8mq platform ?

Jump to solution
1,606 Views
Anonymous
Deactivated User

I am using BSP:- imx-yocto-L4.14.98_2.0.0_ga and trying to configure jailhouse hypervisor for a custom board based on im8mq evk reference board. I couldn't figure out why some clocks are initialized explicitly using "init-on-array" device tree property.

device tree file:- fsl-imx8mq-evk-root.dts:-

&clk {
        init-on-array = <IMX8MQ_CLK_DRAM_CORE IMX8MQ_CLK_AHB
                         IMX8MQ_CLK_NOC IMX8MQ_CLK_NOC_APB
                         IMX8MQ_CLK_USB_BUS
                         IMX8MQ_CLK_MAIN_AXI IMX8MQ_CLK_A53_CG
                         IMX8MQ_CLK_AUDIO_AHB IMX8MQ_CLK_TMU_ROOT
                         IMX8MQ_CLK_DRAM_APB
                         IMX8MQ_CLK_UART2_ROOT
                         IMX8MQ_CLK_UART2
                         IMX8MQ_CLK_NAND_USDHC_BUS>;
};

I assume IMX8MQ_CLK_UART2_ROOT, IMX8MQ_CLK_UART2, IMX8MQ_CLK_NAND_USDHC_BUS and MX8MQ_CLK_TMU_ROOT are initialized explicitly because UART and SDHC interface along with Timer is used in inmate cell (reference:- fsl-imx8mq-evk-inmate.dts). But what about other clocks ?

Labels (1)
1 Solution
967 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

  

As said on the github (https://source.codeaurora.org/external/imx/linux-imx/commit/?h=imx_4.14.78_1.0.0_ga&id=1afdd5020d49f...):

 

Add a new init-on-array property, the clk driver will parse this array and prepare enable the related clocks. Previously, the clocks needs to be init on are hardcoded in SoC clk driver.

When we need to support two OSes, some clks needs to be ini on, however such clocks does not need to be init on for Single Linux OS environment.

At current stage using Jailhouse hypervisor supporting Two Linux OS, OS1 use SDHC2, OS2 use SDHC0, they share one IMX8MQ_CLK_NAND_USDHC_BUS_CG, because no power management supported, so we need clk_ignore_unused and make sure this clk being enabled, to make sure the 2nd OS could has SDHC0 working.

 

Hope this helps,

Best regards,

Aldo.

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

View solution in original post

1 Reply
968 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

  

As said on the github (https://source.codeaurora.org/external/imx/linux-imx/commit/?h=imx_4.14.78_1.0.0_ga&id=1afdd5020d49f...):

 

Add a new init-on-array property, the clk driver will parse this array and prepare enable the related clocks. Previously, the clocks needs to be init on are hardcoded in SoC clk driver.

When we need to support two OSes, some clks needs to be ini on, however such clocks does not need to be init on for Single Linux OS environment.

At current stage using Jailhouse hypervisor supporting Two Linux OS, OS1 use SDHC2, OS2 use SDHC0, they share one IMX8MQ_CLK_NAND_USDHC_BUS_CG, because no power management supported, so we need clk_ignore_unused and make sure this clk being enabled, to make sure the 2nd OS could has SDHC0 working.

 

Hope this helps,

Best regards,

Aldo.

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------