---
arch/arm/mach-at91/board-sam9g20ek.c | 53 ++++++++++++++++++++++++++++++++
arch/arm/mach-pxa/stargate2.c | 19 +++++++++++
arch/powerpc/boot/dts/mpc8349emitx.dts | 14 ++++++++
arch/powerpc/boot/wrapper | 1 +
4 files changed, 87 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-at91/board-sam9g20ek.c
b/arch/arm/mach-at91/board-sam9g20ek.c
index ca8198b..086f7a2 100644
--- a/arch/arm/mach-at91/board-sam9g20ek.c
+++ b/arch/arm/mach-at91/board-sam9g20ek.c
@@ -105,6 +105,11 @@ static struct at91_udc_data __initdata ek_udc_data = {
/*
* SPI devices.
*/
+static struct at86rf230_platform_data rf231_pdata = {
+ .rstn = AT91_PIN_PB10,
+ .slp_tr = AT91_PIN_PB11,
+ .dig2 = AT91_PIN_PB12,
+};
static struct spi_board_info ek_spi_devices[] = {
#if !(defined(CONFIG_MMC_ATMELMCI) || defined(CONFIG_MMC_AT91))
{ /* DataFlash chip */
@@ -122,6 +127,14 @@ static struct spi_board_info ek_spi_devices[] = {
},
#endif
#endif
+ {
+ .modalias = "at86rf230",
+ .chip_select = 3,
+ .max_speed_hz = 3 * 1000 * 1000,
+ .bus_num = 1,
+ .irq = AT91_PIN_PB13,
+ .platform_data = &rf231_pdata,
+ },
};
@@ -363,6 +376,46 @@ static void __init ek_add_regulators(void)
static void __init ek_add_regulators(void) {}
#endif
+#if defined(CONFIG_REGULATOR_FIXED_VOLTAGE) ||
defined(CONFIG_REGULATOR_FIXED_VOLTAGE_MODULE)
+static struct regulator_consumer_supply ek_audio_consumer_supplies[] = {
+ REGULATOR_SUPPLY("AVDD", "0-001b"),
+ REGULATOR_SUPPLY("HPVDD", "0-001b"),
+ REGULATOR_SUPPLY("DBVDD", "0-001b"),
+ REGULATOR_SUPPLY("DCVDD", "0-001b"),
+};
+
+static struct regulator_init_data ek_avdd_reg_init_data = {
+ .constraints = {
+ .name = "3V3",
+ .valid_ops_mask = REGULATOR_CHANGE_STATUS,
+ },
+ .consumer_supplies = ek_audio_consumer_supplies,
+ .num_consumer_supplies = ARRAY_SIZE(ek_audio_consumer_supplies),
+};
+
+static struct fixed_voltage_config ek_vdd_pdata = {
+ .supply_name = "board-3V3",
+ .microvolts = 3300000,
+ .gpio = -EINVAL,
+ .enabled_at_boot = 0,
+ .init_data = &ek_avdd_reg_init_data,
+};
+static struct platform_device ek_voltage_regulator = {
+ .name = "reg-fixed-voltage",
+ .id = -1,
+ .num_resources = 0,
+ .dev = {
+ .platform_data = &ek_vdd_pdata,
+ },
+};
+static void __init ek_add_regulators(void)
+{
+ platform_device_register(&ek_voltage_regulator);
+}
+#else
+static void __init ek_add_regulators(void) {}
+#endif
+
static struct i2c_board_info __initdata ek_i2c_devices[] = {
{
diff --git a/arch/arm/mach-pxa/stargate2.c b/arch/arm/mach-pxa/stargate2.c
index 9a14fdb..cb8bf8d 100644
--- a/arch/arm/mach-pxa/stargate2.c
+++ b/arch/arm/mach-pxa/stargate2.c
@@ -53,6 +53,7 @@
#include <linux/spi/pxa2xx_spi.h>
#include <linux/mfd/da903x.h>
#include <linux/sht15.h>
+#include <linux/spi/cc2420.h>
#include "devices.h"
#include "generic.h"
@@ -369,6 +370,22 @@ static struct pxa2xx_spi_chip cc2420_info = {
.gpio_cs = 39,
};
+#define GPIO_FIFOP 0
+#define GPIO_SFD 16
+#define GPIO_RESET 22
+#define GPIO_FIFO 114
+#define GPIO_VREG 115
+#define GPIO_CCA 116
+
+static struct cc2420_platform_data cc2420_pdata = {
+ .fifo = GPIO_FIFO,
+ .cca = GPIO_CCA,
+ .fifop = GPIO_FIFOP,
+ .sfd = GPIO_SFD,
+ .reset = GPIO_RESET,
+ .vreg = GPIO_VREG,
+};
+
static struct spi_board_info spi_board_info[] __initdata = {
{
.modalias = "lis3l02dq",
@@ -383,6 +400,8 @@ static struct spi_board_info spi_board_info[] __initdata = {
.bus_num = 3,
.chip_select = 0,
.controller_data = &cc2420_info,
+ .platform_data = &cc2420_pdata,
+
},
};
diff --git a/arch/powerpc/boot/dts/mpc8349emitx.dts
b/arch/powerpc/boot/dts/mpc8349emitx.dts
index b53d1df..47a902a 100644
--- a/arch/powerpc/boot/dts/mpc8349emitx.dts
+++ b/arch/powerpc/boot/dts/mpc8349emitx.dts
@@ -145,11 +145,25 @@
spi@7000 {
cell-index = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
compatible = "fsl,spi";
reg = <0x7000 0x1000>;
interrupts = <16 0x8>;
interrupt-parent = <&ipic>;
+ gpios = <&gpio1 11 0>;
mode = "cpu";
+
+ radio@0 {
+ compatible = "atmel,at86rf230";
+ reg = <0>;
+ gpios = <&gpio1 8 0 /* nRST */
+ &gpio1 9 0 /* SLP_TR */ /* FIXME:
flags */
+ &gpio1 10 0>; /* DIG2 */
+ spi-max-frequency = <3000000>;
+ interrupts = <17 8>;
+ interrupt-parent = <&ipic>;
+ };
};
dma@82a8 {
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
index cb97e75..f48d3f8 100755
--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
@@ -187,6 +187,7 @@ cuboot*)
;;
*-mpc83*|*-asp834x*)
platformo=$object/cuboot-83xx.o
+ link_address='0x500000'
;;
*-tqm8541|*-mpc8560*|*-tqm8560|*-tqm8555|*-ksi8560*)
platformo=$object/cuboot-85xx-cpm2.o
------------------------------------------------------------------------------
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
_______________________________________________
Linux-zigbee-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-zigbee-devel