--- 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 Linux-zigbee-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-zigbee-devel