|
@@ -832,3 +832,70 @@ static struct gpio_led mackerel_leds[] = {
|
|
|
{
|
|
|
.name = "led2",
|
|
|
.gpio = GPIO_PORT2,
|
|
|
+ .default_state = LEDS_GPIO_DEFSTATE_ON,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "led3",
|
|
|
+ .gpio = GPIO_PORT159,
|
|
|
+ .default_state = LEDS_GPIO_DEFSTATE_ON,
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+static struct gpio_led_platform_data mackerel_leds_pdata = {
|
|
|
+ .leds = mackerel_leds,
|
|
|
+ .num_leds = ARRAY_SIZE(mackerel_leds),
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device leds_device = {
|
|
|
+ .name = "leds-gpio",
|
|
|
+ .id = 0,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &mackerel_leds_pdata,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+/* FSI */
|
|
|
+#define IRQ_FSI evt2irq(0x1840)
|
|
|
+static struct sh_fsi_platform_info fsi_info = {
|
|
|
+ .port_a = {
|
|
|
+ .flags = SH_FSI_BRS_INV,
|
|
|
+ .tx_id = SHDMA_SLAVE_FSIA_TX,
|
|
|
+ .rx_id = SHDMA_SLAVE_FSIA_RX,
|
|
|
+ },
|
|
|
+ .port_b = {
|
|
|
+ .flags = SH_FSI_BRS_INV |
|
|
|
+ SH_FSI_BRM_INV |
|
|
|
+ SH_FSI_LRS_INV |
|
|
|
+ SH_FSI_CLK_CPG |
|
|
|
+ SH_FSI_FMT_SPDIF,
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+static struct resource fsi_resources[] = {
|
|
|
+ [0] = {
|
|
|
+ /* we need 0xFE1F0000 to access DMA
|
|
|
+ * instead of 0xFE3C0000 */
|
|
|
+ .name = "FSI",
|
|
|
+ .start = 0xFE1F0000,
|
|
|
+ .end = 0xFE1F0400 - 1,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ [1] = {
|
|
|
+ .start = IRQ_FSI,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device fsi_device = {
|
|
|
+ .name = "sh_fsi2",
|
|
|
+ .id = -1,
|
|
|
+ .num_resources = ARRAY_SIZE(fsi_resources),
|
|
|
+ .resource = fsi_resources,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &fsi_info,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct asoc_simple_dai_init_info fsi2_ak4643_init_info = {
|
|
|
+ .fmt = SND_SOC_DAIFMT_LEFT_J,
|
|
|
+ .codec_daifmt = SND_SOC_DAIFMT_CBM_CFM,
|