~ubuntu-branches/debian/wheezy/linux-2.6/wheezy

« back to all changes in this revision

Viewing changes to arch/arm/mach-omap2/board-rx51-peripherals.c

  • Committer: Bazaar Package Importer
  • Author(s): Ben Hutchings, Ben Hutchings, Aurelien Jarno
  • Date: 2011-06-07 12:14:05 UTC
  • mfrom: (43.1.9 sid)
  • Revision ID: james.westby@ubuntu.com-20110607121405-i3h1rd7nrnd2b73h
Tags: 2.6.39-2
[ Ben Hutchings ]
* [x86] Enable BACKLIGHT_APPLE, replacing BACKLIGHT_MBP_NVIDIA
  (Closes: #627492)
* cgroups: Disable memory resource controller by default. Allow it
  to be enabled using kernel parameter 'cgroup_enable=memory'.
* rt2800usb: Enable support for more USB devices including
  Linksys WUSB600N (Closes: #596626) (this change was accidentally
  omitted from 2.6.39-1)
* [x86] Remove Celeron from list of processors supporting PAE. Most
  'Celeron M' models do not.
* Update debconf template translations:
  - Swedish (Martin Bagge) (Closes: #628932)
  - French (David Prévot) (Closes: #628191)
* aufs: Update for 2.6.39 (Closes: #627837)
* Add stable 2.6.39.1, including:
  - ext4: dont set PageUptodate in ext4_end_bio()
  - pata_cmd64x: fix boot crash on parisc (Closes: #622997, #622745)
  - ext3: Fix fs corruption when make_indexed_dir() fails
  - netfilter: nf_ct_sip: validate Content-Length in TCP SIP messages
  - sctp: fix race between sctp_bind_addr_free() and
    sctp_bind_addr_conflict()
  - sctp: fix memory leak of the ASCONF queue when free asoc
  - md/bitmap: fix saving of events_cleared and other state
  - cdc_acm: Fix oops when Droids MuIn LCD is connected
  - cx88: Fix conversion from BKL to fine-grained locks (Closes: #619827)
  - keys: Set cred->user_ns in key_replace_session_keyring (CVE-2011-2184)
  - tmpfs: fix race between truncate and writepage
  - nfs41: Correct offset for LAYOUTCOMMIT
  - xen/mmu: fix a race window causing leave_mm BUG()
  - ext4: fix possible use-after-free in ext4_remove_li_request()
  For the complete list of changes, see:
   http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.39.1
* Bump ABI to 2
* netfilter: Enable IP_SET, IP_SET_BITMAP_IP, IP_SET_BITMAP_IPMAC,
  IP_SET_BITMAP_PORT, IP_SET_HASH_IP, IP_SET_HASH_IPPORT,
  IP_SET_HASH_IPPORTIP, IP_SET_HASH_IPPORTNET, IP_SET_HASH_NET,
  IP_SET_HASH_NETPORT, IP_SET_LIST_SET, NETFILTER_XT_SET as modules
  (Closes: #629401)

[ Aurelien Jarno ]
* [mipsel/loongson-2f] Disable_SCSI_LPFC to workaround GCC ICE.

Show diffs side-by-side

added added

removed removed

Lines of Context:
36
36
 
37
37
#include <sound/tlv320aic3x.h>
38
38
#include <sound/tpa6130a2-plat.h>
 
39
#include <media/radio-si4713.h>
 
40
#include <media/si4713.h>
39
41
 
40
42
#include <../drivers/staging/iio/light/tsl2563.h>
41
43
 
47
49
 
48
50
#define RX51_WL1251_POWER_GPIO          87
49
51
#define RX51_WL1251_IRQ_GPIO            42
 
52
#define RX51_FMTX_RESET_GPIO            163
 
53
#define RX51_FMTX_IRQ                   53
50
54
 
51
55
/* list all spi devices here */
52
56
enum {
331
335
};
332
336
 
333
337
static struct regulator_consumer_supply rx51_vmmc1_supply =
334
 
        REGULATOR_SUPPLY("vmmc", "mmci-omap-hs.0");
 
338
        REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0");
335
339
 
336
340
static struct regulator_consumer_supply rx51_vaux3_supply =
337
 
        REGULATOR_SUPPLY("vmmc", "mmci-omap-hs.1");
 
341
        REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1");
338
342
 
339
343
static struct regulator_consumer_supply rx51_vsim_supply =
340
 
        REGULATOR_SUPPLY("vmmc_aux", "mmci-omap-hs.1");
 
344
        REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.1");
341
345
 
342
346
static struct regulator_consumer_supply rx51_vmmc2_supplies[] = {
343
347
        /* tlv320aic3x analog supplies */
348
352
        /* tpa6130a2 */
349
353
        REGULATOR_SUPPLY("Vdd", "2-0060"),
350
354
        /* Keep vmmc as last item. It is not iterated for newer boards */
351
 
        REGULATOR_SUPPLY("vmmc", "mmci-omap-hs.1"),
 
355
        REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1"),
352
356
};
353
357
 
354
358
static struct regulator_consumer_supply rx51_vio_supplies[] = {
357
361
        REGULATOR_SUPPLY("DVDD", "2-0018"),
358
362
        REGULATOR_SUPPLY("IOVDD", "2-0019"),
359
363
        REGULATOR_SUPPLY("DVDD", "2-0019"),
 
364
        /* Si4713 IO supply */
 
365
        REGULATOR_SUPPLY("vio", "2-0063"),
360
366
};
361
367
 
362
368
static struct regulator_consumer_supply rx51_vaux1_consumers[] = {
363
369
        REGULATOR_SUPPLY("vdds_sdi", "omapdss"),
 
370
        /* Si4713 supply */
 
371
        REGULATOR_SUPPLY("vdd", "2-0063"),
364
372
};
365
373
 
366
374
static struct regulator_consumer_supply rx51_vdac_supply[] = {
367
 
        REGULATOR_SUPPLY("vdda_dac", "omapdss"),
 
375
        REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
368
376
};
369
377
 
370
378
static struct regulator_init_data rx51_vaux1 = {
511
519
        .consumer_supplies      = rx51_vio_supplies,
512
520
};
513
521
 
 
522
static struct si4713_platform_data rx51_si4713_i2c_data __initdata_or_module = {
 
523
        .gpio_reset     = RX51_FMTX_RESET_GPIO,
 
524
};
 
525
 
 
526
static struct i2c_board_info rx51_si4713_board_info __initdata_or_module = {
 
527
        I2C_BOARD_INFO("si4713", SI4713_I2C_ADDR_BUSEN_HIGH),
 
528
        .platform_data  = &rx51_si4713_i2c_data,
 
529
};
 
530
 
 
531
static struct radio_si4713_platform_data rx51_si4713_data __initdata_or_module = {
 
532
        .i2c_bus        = 2,
 
533
        .subdev_board_info = &rx51_si4713_board_info,
 
534
};
 
535
 
 
536
static struct platform_device rx51_si4713_dev __initdata_or_module = {
 
537
        .name   = "radio-si4713",
 
538
        .id     = -1,
 
539
        .dev    = {
 
540
                .platform_data  = &rx51_si4713_data,
 
541
        },
 
542
};
 
543
 
 
544
static __init void rx51_init_si4713(void)
 
545
{
 
546
        int err;
 
547
 
 
548
        err = gpio_request_one(RX51_FMTX_IRQ, GPIOF_DIR_IN, "si4713 irq");
 
549
        if (err) {
 
550
                printk(KERN_ERR "Cannot request si4713 irq gpio. %d\n", err);
 
551
                return;
 
552
        }
 
553
        rx51_si4713_board_info.irq = gpio_to_irq(RX51_FMTX_IRQ);
 
554
        platform_device_register(&rx51_si4713_dev);
 
555
}
 
556
 
514
557
static int rx51_twlgpio_setup(struct device *dev, unsigned gpio, unsigned n)
515
558
{
516
559
        /* FIXME this gpio setup is just a placeholder for now */
699
742
        .resource_config = twl4030_rconfig,
700
743
};
701
744
 
 
745
struct twl4030_codec_vibra_data rx51_vibra_data __initdata = {
 
746
        .coexist        = 0,
 
747
};
 
748
 
 
749
struct twl4030_codec_data rx51_codec_data __initdata = {
 
750
        .audio_mclk     = 26000000,
 
751
        .vibra          = &rx51_vibra_data,
 
752
};
702
753
 
703
754
static struct twl4030_platform_data rx51_twldata __initdata = {
704
755
        .irq_base               = TWL4030_IRQ_BASE,
710
761
        .madc                   = &rx51_madc_data,
711
762
        .usb                    = &rx51_usb_data,
712
763
        .power                  = &rx51_t2scripts_data,
 
764
        .codec                  = &rx51_codec_data,
713
765
 
714
766
        .vaux1                  = &rx51_vaux1,
715
767
        .vaux2                  = &rx51_vaux2,
921
973
        board_smc91x_init();
922
974
        rx51_add_gpio_keys();
923
975
        rx51_init_wl1251();
 
976
        rx51_init_si4713();
924
977
        spi_register_board_info(rx51_peripherals_spi_board_info,
925
978
                                ARRAY_SIZE(rx51_peripherals_spi_board_info));
926
979