static int __init dalmore_wifi_prepower(void) { if (!machine_is_dalmore()) return 0; dalmore_wifi_power(1); return 0; }
static int __init dalmore_fixed_regulator_init(void) { struct board_info board_info; if (!machine_is_dalmore()) return 0; tegra_get_board_info(&board_info); if (board_info.board_id == BOARD_E1611 || board_info.board_id == BOARD_P2454) return platform_add_devices(fixed_reg_devs_e1611_a00, ARRAY_SIZE(fixed_reg_devs_e1611_a00)); else return platform_add_devices(fixed_reg_devs_e1612_a00, ARRAY_SIZE(fixed_reg_devs_e1612_a00)); }
static int dsi_l_720p_5_loki_regulator_get(struct device *dev) { int err = 0; if (reg_requested) return 0; avdd_lcd_3v0_2v8 = regulator_get(dev, "avdd_lcd"); if (IS_ERR(avdd_lcd_3v0_2v8)) { pr_err("avdd_lcd regulator get failed\n"); err = PTR_ERR(avdd_lcd_3v0_2v8); avdd_lcd_3v0_2v8 = NULL; goto fail; } vdd_lcd_s_1v8 = regulator_get(dev, "dvdd_lcd"); if (IS_ERR(vdd_lcd_s_1v8)) { pr_err("vdd_lcd_1v8_s regulator get failed\n"); err = PTR_ERR(vdd_lcd_s_1v8); vdd_lcd_s_1v8 = NULL; goto fail; } if (machine_is_dalmore()) { vdd_lcd_bl = regulator_get(dev, "vdd_lcd_bl"); if (IS_ERR(vdd_lcd_bl)) { pr_err("vdd_lcd_bl regulator get failed\n"); err = PTR_ERR(vdd_lcd_bl); vdd_lcd_bl = NULL; goto fail; } } vdd_lcd_bl_en = regulator_get(dev, "vdd_lcd_bl_en"); if (IS_ERR(vdd_lcd_bl_en)) { pr_err("vdd_lcd_bl_en regulator get failed\n"); err = PTR_ERR(vdd_lcd_bl_en); vdd_lcd_bl_en = NULL; goto fail; } reg_requested = true; return 0; fail: return err; }
static int __init dalmore_fixed_regulator_init(void) { struct board_info board_info; u8 power_config; int ret; int usb_port_owner_info; if (!machine_is_dalmore()) return 0; /* * XUSB hardware controls VBUS directly. * XHCI driver will not use regulator_enable()/regulator_disable() to * control VBUS. Furthermore, XUSB hardware requires GPIO_PK6 to be * disabled. Thus, register usb3_vbus fixed regulator only when XUSB * doesn't own UTMI2. */ usb_port_owner_info = tegra_get_usb_port_owner_info(); if (!(usb_port_owner_info & UTMI2_PORT_OWNER_XUSB)) { ret = platform_device_register(ADD_FIXED_REG(usb3_vbus)); if (ret) return ret; } power_config = get_power_config(); tegra_get_board_info(&board_info); /* Fab05 and power-type2 have the same fixed regs */ if (board_info.fab == BOARD_FAB_A05 || power_config & POWER_CONFIG2) platform_add_devices(fixed_reg_devs_dalmore_config2, ARRAY_SIZE(fixed_reg_devs_dalmore_config2)); if (board_info.board_id == BOARD_E1611 || board_info.board_id == BOARD_P2454) return platform_add_devices(fixed_reg_devs_e1611_a00, ARRAY_SIZE(fixed_reg_devs_e1611_a00)); else return platform_add_devices(fixed_reg_devs_e1612_a00, ARRAY_SIZE(fixed_reg_devs_e1612_a00)); }
static int dsi_p_wuxga_10_1_enable(struct device *dev) { int err = 0; if (machine_is_dalmore()) err = dalmore_dsi_regulator_get(dev); else if (machine_is_macallan()) err = macallan_dsi_regulator_get(dev); if (err < 0) { pr_err("dsi regulator get failed\n"); goto fail; } if (machine_is_dalmore()) err = dalmore_dsi_gpio_get(); else if (machine_is_macallan()) err = macallan_dsi_gpio_get(); if (err < 0) { pr_err("dsi gpio request failed\n"); goto fail; } if (vdd_ds_1v8) { err = regulator_enable(vdd_ds_1v8); if (err < 0) { pr_err("vdd_ds_1v8 regulator enable failed\n"); goto fail; } } if (dvdd_lcd_1v8) { err = regulator_enable(dvdd_lcd_1v8); if (err < 0) { pr_err("dvdd_lcd regulator enable failed\n"); goto fail; } } if (avdd_lcd_3v3) { err = regulator_enable(avdd_lcd_3v3); if (err < 0) { pr_err("avdd_lcd regulator enable failed\n"); goto fail; } } if (vdd_lcd_bl) { err = regulator_enable(vdd_lcd_bl); if (err < 0) { pr_err("vdd_lcd_bl regulator enable failed\n"); goto fail; } } if (vdd_lcd_bl_en) { err = regulator_enable(vdd_lcd_bl_en); if (err < 0) { pr_err("vdd_lcd_bl_en regulator enable failed\n"); goto fail; } } msleep(100); #if DSI_PANEL_RESET gpio_direction_output(gpio_lcd_rst, 1); usleep_range(1000, 5000); gpio_set_value(gpio_lcd_rst, 0); msleep(150); gpio_set_value(gpio_lcd_rst, 1); msleep(20); #endif return 0; fail: return err; }
static int dsi_s_wqxga_10_1_postpoweron(struct device *dev) { int err = 0; if (machine_is_maya()) err = maya_dsi_regulator_get(dev); #ifndef CONFIG_MACH_MAYA else if (machine_is_dalmore()) err = dalmore_dsi_regulator_get(dev); else if (machine_is_macallan()) err = macallan_dsi_regulator_get(dev); #endif if (err < 0) { pr_err("dsi regulator get failed\n"); goto fail; } if (machine_is_maya()) err = maya_dsi_gpio_get(); #ifndef CONFIG_MACH_MAYA if (machine_is_dalmore()) err = dalmore_dsi_gpio_get(); else if (machine_is_macallan()) err = macallan_dsi_gpio_get(); #endif if (err < 0) { pr_err("dsi gpio request failed\n"); goto fail; } if (vdd_ds_1v8) { err = regulator_enable(vdd_ds_1v8); if (err < 0) { pr_err("vdd_ds_1v8 regulator enable failed\n"); goto fail; } } if (dvdd_lcd_1v8) { err = regulator_enable(dvdd_lcd_1v8); if (err < 0) { pr_err("dvdd_lcd regulator enable failed\n"); goto fail; } } if (avdd_lcd_3v3) { err = regulator_enable(avdd_lcd_3v3); if (err < 0) { pr_err("avdd_lcd regulator enable failed\n"); goto fail; } } /* panel ic requirement after vcc enable */ msleep(260); if (vdd_lcd_bl) { err = regulator_enable(vdd_lcd_bl); if (err < 0) { pr_err("vdd_lcd_bl regulator enable failed\n"); goto fail; } } if (vdd_lcd_bl_en) { err = regulator_enable(vdd_lcd_bl_en); if (err < 0) { pr_err("vdd_lcd_bl_en regulator enable failed\n"); goto fail; } } msleep(20); #if DSI_PANEL_RESET gpio_direction_output(DSI_PANEL_RST_GPIO, 1); usleep_range(1000, 5000); gpio_set_value(DSI_PANEL_RST_GPIO, 0); usleep_range(1000, 5000); gpio_set_value(DSI_PANEL_RST_GPIO, 1); msleep(20); #endif return 0; fail: return err; }