Linux Driver Instructions (Please note that this is a Beta Release Version)
The driver is good reference code to illustrate how to communicate with LTC3676 via I2C.
The .zip file also includes a test app and readme.txt with instructions. It has been tested with i.MX6Q NovPek board from NovTech.
It is configured for the LTC3676-1 but also support LTC3676 by simply changing a flag and there are comments about the minor difference between the -1 and non-1 for the driver.
Here is the description and instructions also contained in the included readme file:
This package contains the linux driver for LTC3676 and LTC3676-1. It has been tested with i.MX6Q. It also includes a test app.
It is configured for the LTC3676-1 but there are internal comments about the minor difference between the -1 and non-1 for the driver.
Here are general instructions on how to include this new driver in the Linux build using ltib. You can also see that it is tested with linux-3.0.35 that Freescale has used for i.MX6.
1) cd ltib/rpm/BUILD/linux-3.0.35 (Where your Ltib folder is stored).
2) extract zip file: tar -zxpf LTC3676_Driver.tar.gz
3) Run LTIB configure: ./ltib -c
4) Select "Configure the kernel", exit, and yes to save.
5) When Kernel Menu appears, select "Device Drivers".
6) Select "Voltage and Current Regulator Support".
7) Select "Linear LTC3676 Regulator Driver" to compile into kernel. Don't build as a module.
8) Exit and Save.
9) Ltib should build the kernel with the driver.
Application Instructions:
This builds in the ltc3676_1_test application to allow a user to check the regulators and dynamically change the voltage on the ARM core rail. The voltage movement is small to not push the i.MX6 outside normal operation. This test application does not have any overvoltage error checking for safety. It also does not change the processor frequency. It just tests the basic LTC3676 driver operation.
1) cd ltib (Where your Ltib folder is stored).
2) Run "./ltib -m prep -p imx-test"
3) Move the ltc3676_test folder extracted from this tar file:
"mv rpm/BUILD/linux-3.0.35/ltc3676_test
rpm/BUILD/imx-test-12.09.01/test/."
4) Run "./ltib -m scbuild -p imx-test"
5) Run "./ltib"
6) Burn SD Card, "./mk_mx6_sd -ukr /dev/sdb", /dev/sdb is the name of the SD card.
7) Safely Remove SD Card and install in NOVPEK board.
8) Power and boot to Linux.
9) Run "cd /unit_test "
10) Run Application, ./ltc3676_1_test
i.MX6 Board from NovTech (Click on this link)
Schematics for LTC3676-1 Linear Technology Power
Plug in Board available.
Contact your local Linear Technology sales office Gerard Velcelean (gvelcelean@linear.com) or Steve Knoth (sknoth@linear.com) if you have any questions.
Is it plan by Freescale to support this driver for recent linux kernels (DORA and DAISY yocto projects) ?
Is someone already use LT3676 in 3.10.17 kernel version ?
I got LTC3676 driver from Gateworks Corporation sources but it is design to work with 3.17 linux kernel. So I adapt the main change to work with 3.10.17 kernel ( replace devm_regulator_register(dev, desc, &config) by regulator_register(desc, &config) ).
I configure my device-tree with associated value for each output channel but I don't work and it makes problem when registering each PMIC internal channel (SW1...SW4 and LDO1...LOD4).
We don't understand how kernel links PMIC channel with iMX6 power input.
Can you help me how to find this information ?
Regards,
Gabriel GRANGE