void __init early_console_setup(unsigned long base, struct clk *clk);
static struct clk *sata_clk;
static int esai_record;
-static int spdif_en;
static int mipi_sensor;
extern struct regulator *(*get_cpu_regulator)(void);
/* USBOTG ID pin */
MX6Q_PAD_GPIO_1__USBOTG_ID,
+ /* SPDIF */
+ MX6Q_PAD_KEY_COL3__SPDIF_IN1,
};
static iomux_v3_cfg_t mx6q_sabreauto_i2c3_pads[] = {
MX6Q_PAD_GPIO_16__I2C3_SDA,
};
-static iomux_v3_cfg_t mx6q_sabreauto_spdif_pads[] = {
- /* SPDIF */
- MX6Q_PAD_GPIO_16__SPDIF_IN1,
- MX6Q_PAD_GPIO_17__SPDIF_OUT1,
-};
-
static iomux_v3_cfg_t mx6q_sabreauto_can_pads[] = {
/* CAN1 */
MX6Q_PAD_GPIO_7__CAN1_TXCAN,
mxc_iomux_set_gpr_register(1, 19, 1, 1);
}
-static int __init early_enable_spdif(char *p)
-{
- spdif_en = 1;
- return 0;
-}
-
-early_param("spdif", early_enable_spdif);
-
static int spdif_clk_set_rate(struct clk *clk, unsigned long rate)
{
unsigned long rate_actual;
}
static struct mxc_spdif_platform_data mxc_spdif_data = {
- .spdif_tx = 1, /* enable tx */
+ .spdif_tx = 0, /* disable tx */
.spdif_rx = 1, /* enable rx */
/*
* spdif0_clk will be 454.7MHz divided by ccm dividers.
mxc_iomux_v3_setup_multiple_pads(mx6q_sabreauto_esai_record_pads,
ARRAY_SIZE(mx6q_sabreauto_esai_record_pads));
- /*
- * S/PDIF in and i2c3 are mutually exclusive because both
- * use GPIO_16.
- * S/PDIF out and can1 stby are mutually exclusive because both
- * use GPIO_17.
- */
- if (spdif_en) {
- mxc_iomux_v3_setup_multiple_pads(mx6q_sabreauto_spdif_pads,
- ARRAY_SIZE(mx6q_sabreauto_spdif_pads));
- } else {
- mxc_iomux_v3_setup_multiple_pads(mx6q_sabreauto_i2c3_pads,
+ mxc_iomux_v3_setup_multiple_pads(mx6q_sabreauto_i2c3_pads,
ARRAY_SIZE(mx6q_sabreauto_i2c3_pads));
- mxc_iomux_v3_setup_multiple_pads(mx6q_sabreauto_can_pads,
+ mxc_iomux_v3_setup_multiple_pads(mx6q_sabreauto_can_pads,
ARRAY_SIZE(mx6q_sabreauto_can_pads));
- }
if (mipi_sensor)
mxc_iomux_v3_setup_multiple_pads(
ARRAY_SIZE(mxc_i2c0_board_info));
i2c_register_board_info(1, mxc_i2c1_board_info,
ARRAY_SIZE(mxc_i2c1_board_info));
- if (!spdif_en) {
- imx6q_add_imx_i2c(2, &mx6q_sabreauto_i2c_data);
- i2c_register_board_info(2, mxc_i2c2_board_info,
- ARRAY_SIZE(mxc_i2c2_board_info));
- }
+ imx6q_add_imx_i2c(2, &mx6q_sabreauto_i2c_data);
+ i2c_register_board_info(2, mxc_i2c2_board_info,
+ ARRAY_SIZE(mxc_i2c2_board_info));
/* SPI */
imx6q_add_ecspi(0, &mx6q_sabreauto_spi_data);
imx6q_add_mxc_pwm(0);
imx6q_add_mxc_pwm_backlight(0, &mx6_sabreauto_pwm_backlight_data);
- if (spdif_en) {
- mxc_spdif_data.spdif_core_clk = clk_get_sys("mxc_spdif.0",
- NULL);
- clk_put(mxc_spdif_data.spdif_core_clk);
- imx6q_add_spdif(&mxc_spdif_data);
- imx6q_add_spdif_dai();
- imx6q_add_spdif_audio_device();
- } else {
- ret = gpio_request_array(mx6q_flexcan_gpios,
+ mxc_spdif_data.spdif_core_clk = clk_get_sys("mxc_spdif.0", NULL);
+ clk_put(mxc_spdif_data.spdif_core_clk);
+ imx6q_add_spdif(&mxc_spdif_data);
+ imx6q_add_spdif_dai();
+ imx6q_add_spdif_audio_device();
+
+ ret = gpio_request_array(mx6q_flexcan_gpios,
ARRAY_SIZE(mx6q_flexcan_gpios));
- if (ret) {
- pr_err("failed to request flexcan-gpios: %d\n", ret);
- } else {
- imx6q_add_flexcan0(&mx6q_sabreauto_flexcan_pdata[0]);
- imx6q_add_flexcan1(&mx6q_sabreauto_flexcan_pdata[1]);
- }
+ if (ret) {
+ pr_err("failed to request flexcan-gpios: %d\n", ret);
+ } else {
+ imx6q_add_flexcan0(&mx6q_sabreauto_flexcan_pdata[0]);
+ imx6q_add_flexcan1(&mx6q_sabreauto_flexcan_pdata[1]);
}
imx6q_add_hdmi_soc();