Skip to content

Commit

Permalink
ARM: vexpress: Add fixed regulator for SMSC
Browse files Browse the repository at this point in the history
SMSC driver requires "vdd33a" and "vddvario" regulator supplies now.

Add fixed regulator describing 3V3 power line (in both motherboard's
Device Trees and the non-DT code) and force fixed regulator config
option if regulators framework is enabled.

Signed-off-by: Pawel Moll <pawel.moll@arm.com>
  • Loading branch information
Pawel Moll committed Jul 13, 2012
1 parent b7541a9 commit b2a54ff
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 0 deletions.
1 change: 1 addition & 0 deletions arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,7 @@ config ARCH_VEXPRESS
select NO_IOPORT
select PLAT_VERSATILE
select PLAT_VERSATILE_CLCD
select REGULATOR_FIXED_VOLTAGE if REGULATOR
help
This enables support for the ARM Ltd Versatile Express boards.

Expand Down
10 changes: 10 additions & 0 deletions arch/arm/boot/dts/vexpress-v2m-rs1.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@
reg-io-width = <4>;
smsc,irq-active-high;
smsc,irq-push-pull;
vdd33a-supply = <&v2m_fixed_3v3>;
vddvario-supply = <&v2m_fixed_3v3>;
};

usb@2,03000000 {
Expand Down Expand Up @@ -198,5 +200,13 @@
interrupts = <14>;
};
};

v2m_fixed_3v3: fixedregulator@0 {
compatible = "regulator-fixed";
regulator-name = "3V3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
};
};
10 changes: 10 additions & 0 deletions arch/arm/boot/dts/vexpress-v2m.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@
reg-io-width = <4>;
smsc,irq-active-high;
smsc,irq-push-pull;
vdd33a-supply = <&v2m_fixed_3v3>;
vddvario-supply = <&v2m_fixed_3v3>;
};

usb@3,03000000 {
Expand Down Expand Up @@ -197,5 +199,13 @@
interrupts = <14>;
};
};

v2m_fixed_3v3: fixedregulator@0 {
compatible = "regulator-fixed";
regulator-name = "3V3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
};
};
10 changes: 10 additions & 0 deletions arch/arm/mach-vexpress/v2m.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
#include <linux/clkdev.h>
#include <linux/clk-provider.h>
#include <linux/mtd/physmap.h>
#include <linux/regulator/fixed.h>
#include <linux/regulator/machine.h>

#include <asm/arch_timer.h>
#include <asm/mach-types.h>
Expand Down Expand Up @@ -199,6 +201,11 @@ static struct platform_device v2m_eth_device = {
.dev.platform_data = &v2m_eth_config,
};

static struct regulator_consumer_supply v2m_eth_supplies[] = {
REGULATOR_SUPPLY("vddvario", "smsc911x"),
REGULATOR_SUPPLY("vdd33a", "smsc911x"),
};

static struct resource v2m_usb_resources[] = {
{
.start = V2M_ISP1761,
Expand Down Expand Up @@ -503,6 +510,9 @@ static void __init v2m_init(void)
{
int i;

regulator_register_fixed(0, v2m_eth_supplies,
ARRAY_SIZE(v2m_eth_supplies));

platform_device_register(&v2m_pcie_i2c_device);
platform_device_register(&v2m_ddc_i2c_device);
platform_device_register(&v2m_flash_device);
Expand Down

0 comments on commit b2a54ff

Please sign in to comment.