Hi,
How to disable the pcie, sata, NEON and SGX530 in uboot and linux (power down and clocks disabled)
Thanks And Regards,
Mike
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Mike,
Let us first focus on PCIe. In u-boot, unless you configure to boot from PCIe, the PCIe is disabled by default. Make sure the below registers have these values:
SERDES_REFCLK_CTRL/0x48140E24 = 0x3
PCIE_PLLCFG0/0x481406D8 = 0x40007000
CM_DEFAULT_PCI_CLKCTRL/0x48180578 = 0x00070000
CM_DEFAULT_PCI_CLKSTCTRL/0x48180510 = 0x00000001
While in linux kernel, PCIe module is enabled by default in the below file and functions:
linux-kernel/arch/arm/mach-omap2/devices.c - ti814x_pcie_pllcfg() and ti81xx_init_pcie()
You can remove this code or modify it to get the right values in the above registers.
static int __init omap2_init_devices(void)
{
#ifdef CONFIG_ARCH_TI81XX
if (cpu_is_ti814x()) {
/* Init PCIe,SATA PLL here, before invoking respective init*/
//ti814x_pcie_pllcfg();
//if(!cpu_is_ti811x())
//ti814x_sata_pllcfg();
}
ti81xx_ethernet_init();
//ti81xx_init_pcie();
BR
Pavel
mike A said:I tried commenting out the sata_pll_config() in uboot and saw that the U-boot itself
doesn’t come up. I see that sata serdes clock is used by GMII probably thats the reason it didnt boot up ?
That is correct.
mike A said:Is there a way to power down the SATA ?
No, SATA is in Always on power domain.
BR
Pavel
mike A said:I tried commenting out the sata_pll_config() and with NO_ETH config enabled yet the board doesnt boot up any pointer on this ?
Try with removing ethernet support.
u-boot/board/ti/ti8148/em.c
void per_clocks_enable(void)
{
/* Ethernet */
//__raw_writel(0x2, CM_ETHERNET_CLKSTCTRL);
//__raw_writel(0x2, CM_ALWON_ETHERNET_0_CLKCTRL);
//while((__raw_readl(CM_ALWON_ETHERNET_0_CLKCTRL) & 0x30000) != 0);
//__raw_writel(0x2, CM_ALWON_ETHERNET_1_CLKCTRL);
u-boot/include/configs/ti8148_evm.h
//# define CONFIG_DRIVER_TI_CPSW
BR
Pavel
mike A said:How to disable
mike A said:NEON
NEON is part of the Cortex-A8 ARM core and is documented in the Cortex-A8 ARM Core TRM, available at the ARM site:
I would recommend you to check this TRM how (if possible) to disable only NEON part of the Cortex-A8 ARM core. You can also contact the ARM support team if any questions regarding the ARM TRM.
The below wiki pages might be also in help:
BR
Pavel
mike A said:how do I disable the clocks for SGX
SGX is disabled by default in u-boot and linux kernel, you should have the below values:
SGXPLL_PWRCTRL/0x481C50B0 = 0x30
SGXPLL_CLKCTRL[23] IDLE/0x481C50B4 = 1
CM_SGX_CLKSTCTRL/0x48180900 = 0x1
CM_SGX_CLKCTRL/0x48180920 = 0x70000
PM_SGX_PWRSTCTRL/0x48180F00 = 0x30000
PM_SGX_PWRSTST/0x48180F10 = 0
SGX is enabled through linux kernel loadable modules (omaplfb.ko, pvrsrvkm.ko and bufferclass_ti.ko), so if you do not load these modules into the kernel, SGX stay disabled.
BR
Pavel
mike A said:how do I disable
mike A said:DSP
Unless you load DSP firmware, DSP stay disable in u-boot and linux kernel. See the below e2e thread for more info:
BR
Pavel