This patch series add AM33XX regulators (tps65910/tps65217) device
tree data to am335x-evm and am335x-bone dts files. These patches
are based on Tony L "devel-dt" tree with these patches
http://www.mail-archive.com/linux-omap at vger.kernel.org/msg73843.html
and these patches has been tested on AM335x EVM and Bone devices.
Changes from v2:
- Added remaining regulator nodes with always on flag.
With out this flag regulator core calls for disable
regulators after init, which make device hang.
- Modified tps65910 DTS entires with respect to tps65910
input supply.
Changes from v1:
- Incorporated all Mark Brown's review comments on v1 by
* moving all the regulator constraints to corresponding
DTS file
* Regulator constraints are added according to board.
- regulator name is added.
AnilKumar Ch (4):
arm/dts: regulator: Add tps65910 device tree data
arm/dts: regulator: Add tps65217 device tree data
arm/dts: Add tps65910 regulator DT data to am335x-evm.dts
arm/dts: Add tps65217 regulator DT data to am335x-bone.dts
arch/arm/boot/dts/am335x-bone.dts | 54 +++++++++++++++++++++
arch/arm/boot/dts/am335x-evm.dts | 94 +++++++++++++++++++++++++++++++++++++
arch/arm/boot/dts/tps65217.dtsi | 56 ++++++++++++++++++++++
arch/arm/boot/dts/tps65910.dtsi | 86 +++++++++++++++++++++++++++++++++
4 files changed, 290 insertions(+)
create mode 100644 arch/arm/boot/dts/tps65217.dtsi
create mode 100644 arch/arm/boot/dts/tps65910.dtsi
--
1.7.9.5
Add device tree data for tps65910 regulator by adding all tps65910
regulator nodes. Regulator is initialized based on compatiable
name provided in tps65910 DT file.
All tps65910 PMIC regulator device tree nodes are placed in a
seperate device tree include file (tps65910.dtsi). This patch
was tested on AM335x-EVM.
Signed-off-by: AnilKumar Ch <redacted>
---
arch/arm/boot/dts/tps65910.dtsi | 86 +++++++++++++++++++++++++++++++++++++++
1 file changed, 86 insertions(+)
create mode 100644 arch/arm/boot/dts/tps65910.dtsi
Add device tree data for tps65217 regulator by adding all tps65217
regulator nodes. Regulator is initialized based on compatiable
name provided in tps65217 DT file.
All tps65910 PMIC regulator device tree nodes are placed in a
seperate device tree include file (tps65217.dtsi). This patch
was tested on AM335x-Bone.
Signed-off-by: AnilKumar Ch <redacted>
---
arch/arm/boot/dts/tps65217.dtsi | 56 +++++++++++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)
create mode 100644 arch/arm/boot/dts/tps65217.dtsi
Add tps65910 regulator device tree data to AM335x-EVM by adding
regulator consumers with tightened constraints and regulator-name.
TPS65910 regulator handle can be obtained by using this regulator
name.
This patch also add I2C node with I2C frequency and tps65910 PMIC
I2C slave address.
Signed-off-by: AnilKumar Ch <redacted>
---
arch/arm/boot/dts/am335x-evm.dts | 94 ++++++++++++++++++++++++++++++++++++++
1 file changed, 94 insertions(+)
Add tps65217 regulator device tree data to AM335x-Bone by adding
regulator consumers with tightened constraints and regulator-name.
TPS65217 regulator handle can be obtained by using this regulator
name.
This patch also add I2C node with I2C frequency and tps65217 PMIC
I2C slave address.
Signed-off-by: AnilKumar Ch <redacted>
---
arch/arm/boot/dts/am335x-bone.dts | 54 +++++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)
From: Mark Brown <hidden> Date: 2012-08-21 13:57:38
On Tue, Aug 21, 2012 at 04:47:26PM +0530, AnilKumar Ch wrote:
This patch series add AM33XX regulators (tps65910/tps65217) device
tree data to am335x-evm and am335x-bone dts files. These patches
are based on Tony L "devel-dt" tree with these patches
http://www.mail-archive.com/linux-omap at vger.kernel.org/msg73843.html
and these patches has been tested on AM335x EVM and Bone devices.
From: Stephen Warren <hidden> Date: 2012-08-21 15:48:21
On 08/21/2012 05:17 AM, AnilKumar Ch wrote:
Add device tree data for tps65910 regulator by adding all tps65910
regulator nodes. Regulator is initialized based on compatiable
name provided in tps65910 DT file.
All tps65910 PMIC regulator device tree nodes are placed in a
seperate device tree include file (tps65910.dtsi). This patch
was tested on AM335x-EVM.
This .dtsi file adds a node for every single regulator within the
TPS65910, which in turn means that of_regulator_match() will find a node
for every regulator, and in turn every regulator will be registered. On
some boards, not all of those regulators will be used, and hence we
don't want all of them to be registered.
If we backport the /delete-node/ feature I implemented, perhaps we could
solve that; see:
http://comments.gmane.org/gmane.linux.drivers.devicetree/19170
I wonder if there shouldn't be some better common location for .dtsi
files that are ancilliary chips, rather than ARM-specific?
+&tps {
+ compatible = "ti,tps65910";
Perhaps this file should expect some more unique label than just "tps".
Many boards have many power-related chips, all with model names that
start with "tps"; I foresee conflict here.
If dtc allowed /include/ inside a node rather than just at the
top-level, that might solve this. Or, #defines to the board .dts could
define the label name, and the .dtsi reference that label name.
From: Mark Brown <hidden> Date: 2012-08-21 16:38:05
On Tue, Aug 21, 2012 at 09:48:21AM -0600, Stephen Warren wrote:
This .dtsi file adds a node for every single regulator within the
TPS65910, which in turn means that of_regulator_match() will find a node
for every regulator, and in turn every regulator will be registered. On
some boards, not all of those regulators will be used, and hence we
don't want all of them to be registered.
This isn't the general view for the regualtor API - we generally want
all regulators to be registered in order to allow us to see what's going
on with things even if we've not figured them out from software.
If dtc allowed /include/ inside a node rather than just at the
top-level, that might solve this. Or, #defines to the board .dts could
define the label name, and the .dtsi reference that label name.
From: Stephen Warren <hidden> Date: 2012-08-21 18:05:15
On 08/21/2012 10:38 AM, Mark Brown wrote:
On Tue, Aug 21, 2012 at 09:48:21AM -0600, Stephen Warren wrote:
quoted
This .dtsi file adds a node for every single regulator within
the TPS65910, which in turn means that of_regulator_match() will
find a node for every regulator, and in turn every regulator will
be registered. On some boards, not all of those regulators will
be used, and hence we don't want all of them to be registered.
This isn't the general view for the regualtor API - we generally
want all regulators to be registered in order to allow us to see
what's going on with things even if we've not figured them out from
software.
Oh, I said the above specifically because when I added the LDO
configuration for the regulators that weren't used to the Tegra .dts
files, you told me to remove it, based on the comment I put in there
that they weren't used on the board.
From: Mark Brown <hidden> Date: 2012-08-21 18:08:47
On Tue, Aug 21, 2012 at 12:05:15PM -0600, Stephen Warren wrote:
On 08/21/2012 10:38 AM, Mark Brown wrote:
quoted
This isn't the general view for the regualtor API - we generally
want all regulators to be registered in order to allow us to see
what's going on with things even if we've not figured them out from
software.
Oh, I said the above specifically because when I added the LDO
configuration for the regulators that weren't used to the Tegra .dts
files, you told me to remove it, based on the comment I put in there
that they weren't used on the board.
The board shouldn't have to define the regulators, the regulator driver
really ought to be able to figure out that they're there by itself if
there's no configuration based purely on knowing which chip is there.
From that point of view it's OK for the chip .dtsi to have them (though
Op 21 aug. 2012, om 13:17 heeft AnilKumar Ch [off-list ref] het volgende geschreven:
Add tps65217 regulator device tree data to AM335x-Bone by adding
regulator consumers with tightened constraints and regulator-name.
TPS65217 regulator handle can be obtained by using this regulator
name.
This patch also add I2C node with I2C frequency and tps65217 PMIC
I2C slave address.
Signed-off-by: AnilKumar Ch <redacted>
I tried this and the kernel immediately crashes on my beaglebone. Could you upload the complete git tree and .config you used to test this to somewhere public please?
Hi Koen,
On Thu, Aug 23, 2012 at 19:43:48, Koen Kooi wrote:
Op 21 aug. 2012, om 13:17 heeft AnilKumar Ch [off-list ref] het volgende geschreven:
quoted
Add tps65217 regulator device tree data to AM335x-Bone by adding
regulator consumers with tightened constraints and regulator-name.
TPS65217 regulator handle can be obtained by using this regulator
name.
This patch also add I2C node with I2C frequency and tps65217 PMIC
I2C slave address.
Signed-off-by: AnilKumar Ch <redacted>
I tried this and the kernel immediately crashes on my beaglebone. Could you upload the complete git tree and .config you used to test this to somewhere public please?
Op 24 aug. 2012, om 07:50 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
Hi Koen,
On Thu, Aug 23, 2012 at 19:43:48, Koen Kooi wrote:
quoted
Op 21 aug. 2012, om 13:17 heeft AnilKumar Ch [off-list ref] het volgende geschreven:
quoted
Add tps65217 regulator device tree data to AM335x-Bone by adding
regulator consumers with tightened constraints and regulator-name.
TPS65217 regulator handle can be obtained by using this regulator
name.
This patch also add I2C node with I2C frequency and tps65217 PMIC
I2C slave address.
Signed-off-by: AnilKumar Ch <redacted>
I tried this and the kernel immediately crashes on my beaglebone. Could you upload the complete git tree and .config you used to test this to somewhere public please?
I used that repo and as a seperate test I rebased that to latest mainline, same thing: as soon as I turn on the TPS in the .config it crashes on boot. Is the pinctrl repo the *exact* repo you used to test the patches on beaglebone?
Hi Koen,
On Fri, Aug 24, 2012 at 11:58:34, Koen Kooi wrote:
Op 24 aug. 2012, om 07:50 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,
On Thu, Aug 23, 2012 at 19:43:48, Koen Kooi wrote:
quoted
Op 21 aug. 2012, om 13:17 heeft AnilKumar Ch [off-list ref] het volgende geschreven:
quoted
Add tps65217 regulator device tree data to AM335x-Bone by adding
regulator consumers with tightened constraints and regulator-name.
TPS65217 regulator handle can be obtained by using this regulator
name.
This patch also add I2C node with I2C frequency and tps65217 PMIC
I2C slave address.
Signed-off-by: AnilKumar Ch <redacted>
I tried this and the kernel immediately crashes on my beaglebone. Could you upload the complete git tree and .config you used to test this to somewhere public please?
I used that repo and as a seperate test I rebased that to latest mainline, same thing: as soon as I turn on the TPS in the .config it crashes on boot. Is the pinctrl repo the *exact* repo you used to test the patches on beaglebone?
I tested on latest mainline after merging to
am335x-upstream-staging-pinctrl (voltage also changing)
Can you share your .config and uImage?
My config details:- (After merge)
1. omap2plus_defconfig
2. Enable tps65217 MFD driver
3. Enable tps65217 regulator driver
Thanks
AnilKumar
Op 24 aug. 2012, om 09:26 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
Hi Koen,
On Fri, Aug 24, 2012 at 11:58:34, Koen Kooi wrote:
quoted
Op 24 aug. 2012, om 07:50 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,
On Thu, Aug 23, 2012 at 19:43:48, Koen Kooi wrote:
quoted
Op 21 aug. 2012, om 13:17 heeft AnilKumar Ch [off-list ref] het volgende geschreven:
quoted
Add tps65217 regulator device tree data to AM335x-Bone by adding
regulator consumers with tightened constraints and regulator-name.
TPS65217 regulator handle can be obtained by using this regulator
name.
This patch also add I2C node with I2C frequency and tps65217 PMIC
I2C slave address.
Signed-off-by: AnilKumar Ch <redacted>
I tried this and the kernel immediately crashes on my beaglebone. Could you upload the complete git tree and .config you used to test this to somewhere public please?
I used that repo and as a seperate test I rebased that to latest mainline, same thing: as soon as I turn on the TPS in the .config it crashes on boot. Is the pinctrl repo the *exact* repo you used to test the patches on beaglebone?
I tested on latest mainline after merging to
am335x-upstream-staging-pinctrl (voltage also changing)
Can you share your .config and uImage?
I rebased onto latest mainline and refreshed the base patches from Vaibhav and I now get:
[ 0.246796] tps65217 0-0024: TPS65217 ID 0xf version 1.1
So it boots! I don't know what made it break before, but it's working now :)
regards,
Koen
Op 24 aug. 2012, om 09:56 heeft Koen Kooi [off-list ref] het volgende geschreven:
Op 24 aug. 2012, om 09:26 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,
On Fri, Aug 24, 2012 at 11:58:34, Koen Kooi wrote:
quoted
Op 24 aug. 2012, om 07:50 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,
On Thu, Aug 23, 2012 at 19:43:48, Koen Kooi wrote:
quoted
Op 21 aug. 2012, om 13:17 heeft AnilKumar Ch [off-list ref] het volgende geschreven:
quoted
Add tps65217 regulator device tree data to AM335x-Bone by adding
regulator consumers with tightened constraints and regulator-name.
TPS65217 regulator handle can be obtained by using this regulator
name.
This patch also add I2C node with I2C frequency and tps65217 PMIC
I2C slave address.
Signed-off-by: AnilKumar Ch <redacted>
I tried this and the kernel immediately crashes on my beaglebone. Could you upload the complete git tree and .config you used to test this to somewhere public please?
I used that repo and as a seperate test I rebased that to latest mainline, same thing: as soon as I turn on the TPS in the .config it crashes on boot. Is the pinctrl repo the *exact* repo you used to test the patches on beaglebone?
I tested on latest mainline after merging to
am335x-upstream-staging-pinctrl (voltage also changing)
Can you share your .config and uImage?
I rebased onto latest mainline and refreshed the base patches from Vaibhav and I now get:
[ 0.246796] tps65217 0-0024: TPS65217 ID 0xf version 1.1
So it boots! I don't know what made it break before, but it's working now :)
*sigh* I'm an idiot:
root at beaglebone:~# uname -a
Linux beaglebone 3.6.0-rc3-00103-gfd02083 #86 SMP Fri Aug 24 09:45:54 CEST 2012 armv7l GNU/Linux
root at beaglebone:~# zcat /proc/config.gz | grep 217
CONFIG_MFD_TPS65217=y
# CONFIG_REGULATOR_TPS65217 is not set
Will retry with regulator driver actually turned on in a bit.
On Tue, Aug 21, 2012 at 12:05:15PM -0600, Stephen Warren wrote:
quoted
On 08/21/2012 10:38 AM, Mark Brown wrote:
quoted
quoted
This isn't the general view for the regualtor API - we generally
want all regulators to be registered in order to allow us to see
what's going on with things even if we've not figured them out from
software.
quoted
Oh, I said the above specifically because when I added the LDO
configuration for the regulators that weren't used to the Tegra .dts
files, you told me to remove it, based on the comment I put in there
that they weren't used on the board.
The board shouldn't have to define the regulators, the regulator driver
really ought to be able to figure out that they're there by itself if
there's no configuration based purely on knowing which chip is there.
From that point of view it's OK for the chip .dtsi to have them (though
ideally the driver wouldn't *need* that either) which was what was
happening here.
So I assume no changes needed here then?
Regards,
Tony
From: Mark Brown <hidden> Date: 2012-08-27 16:51:38
On Fri, Aug 24, 2012 at 01:16:34PM -0700, Tony Lindgren wrote:
* Mark Brown [off-list ref] [120821 11:09]:
quoted
The board shouldn't have to define the regulators, the regulator driver
really ought to be able to figure out that they're there by itself if
there's no configuration based purely on knowing which chip is there.
From that point of view it's OK for the chip .dtsi to have them (though
ideally the driver wouldn't *need* that either) which was what was
happening here.
Hi Koen,
On Fri, Aug 24, 2012 at 13:32:17, Koen Kooi wrote:
Op 24 aug. 2012, om 09:56 heeft Koen Kooi [off-list ref] het volgende geschreven:
quoted
Op 24 aug. 2012, om 09:26 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,
On Fri, Aug 24, 2012 at 11:58:34, Koen Kooi wrote:
quoted
Op 24 aug. 2012, om 07:50 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,
On Thu, Aug 23, 2012 at 19:43:48, Koen Kooi wrote:
quoted
Op 21 aug. 2012, om 13:17 heeft AnilKumar Ch [off-list ref] het volgende geschreven:
quoted
Add tps65217 regulator device tree data to AM335x-Bone by adding
regulator consumers with tightened constraints and regulator-name.
TPS65217 regulator handle can be obtained by using this regulator
name.
This patch also add I2C node with I2C frequency and tps65217 PMIC
I2C slave address.
Signed-off-by: AnilKumar Ch <redacted>
I tried this and the kernel immediately crashes on my beaglebone. Could you upload the complete git tree and .config you used to test this to somewhere public please?
I used that repo and as a seperate test I rebased that to latest mainline, same thing: as soon as I turn on the TPS in the .config it crashes on boot. Is the pinctrl repo the *exact* repo you used to test the patches on beaglebone?
I tested on latest mainline after merging to
am335x-upstream-staging-pinctrl (voltage also changing)
Can you share your .config and uImage?
I rebased onto latest mainline and refreshed the base patches from Vaibhav and I now get:
[ 0.246796] tps65217 0-0024: TPS65217 ID 0xf version 1.1
So it boots! I don't know what made it break before, but it's working now :)
*sigh* I'm an idiot:
root at beaglebone:~# uname -a
Linux beaglebone 3.6.0-rc3-00103-gfd02083 #86 SMP Fri Aug 24 09:45:54 CEST 2012 armv7l GNU/Linux
root at beaglebone:~# zcat /proc/config.gz | grep 217
CONFIG_MFD_TPS65217=y
# CONFIG_REGULATOR_TPS65217 is not set
Will retry with regulator driver actually turned on in a bit.
Is it working after enabling the regulator?
Thanks
AnilKumar
On Tue, Aug 21, 2012 at 04:47:26PM +0530, AnilKumar Ch wrote:
quoted
This patch series add AM33XX regulators (tps65910/tps65217) device
tree data to am335x-evm and am335x-bone dts files. These patches
are based on Tony L "devel-dt" tree with these patches
http://www.mail-archive.com/linux-omap at vger.kernel.org/msg73843.html
and these patches has been tested on AM335x EVM and Bone devices.
Op 28 aug. 2012, om 07:34 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
Hi Koen,
On Fri, Aug 24, 2012 at 13:32:17, Koen Kooi wrote:
quoted
Op 24 aug. 2012, om 09:56 heeft Koen Kooi [off-list ref] het volgende geschreven:
quoted
Op 24 aug. 2012, om 09:26 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,
On Fri, Aug 24, 2012 at 11:58:34, Koen Kooi wrote:
quoted
Op 24 aug. 2012, om 07:50 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,
On Thu, Aug 23, 2012 at 19:43:48, Koen Kooi wrote:
quoted
Op 21 aug. 2012, om 13:17 heeft AnilKumar Ch [off-list ref] het volgende geschreven:
quoted
Add tps65217 regulator device tree data to AM335x-Bone by adding
regulator consumers with tightened constraints and regulator-name.
TPS65217 regulator handle can be obtained by using this regulator
name.
This patch also add I2C node with I2C frequency and tps65217 PMIC
I2C slave address.
Signed-off-by: AnilKumar Ch <redacted>
I tried this and the kernel immediately crashes on my beaglebone. Could you upload the complete git tree and .config you used to test this to somewhere public please?
I used that repo and as a seperate test I rebased that to latest mainline, same thing: as soon as I turn on the TPS in the .config it crashes on boot. Is the pinctrl repo the *exact* repo you used to test the patches on beaglebone?
I tested on latest mainline after merging to
am335x-upstream-staging-pinctrl (voltage also changing)
Can you share your .config and uImage?
I rebased onto latest mainline and refreshed the base patches from Vaibhav and I now get:
[ 0.246796] tps65217 0-0024: TPS65217 ID 0xf version 1.1
So it boots! I don't know what made it break before, but it's working now :)
*sigh* I'm an idiot:
root at beaglebone:~# uname -a
Linux beaglebone 3.6.0-rc3-00103-gfd02083 #86 SMP Fri Aug 24 09:45:54 CEST 2012 armv7l GNU/Linux
root at beaglebone:~# zcat /proc/config.gz | grep 217
CONFIG_MFD_TPS65217=y
# CONFIG_REGULATOR_TPS65217 is not set
Will retry with regulator driver actually turned on in a bit.
Is it working after enabling the regulator?
It took me a while to get back to this problem, but it still isn't working for me. I did manage to get more info on the error:
root at bone-mainline:~# insmod tps65217-regulator.ko
[ 32.754419] Unable to handle kernel NULL pointer dereference at virtual address 000000c8
[ 32.763087] pgd = cea60000
[ 32.765969] [000000c8] *pgd=8fbed831, *pte=00000000, *ppte=00000000
[ 32.772617] Internal error: Oops: 17 [#1] SMP THUMB2
[ 32.777827] Modules linked in: tps65217_regulator(+) ip_tables x_tables snd_soc_omap snd_soc_core regmap_spi snd_pcm snd_timer snd soundcore snd_page_alloc ipv6
[ 32.792976] CPU: 0 Not tainted (3.6.0-rc4 #109)
[ 32.798106] PC is at regmap_read+0x8/0x38
[ 32.802315] LR is at regulator_get_voltage_sel_regmap+0x15/0x38
[ 32.808525] pc : [<c0233c8c>] lr : [<c0208619>] psr: 60000033
[ 32.808525] sp : ceb2fd20 ip : 00000000 fp : c0ba6168
[ 32.820565] r10: c0619fac r9 : cf926840 r8 : cf0278b0
[ 32.826045] r7 : cf92c008 r6 : cf115d40 r5 : 0000000e r4 : 00000000
[ 32.832892] r3 : bf946440 r2 : ceb2fd34 r1 : 0000000e r0 : 0000000e
[ 32.839740] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA Thumb Segment user
[ 32.847406] Control: 50c5387d Table: 8ea60019 DAC: 00000015
[ 32.853431] Process insmod (pid: 176, stack limit = 0xceb2e2f8)
[ 32.859638] Stack: (0xceb2fd20 to 0xceb30000)
[ 32.864214] fd20: cf027800 bf946440 cf115d40 c0208619 00000001 c00a59b1 cf027800 c0206cc3
[ 32.872796] fd40: cf027800 c0209d65 c00fefcb 00000000 c0626ef0 ceb2fd7c cf027810 00000000
[ 32.881379] fd60: 00000000 c00fefcb c0379721 ceb28b40 00000001 c061bf74 60000013 00000000
[ 32.889961] fd80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 32.898542] fda0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 32.907128] fdc0: 00000000 00000000 00000000 00000000 cf072950 00000044 cf92c008 c0db8fd0
[ 32.915712] fde0: bf946440 bf948001 00000028 00000030 000003fb bf946397 cf92c008 cf926840
[ 32.924296] fe00: cf92c410 c0db8fd0 00000000 00000000 00000000 00000000 bf946768 cf92c008
[ 32.932878] fe20: c0baa0b0 c0baa0c0 bf946768 c022af2b c022af19 c022a30d 00000000 cf92c008
[ 32.941460] fe40: bf946768 cf92c03c 00000000 bf948001 00000028 c022a49d bf946768 c022a44d
[ 32.950041] fe60: 00000000 c0229375 cf81a0a8 cf926810 bf946768 c062d2d8 cea25dc0 c0229cf1
[ 32.958623] fe80: bf94665c bf946768 bf946768 bf946854 ceb2e000 00000000 bf948001 c022a839
[ 32.967204] fea0: 00000000 c0648640 bf946854 ceb2e000 00000000 bf948001 00000028 bf948009
[ 32.975787] fec0: 00000000 c00085ed bf946854 c0047b4b 00000000 cd8fa780 cf8001c0 00000000
[ 32.984367] fee0: bf94689c bf946854 00000001 ceb4ef00 00000001 00000030 000003fb c006c94b
[ 32.992947] ff00: bf946860 00007fff c006bd2d c0008311 00000002 c0b6bff4 bf9469a8 ceb2e000
[ 33.001527] ff20: 00012008 00012008 d0e80000 00019f6b d0e93310 d0e9308b d0e99b70 000009bc
[ 33.010108] ff40: 00000c2c 00000000 00000000 0000003b 0000003c 00000021 0000001e 0000001c
[ 33.018687] ff60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 c052ba38
[ 33.027267] ff80: 00008a28 00008a28 00012008 bede2eb0 00000080 c000cac4 ceb2e000 00000000
[ 33.035844] ffa0: 00000000 c000c921 00008a28 00012008 00012018 00019f6b 00012008 b6f5f248
[ 33.044426] ffc0: 00008a28 00012008 bede2eb0 00000080 00020000 00000000 00000003 00000000
[ 33.053004] ffe0: 00019f6b bede2c3c 00008c9c b6efd654 60000010 00012018 0070756b 000193fe
[ 33.061592] [<c0233c8c>] (regmap_read+0x8/0x38) from [<c0208619>] (regulator_get_voltage_sel_regmap+0x15/0x38)
[ 33.072101] [<c0208619>] (regulator_get_voltage_sel_regmap+0x15/0x38) from [<c0206cc3>] (_regulator_get_voltage+0xf/0x40)
[ 33.083604] [<c0206cc3>] (_regulator_get_voltage+0xf/0x40) from [<c0209d65>] (regulator_register+0x471/0xe98)
[ 33.094028] [<c0209d65>] (regulator_register+0x471/0xe98) from [<bf946397>] (tps65217_regulator_probe+0x5a/0x74 [tps65217_regulator])
[ 33.106640] [<bf946397>] (tps65217_regulator_probe+0x5a/0x74 [tps65217_regulator]) from [<c022af2b>] (platform_drv_probe+0x13/0x14)
[ 33.119053] [<c022af2b>] (platform_drv_probe+0x13/0x14) from [<c022a30d>] (driver_probe_device+0x69/0x1a8)
[ 33.129187] [<c022a30d>] (driver_probe_device+0x69/0x1a8) from [<c022a49d>] (__driver_attach+0x51/0x54)
[ 33.139047] [<c022a49d>] (__driver_attach+0x51/0x54) from [<c0229375>] (bus_for_each_dev+0x29/0x44)
[ 33.148544] [<c0229375>] (bus_for_each_dev+0x29/0x44) from [<c0229cf1>] (bus_add_driver+0x7d/0x194)
[ 33.158039] [<c0229cf1>] (bus_add_driver+0x7d/0x194) from [<c022a839>] (driver_register+0x3d/0xc8)
[ 33.167448] [<c022a839>] (driver_register+0x3d/0xc8) from [<bf948009>] (tps65217_regulator_init+0x8/0xf [tps65217_regulator])
[ 33.179320] [<bf948009>] (tps65217_regulator_init+0x8/0xf [tps65217_regulator]) from [<c00085ed>] (do_one_initcall+0x25/0x11c)
[ 33.191279] [<c00085ed>] (do_one_initcall+0x25/0x11c) from [<c006c94b>] (sys_init_module+0x9b/0x13bc)
[ 33.200961] [<c006c94b>] (sys_init_module+0x9b/0x13bc) from [<c000c921>] (ret_fast_syscall+0x1/0x50)
[ 33.210542] Code: b570 4604 460d 4608 (f8d4) 10c8
[ 33.215917] ---[ end trace 59e3bd0a3e19dc28 ]---
Segmentation fault
That's linus' tree + devel-dt + vaibhav am335x base patches.
From: Matt Porter <hidden> Date: 2012-09-05 14:24:34
On Wed, Sep 05, 2012 at 03:29:30PM +0200, Koen Kooi wrote:
Op 28 aug. 2012, om 07:34 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,
On Fri, Aug 24, 2012 at 13:32:17, Koen Kooi wrote:
quoted
Op 24 aug. 2012, om 09:56 heeft Koen Kooi [off-list ref] het volgende geschreven:
quoted
Op 24 aug. 2012, om 09:26 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,
On Fri, Aug 24, 2012 at 11:58:34, Koen Kooi wrote:
quoted
Op 24 aug. 2012, om 07:50 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,
On Thu, Aug 23, 2012 at 19:43:48, Koen Kooi wrote:
quoted
Op 21 aug. 2012, om 13:17 heeft AnilKumar Ch [off-list ref] het volgende geschreven:
quoted
Add tps65217 regulator device tree data to AM335x-Bone by adding
regulator consumers with tightened constraints and regulator-name.
TPS65217 regulator handle can be obtained by using this regulator
name.
This patch also add I2C node with I2C frequency and tps65217 PMIC
I2C slave address.
Signed-off-by: AnilKumar Ch <redacted>
I tried this and the kernel immediately crashes on my beaglebone. Could you upload the complete git tree and .config you used to test this to somewhere public please?
I used that repo and as a seperate test I rebased that to latest mainline, same thing: as soon as I turn on the TPS in the .config it crashes on boot. Is the pinctrl repo the *exact* repo you used to test the patches on beaglebone?
I tested on latest mainline after merging to
am335x-upstream-staging-pinctrl (voltage also changing)
Can you share your .config and uImage?
I rebased onto latest mainline and refreshed the base patches from Vaibhav and I now get:
[ 0.246796] tps65217 0-0024: TPS65217 ID 0xf version 1.1
So it boots! I don't know what made it break before, but it's working now :)
*sigh* I'm an idiot:
root at beaglebone:~# uname -a
Linux beaglebone 3.6.0-rc3-00103-gfd02083 #86 SMP Fri Aug 24 09:45:54 CEST 2012 armv7l GNU/Linux
root at beaglebone:~# zcat /proc/config.gz | grep 217
CONFIG_MFD_TPS65217=y
# CONFIG_REGULATOR_TPS65217 is not set
Will retry with regulator driver actually turned on in a bit.
Is it working after enabling the regulator?
It took me a while to get back to this problem, but it still isn't working for me. I did manage to get more info on the error:
root at bone-mainline:~# insmod tps65217-regulator.ko
[ 32.754419] Unable to handle kernel NULL pointer dereference at virtual address 000000c8
[ 32.763087] pgd = cea60000
[ 32.765969] [000000c8] *pgd=8fbed831, *pte=00000000, *ppte=00000000
[ 32.772617] Internal error: Oops: 17 [#1] SMP THUMB2
[ 32.777827] Modules linked in: tps65217_regulator(+) ip_tables x_tables snd_soc_omap snd_soc_core regmap_spi snd_pcm snd_timer snd soundcore snd_page_alloc ipv6
[ 32.792976] CPU: 0 Not tainted (3.6.0-rc4 #109)
[ 32.798106] PC is at regmap_read+0x8/0x38
[ 32.802315] LR is at regulator_get_voltage_sel_regmap+0x15/0x38
I just got to this same point last night as I needed this working to
test omap_hsmmc with edma dmaengine...
The problem is that the tps65217-regulator driver is handing the wrong
device to regulator_register() and it contains a null regmap. This patch
passes in the the parent dev to fix it. Maybe I missed another patch
that addresses this in a different way, such as the regulator devices
being stuffed with the regmap devres?
-Matt
From 40d118bebc5eaf2a8df4f8b5e113b892a3210f96 Mon Sep 17 00:00:00 2001
From: Matt Porter <redacted>
Date: Wed, 5 Sep 2012 10:09:50 -0400
Subject: [PATCH] regulator: tps65217: fix crash during registration
The struct device for each platform device bound to this
driver is a child to the parent mfd device. The parent device
is the one that actually contains the regmap devres so fix the
null pointer dereference during the first regmap access in
registration by passing in the parent device.
Signed-off-by: Matt Porter <redacted>
---
drivers/regulator/tps65217-regulator.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Op 5 sep. 2012, om 16:24 heeft Matt Porter [off-list ref] het volgende geschreven:
quoted hunk
On Wed, Sep 05, 2012 at 03:29:30PM +0200, Koen Kooi wrote:
quoted
Op 28 aug. 2012, om 07:34 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,
On Fri, Aug 24, 2012 at 13:32:17, Koen Kooi wrote:
quoted
Op 24 aug. 2012, om 09:56 heeft Koen Kooi [off-list ref] het volgende geschreven:
quoted
Op 24 aug. 2012, om 09:26 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,
On Fri, Aug 24, 2012 at 11:58:34, Koen Kooi wrote:
quoted
Op 24 aug. 2012, om 07:50 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,
On Thu, Aug 23, 2012 at 19:43:48, Koen Kooi wrote:
quoted
Op 21 aug. 2012, om 13:17 heeft AnilKumar Ch [off-list ref] het volgende geschreven:
quoted
Add tps65217 regulator device tree data to AM335x-Bone by adding
regulator consumers with tightened constraints and regulator-name.
TPS65217 regulator handle can be obtained by using this regulator
name.
This patch also add I2C node with I2C frequency and tps65217 PMIC
I2C slave address.
Signed-off-by: AnilKumar Ch <redacted>
I tried this and the kernel immediately crashes on my beaglebone. Could you upload the complete git tree and .config you used to test this to somewhere public please?
I used that repo and as a seperate test I rebased that to latest mainline, same thing: as soon as I turn on the TPS in the .config it crashes on boot. Is the pinctrl repo the *exact* repo you used to test the patches on beaglebone?
I tested on latest mainline after merging to
am335x-upstream-staging-pinctrl (voltage also changing)
Can you share your .config and uImage?
I rebased onto latest mainline and refreshed the base patches from Vaibhav and I now get:
[ 0.246796] tps65217 0-0024: TPS65217 ID 0xf version 1.1
So it boots! I don't know what made it break before, but it's working now :)
*sigh* I'm an idiot:
root at beaglebone:~# uname -a
Linux beaglebone 3.6.0-rc3-00103-gfd02083 #86 SMP Fri Aug 24 09:45:54 CEST 2012 armv7l GNU/Linux
root at beaglebone:~# zcat /proc/config.gz | grep 217
CONFIG_MFD_TPS65217=y
# CONFIG_REGULATOR_TPS65217 is not set
Will retry with regulator driver actually turned on in a bit.
Is it working after enabling the regulator?
It took me a while to get back to this problem, but it still isn't working for me. I did manage to get more info on the error:
root at bone-mainline:~# insmod tps65217-regulator.ko
[ 32.754419] Unable to handle kernel NULL pointer dereference at virtual address 000000c8
[ 32.763087] pgd = cea60000
[ 32.765969] [000000c8] *pgd=8fbed831, *pte=00000000, *ppte=00000000
[ 32.772617] Internal error: Oops: 17 [#1] SMP THUMB2
[ 32.777827] Modules linked in: tps65217_regulator(+) ip_tables x_tables snd_soc_omap snd_soc_core regmap_spi snd_pcm snd_timer snd soundcore snd_page_alloc ipv6
[ 32.792976] CPU: 0 Not tainted (3.6.0-rc4 #109)
[ 32.798106] PC is at regmap_read+0x8/0x38
[ 32.802315] LR is at regulator_get_voltage_sel_regmap+0x15/0x38
I just got to this same point last night as I needed this working to
test omap_hsmmc with edma dmaengine...
The problem is that the tps65217-regulator driver is handing the wrong
device to regulator_register() and it contains a null regmap. This patch
passes in the the parent dev to fix it. Maybe I missed another patch
that addresses this in a different way, such as the regulator devices
being stuffed with the regmap devres?
-Matt
From 40d118bebc5eaf2a8df4f8b5e113b892a3210f96 Mon Sep 17 00:00:00 2001
From: Matt Porter <redacted>
Date: Wed, 5 Sep 2012 10:09:50 -0400
Subject: [PATCH] regulator: tps65217: fix crash during registration
The struct device for each platform device bound to this
driver is a child to the parent mfd device. The parent device
is the one that actually contains the regmap devres so fix the
null pointer dereference during the first regmap access in
registration by passing in the parent device.
Signed-off-by: Matt Porter <redacted>
---
drivers/regulator/tps65217-regulator.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
On Wed, Sep 05, 2012 at 19:59:54, Koen Kooi wrote:
Op 5 sep. 2012, om 16:24 heeft Matt Porter [off-list ref] het volgende geschreven:
quoted
On Wed, Sep 05, 2012 at 03:29:30PM +0200, Koen Kooi wrote:
quoted
Op 28 aug. 2012, om 07:34 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,
On Fri, Aug 24, 2012 at 13:32:17, Koen Kooi wrote:
quoted
Op 24 aug. 2012, om 09:56 heeft Koen Kooi [off-list ref] het volgende geschreven:
quoted
Op 24 aug. 2012, om 09:26 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,
On Fri, Aug 24, 2012 at 11:58:34, Koen Kooi wrote:
quoted
Op 24 aug. 2012, om 07:50 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,
On Thu, Aug 23, 2012 at 19:43:48, Koen Kooi wrote:
quoted
Op 21 aug. 2012, om 13:17 heeft AnilKumar Ch [off-list ref] het volgende geschreven:
quoted
Add tps65217 regulator device tree data to AM335x-Bone by adding
regulator consumers with tightened constraints and regulator-name.
TPS65217 regulator handle can be obtained by using this regulator
name.
This patch also add I2C node with I2C frequency and tps65217 PMIC
I2C slave address.
Signed-off-by: AnilKumar Ch <redacted>
I tried this and the kernel immediately crashes on my beaglebone. Could you upload the complete git tree and .config you used to test this to somewhere public please?
I used that repo and as a seperate test I rebased that to latest mainline, same thing: as soon as I turn on the TPS in the .config it crashes on boot. Is the pinctrl repo the *exact* repo you used to test the patches on beaglebone?
I tested on latest mainline after merging to
am335x-upstream-staging-pinctrl (voltage also changing)
Can you share your .config and uImage?
I rebased onto latest mainline and refreshed the base patches from Vaibhav and I now get:
[ 0.246796] tps65217 0-0024: TPS65217 ID 0xf version 1.1
So it boots! I don't know what made it break before, but it's working now :)
*sigh* I'm an idiot:
root at beaglebone:~# uname -a
Linux beaglebone 3.6.0-rc3-00103-gfd02083 #86 SMP Fri Aug 24 09:45:54 CEST 2012 armv7l GNU/Linux
root at beaglebone:~# zcat /proc/config.gz | grep 217
CONFIG_MFD_TPS65217=y
# CONFIG_REGULATOR_TPS65217 is not set
Will retry with regulator driver actually turned on in a bit.
Is it working after enabling the regulator?
It took me a while to get back to this problem, but it still isn't working for me. I did manage to get more info on the error:
root at bone-mainline:~# insmod tps65217-regulator.ko
[ 32.754419] Unable to handle kernel NULL pointer dereference at virtual address 000000c8
[ 32.763087] pgd = cea60000
[ 32.765969] [000000c8] *pgd=8fbed831, *pte=00000000, *ppte=00000000
[ 32.772617] Internal error: Oops: 17 [#1] SMP THUMB2
[ 32.777827] Modules linked in: tps65217_regulator(+) ip_tables x_tables snd_soc_omap snd_soc_core regmap_spi snd_pcm snd_timer snd soundcore snd_page_alloc ipv6
[ 32.792976] CPU: 0 Not tainted (3.6.0-rc4 #109)
[ 32.798106] PC is at regmap_read+0x8/0x38
[ 32.802315] LR is at regulator_get_voltage_sel_regmap+0x15/0x38
I just got to this same point last night as I needed this working to
test omap_hsmmc with edma dmaengine...
The problem is that the tps65217-regulator driver is handing the wrong
device to regulator_register() and it contains a null regmap. This patch
passes in the the parent dev to fix it. Maybe I missed another patch
that addresses this in a different way, such as the regulator devices
being stuffed with the regmap devres?
-Matt
From 40d118bebc5eaf2a8df4f8b5e113b892a3210f96 Mon Sep 17 00:00:00 2001
From: Matt Porter <redacted>
Date: Wed, 5 Sep 2012 10:09:50 -0400
Subject: [PATCH] regulator: tps65217: fix crash during registration
The struct device for each platform device bound to this
driver is a child to the parent mfd device. The parent device
is the one that actually contains the regmap devres so fix the
null pointer dereference during the first regmap access in
registration by passing in the parent device.
Signed-off-by: Matt Porter <redacted>
---
drivers/regulator/tps65217-regulator.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
From: Matt Porter <hidden> Date: 2012-09-10 16:26:08
On Sat, Sep 08, 2012 at 06:38:21AM +0000, AnilKumar, Chimata wrote:
On Wed, Sep 05, 2012 at 19:59:54, Koen Kooi wrote:
quoted
Op 5 sep. 2012, om 16:24 heeft Matt Porter [off-list ref] het volgende geschreven:
quoted
On Wed, Sep 05, 2012 at 03:29:30PM +0200, Koen Kooi wrote:
quoted
Op 28 aug. 2012, om 07:34 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,
On Fri, Aug 24, 2012 at 13:32:17, Koen Kooi wrote:
quoted
Op 24 aug. 2012, om 09:56 heeft Koen Kooi [off-list ref] het volgende geschreven:
quoted
Op 24 aug. 2012, om 09:26 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,
On Fri, Aug 24, 2012 at 11:58:34, Koen Kooi wrote:
quoted
Op 24 aug. 2012, om 07:50 heeft "AnilKumar, Chimata" [off-list ref] het volgende geschreven:
quoted
Hi Koen,
On Thu, Aug 23, 2012 at 19:43:48, Koen Kooi wrote:
quoted
Op 21 aug. 2012, om 13:17 heeft AnilKumar Ch [off-list ref] het volgende geschreven:
quoted
Add tps65217 regulator device tree data to AM335x-Bone by adding
regulator consumers with tightened constraints and regulator-name.
TPS65217 regulator handle can be obtained by using this regulator
name.
This patch also add I2C node with I2C frequency and tps65217 PMIC
I2C slave address.
Signed-off-by: AnilKumar Ch <redacted>
I tried this and the kernel immediately crashes on my beaglebone. Could you upload the complete git tree and .config you used to test this to somewhere public please?
I used that repo and as a seperate test I rebased that to latest mainline, same thing: as soon as I turn on the TPS in the .config it crashes on boot. Is the pinctrl repo the *exact* repo you used to test the patches on beaglebone?
I tested on latest mainline after merging to
am335x-upstream-staging-pinctrl (voltage also changing)
Can you share your .config and uImage?
I rebased onto latest mainline and refreshed the base patches from Vaibhav and I now get:
[ 0.246796] tps65217 0-0024: TPS65217 ID 0xf version 1.1
So it boots! I don't know what made it break before, but it's working now :)
*sigh* I'm an idiot:
root at beaglebone:~# uname -a
Linux beaglebone 3.6.0-rc3-00103-gfd02083 #86 SMP Fri Aug 24 09:45:54 CEST 2012 armv7l GNU/Linux
root at beaglebone:~# zcat /proc/config.gz | grep 217
CONFIG_MFD_TPS65217=y
# CONFIG_REGULATOR_TPS65217 is not set
Will retry with regulator driver actually turned on in a bit.
Is it working after enabling the regulator?
It took me a while to get back to this problem, but it still isn't working for me. I did manage to get more info on the error:
root at bone-mainline:~# insmod tps65217-regulator.ko
[ 32.754419] Unable to handle kernel NULL pointer dereference at virtual address 000000c8
[ 32.763087] pgd = cea60000
[ 32.765969] [000000c8] *pgd=8fbed831, *pte=00000000, *ppte=00000000
[ 32.772617] Internal error: Oops: 17 [#1] SMP THUMB2
[ 32.777827] Modules linked in: tps65217_regulator(+) ip_tables x_tables snd_soc_omap snd_soc_core regmap_spi snd_pcm snd_timer snd soundcore snd_page_alloc ipv6
[ 32.792976] CPU: 0 Not tainted (3.6.0-rc4 #109)
[ 32.798106] PC is at regmap_read+0x8/0x38
[ 32.802315] LR is at regulator_get_voltage_sel_regmap+0x15/0x38
I just got to this same point last night as I needed this working to
test omap_hsmmc with edma dmaengine...
The problem is that the tps65217-regulator driver is handing the wrong
device to regulator_register() and it contains a null regmap. This patch
passes in the the parent dev to fix it. Maybe I missed another patch
that addresses this in a different way, such as the regulator devices
being stuffed with the regmap devres?
-Matt
From 40d118bebc5eaf2a8df4f8b5e113b892a3210f96 Mon Sep 17 00:00:00 2001
From: Matt Porter <redacted>
Date: Wed, 5 Sep 2012 10:09:50 -0400
Subject: [PATCH] regulator: tps65217: fix crash during registration
The struct device for each platform device bound to this
driver is a child to the parent mfd device. The parent device
is the one that actually contains the regmap devres so fix the
null pointer dereference during the first regmap access in
registration by passing in the parent device.
Signed-off-by: Matt Porter <redacted>
---
drivers/regulator/tps65217-regulator.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)