Hi dougbaker,
Please find below in-line response.
We are running 1200000 but would the CPU support lower clocks speeds than 1200000?
As per my understanding these are the set of operating frequencies that are supported. You can not go below that. Please refer to the section 3.1.3 "Operating Ranges" from the "Datasheet" for the part number you are using. These operating ranges mentioned in datasheet are written in the "fsl-imx8mm,dtsi" device tree file.
Can 3 of the 4 CPU cores be turned off?
For selecting the number of cores to run, you can pass the "maxcpus=1" in your kernel command line argument. That is, you can pass this argument from u-boot to kernel. By this Linux will use the single core. To verify this you can see the output of "cat /sys/devices/system/cpu/cpuX/online" node. If it is 1 then the respective cpu core is online, else it is offline. Also, to see the core numbers that are in use and online "cat /sys/devices/system/cpu/online" node can be helpful. ("lscpu" command can also be helpful to verify)
Are there other devices on the CPU or eval board that could be disabled in software that would save more power?
I would suggest to refer the section 6 "Power Mangement" from the "i.MX Linux User's Guide" and see if that helps. Also, recommended to narrow down the device tree file for your system. Keep only those things which are useful and disable the rest. It might help.
For your reference I have attached the datasheet and Linux User's Guide. If that is not relevant to your part number and BSP, then please download the relevant documents from i.MX 8M Mini Applications Processor | Arm Cortex A53/M4 | 1080P display | NXP and i.MX Software and Development Tools | NXP.
Regards,
Kunal