static long tegrainfo_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) { void __user *argp = (void __user *)arg; int retval = 0; u64 chip_id = 0; switch (cmd) { case TEGRAINFO_G_UID: chip_id = tegra_chip_uid(); retval = copy_to_user(argp, &chip_id, sizeof(chip_id)); break; case TEGRAINFO_G_REVISION: //printk(KERN_INFO "CPU Revision : %s(%d)\n", tegra_revision_name[tegra_get_revision()], strlen(tegra_revision_name[tegra_get_revision()])); retval = copy_to_user(argp, tegra_get_revision_name(), strlen(tegra_get_revision_name())+1); break; case TEGRAINFO_G_SKU: //printk(KERN_INFO "SKU ID : %d\n", tegra_sku_id()); retval = tegra_sku_id(); break; default: retval = -EINVAL; } return retval; }
static void __init tegra_aruba_init(void) { char serial[20]; tegra_common_init(); tegra_clk_init_from_table(aruba_clk_init_table); aruba_pinmux_init(); snprintf(serial, sizeof(serial), "%llx", tegra_chip_uid()); andusb_plat.serial_number = kstrdup(serial, GFP_KERNEL); tegra_i2s_device1.dev.platform_data = &tegra_i2s_pdata[0]; platform_add_devices(aruba_devices, ARRAY_SIZE(aruba_devices)); aruba_sdhci_init(); aruba_i2c_init(); aruba_regulator_init(); aruba_touch_init(); aruba_keys_init(); aruba_usb_init(); aruba_panel_init(); aruba_sensors_init(); aruba_bt_rfkill(); aruba_sata_init(); tegra_release_bootloader_fb(); }
static void __init tegra_ventana_init(void) { #if defined(CONFIG_TOUCHSCREEN_PANJIT_I2C) || \ defined(CONFIG_TOUCHSCREEN_ATMEL_MT_T9) struct board_info BoardInfo; #endif tegra_common_init(); tegra_clk_init_from_table(ventana_clk_init_table); ventana_pinmux_init(); ventana_i2c_init(); snprintf(usb_serial_num, sizeof(usb_serial_num), "%llx", tegra_chip_uid()); andusb_plat.serial_number = kstrdup(usb_serial_num, GFP_KERNEL); tegra_i2s_device1.dev.platform_data = &tegra_audio_pdata[0]; tegra_i2s_device2.dev.platform_data = &tegra_audio_pdata[1]; tegra_spdif_device.dev.platform_data = &tegra_spdif_pdata; tegra_das_device.dev.platform_data = &tegra_das_pdata; tegra_ehci2_device.dev.platform_data = &ventana_ehci2_ulpi_platform_data; platform_add_devices(ventana_devices, ARRAY_SIZE(ventana_devices)); ventana_sdhci_init(); ventana_charge_init(); ventana_regulator_init(); #if defined(CONFIG_TOUCHSCREEN_PANJIT_I2C) || \ defined(CONFIG_TOUCHSCREEN_ATMEL_MT_T9) tegra_get_board_info(&BoardInfo); /* boards with sku > 0 have atmel touch panels */ if (BoardInfo.sku) { pr_info("Initializing Atmel touch driver\n"); ventana_touch_init_atmel(); } else { pr_info("Initializing Panjit touch driver\n"); ventana_touch_init_panjit(); } #endif #ifdef CONFIG_KEYBOARD_GPIO ventana_keys_init(); #endif #ifdef CONFIG_KEYBOARD_TEGRA ventana_kbc_init(); #endif ventana_wired_jack_init(); ventana_usb_init(); ventana_gps_init(); ventana_panel_init(); ventana_sensors_init(); ventana_bt_rfkill(); ventana_power_off_init(); ventana_emc_init(); #ifdef CONFIG_BT_BLUESLEEP tegra_setup_bluesleep(); #endif }
static void __init tegra_cardhu_init(void) { struct board_info pmu_board_info; tegra_get_pmu_board_info(&pmu_board_info); tegra_thermal_init(&thermal_data); tegra_clk_init_from_table(cardhu_clk_init_table); cardhu_pinmux_init(); cardhu_misc_init(); tegra_booting_info( ); cardhu_i2c_init(); cardhu_spi_init(); cardhu_usb_init(); #ifdef CONFIG_TEGRA_EDP_LIMITS cardhu_edp_init(); #endif cardhu_uart_init(); snprintf(cardhu_chipid, sizeof(cardhu_chipid), "%016llx", tegra_chip_uid()); cardhu_tsensor_init(); platform_add_devices(cardhu_devices, ARRAY_SIZE(cardhu_devices)); /* Don't register ALC5640 device if there is MAX77663 PMU on system, * because MAX77663 PMU and ALC5640 Audio Codec are using same i2c addr * on same i2c bus. */ if (pmu_board_info.board_id != BOARD_PMU_PM298) platform_device_register(&cardhu_audio_rt5640_device); tegra_ram_console_debug_init(); cardhu_sdhci_init(); cardhu_regulator_init(); cardhu_dtv_init(); cardhu_suspend_init(); cardhu_power_off_init(); cardhu_touch_init(); cardhu_gps_init(); cardhu_modem_init(); cardhu_kbc_init(); cardhu_scroll_init(); cardhu_keys_init(); cardhu_panel_init(); cardhu_pmon_init(); cardhu_sensors_init(); cardhu_setup_bluesleep(); cardhu_sata_init(); //audio_wired_jack_init(); cardhu_pins_state_init(); cardhu_emc_init(); tegra_release_bootloader_fb(); cardhu_nfc_init(); cardhu_pci_init(); #ifdef CONFIG_TEGRA_WDT_RECOVERY tegra_wdt_recovery_init(); #endif }
static void __init tegra_ventana_init(void) { struct board_info BoardInfo; tegra_booting_info(); ventana_setup_misc(); tegra_clk_init_from_table(ventana_clk_init_table); ventana_pinmux_init(); ventana_i2c_init(); snprintf(ventana_chipid, sizeof(ventana_chipid), "%016llx", tegra_chip_uid()); ventana_uart_init(); if(ASUS3GAvailable()) { tegra_ehci2_device.dev.platform_data = &ventana_ehci2_ulpi_platform_data; } platform_add_devices(ventana_devices, ARRAY_SIZE(ventana_devices)); ventana_sdhci_init(); //ventana_charge_init(); ventana_regulator_init(); //ventana_charger_init(); tegra_get_board_info(&BoardInfo); #if defined(CONFIG_TOUCHSCREEN_ATMEL_MT_T9) || defined(CONFIG_TOUCHSCREEN_ATMEL_MT_T9_EP102) pr_info("Initializing Atmel touch driver\n"); ventana_touch_init_atmel(); #elif defined(CONFIG_TOUCHSCREEN_PANJIT_I2C) pr_info("Initializing Panjit touch driver\n"); ventana_touch_init_panjit(); #endif #ifdef CONFIG_KEYBOARD_GPIO ventana_keys_init(); #endif #ifdef CONFIG_DSP_FM34 ventana_dsp_init(); #endif ventana_usb_init(); ventana_gps_init(); ventana_panel_init(); ventana_sensors_init(); //ventana_bt_rfkill(); ventana_power_off_init(); ventana_emc_init(); ventana_setup_bluesleep(); // tegra_release_bootloader_fb(); }
static void __init tegra_cardhu_init(void) { tegra_thermal_init(&thermal_data); tegra_clk_init_from_table(cardhu_clk_init_table); cardhu_pinmux_init(); cardhu_misc_init(); tegra_booting_info( ); cardhu_i2c_init(); cardhu_spi_init(); cardhu_usb_init(); #ifdef CONFIG_TEGRA_EDP_LIMITS cardhu_edp_init(); #endif cardhu_uart_init(); snprintf(cardhu_chipid, sizeof(cardhu_chipid), "%016llx", tegra_chip_uid()); cardhu_tsensor_init(); platform_add_devices(cardhu_devices, ARRAY_SIZE(cardhu_devices)); cardhu_sdhci_init(); cardhu_regulator_init(); cardhu_gpio_switch_regulator_init(); cardhu_suspend_init(); cardhu_power_off_init(); cardhu_touch_init(); cardhu_gps_init(); cardhu_modem_init(); cardhu_kbc_init(); cardhu_scroll_init(); cardhu_keys_init(); cardhu_panel_init(); cardhu_pmon_init(); cardhu_sensors_init(); cardhu_setup_bluesleep(); cardhu_sata_init(); //audio_wired_jack_init(); cardhu_pins_state_init(); cardhu_emc_init(); tegra_release_bootloader_fb(); cardhu_nfc_init(); cardhu_pci_init(); #ifdef CONFIG_TEGRA_WDT_RECOVERY tegra_wdt_recovery_init(); #endif }
static void __init tegra_ventana_init(void) { #if defined(CONFIG_TOUCHSCREEN_PANJIT_I2C) || \ defined(CONFIG_TOUCHSCREEN_ATMEL_MT_T9) || defined(CONFIG_TOUCHSCREEN_ATMEL_MT_T9_EP102) struct board_info BoardInfo; #endif tegra_booting_info(); tegra_common_init(); ventana_setup_misc(); tegra_clk_init_from_table(ventana_clk_init_table); ventana_pinmux_init(); ventana_i2c_init(); ventana_uart_init(); snprintf(ventana_chipid, sizeof(ventana_chipid), "%016llx", tegra_chip_uid()); snprintf(usb_serial_num, sizeof(usb_serial_num), "%llx", tegra_chip_uid()); andusb_plat.serial_number = kstrdup(usb_serial_num, GFP_KERNEL); if (ASUSGetProjectID() == 102) { andusb_plat.products[0].product_id = USB_SL101_PRODUCT_ID_MTP; andusb_plat.products[1].product_id = USB_SL101_PRODUCT_ID_MTP_ADB; andusb_plat.products[2].product_id = USB_SL101_PRODUCT_ID_RNDIS; andusb_plat.products[3].product_id = USB_SL101_PRODUCT_ID_RNDIS_ADB; } tegra_i2s_device1.dev.platform_data = &tegra_audio_pdata[0]; tegra_i2s_device2.dev.platform_data = &tegra_audio_pdata[1]; tegra_spdif_device.dev.platform_data = &tegra_spdif_pdata; tegra_das_device.dev.platform_data = &tegra_das_pdata; //disable for wifi sku if (ASUS3GAvailable()) { tegra_ehci2_device.dev.platform_data = &ventana_ehci2_ulpi_platform_data; } platform_add_devices(ventana_devices, ARRAY_SIZE(ventana_devices)); if ((ASUSGetProjectID() != 103) && (!console_none_on_cmdline)) { //register debug uart resource only if //"console=ttyXX" is specified and running target platform //is not JN101(EP103) platform_device_register(&debug_uart); tegra_gpio_enable(TEGRA_GPIO_PB0); gpio_request(TEGRA_GPIO_PB0, "UART4_RXD"); //limit RXD of UART debug console. gpio_direction_output(TEGRA_GPIO_PB0, 1); } ventana_sdhci_init(); //ventana_charge_init(); ventana_regulator_init(); #if defined(CONFIG_TOUCHSCREEN_ATMEL_MT_T9) || defined(CONFIG_TOUCHSCREEN_ATMEL_MT_T9_EP102) pr_info("Initializing Atmel touch driver\n"); ventana_touch_init_atmel(); #elif defined(CONFIG_TOUCHSCREEN_PANJIT_I2C) pr_info("Initializing Panjit touch driver\n"); ventana_touch_init_panjit(); #endif #ifdef CONFIG_TOUCHSCREEN_CYTTSP_I2C ventana_touch_init(); #endif #ifdef CONFIG_KEYBOARD_GPIO ventana_keys_init(); #endif #ifdef CONFIG_KEYBOARD_TEGRA ventana_kbc_init(); #endif #ifdef CONFIG_DSP_FM34 ventana_dsp_init(); #endif ventana_wired_jack_init(); ventana_usb_init(); ventana_gps_init(); ventana_panel_init(); ventana_sensors_init(); ventana_bt_rfkill(); ventana_power_off_init(); ventana_emc_init(); #ifdef CONFIG_BT_BLUESLEEP tegra_setup_bluesleep(); #endif }
static void __init tegra_ventana_init(void) { #if defined(CONFIG_TOUCHSCREEN_PANJIT_I2C) || \ defined(CONFIG_TOUCHSCREEN_ATMEL_MT_T9) struct board_info BoardInfo; #endif tegra_common_init(); tegra_clk_init_from_table(ventana_clk_init_table); ventana_pinmux_init(); ventana_i2c_init(); snprintf(usb_serial_num, sizeof(usb_serial_num), "%llx", tegra_chip_uid()); andusb_plat.serial_number = kstrdup(usb_serial_num, GFP_KERNEL); tegra_i2s_device1.dev.platform_data = &tegra_audio_pdata[0]; tegra_i2s_device2.dev.platform_data = &tegra_audio_pdata[1]; tegra_spdif_device.dev.platform_data = &tegra_spdif_pdata; #ifdef CONFIG_BUILDTYPE_SHIP if (console_set_none == 1) { tegra_pinmux_set_tristate(TEGRA_PINGROUP_IRRX, TEGRA_TRI_TRISTATE); tegra_pinmux_set_tristate(TEGRA_PINGROUP_IRTX, TEGRA_TRI_TRISTATE); } else { if (is_tegra_debug_uartport_hs() == true) platform_device_register(&tegra_uartd_device); else platform_device_register(&debug_uart); } #else if (is_tegra_debug_uartport_hs() == true) platform_device_register(&tegra_uartd_device); else platform_device_register(&debug_uart); #endif tegra_das_device.dev.platform_data = &tegra_das_pdata; platform_add_devices(ventana_devices, ARRAY_SIZE(ventana_devices)); ventana_sdhci_init(); ventana_regulator_init(); #if defined(CONFIG_TOUCHSCREEN_PANJIT_I2C) || \ defined(CONFIG_TOUCHSCREEN_ATMEL_MT_T9) tegra_get_board_info(&BoardInfo); /* boards with sku > 0 have atmel touch panels */ /* if (BoardInfo.sku) { pr_info("Initializing Atmel touch driver\n"); ventana_touch_init_atmel(); } else { pr_info("Initializing Panjit touch driver\n"); ventana_touch_init_panjit(); }*/ #endif #ifdef CONFIG_TOUCHSCREEN_ATMEL_mXT224 ventana_touch_init_atmel(); #endif #ifdef CONFIG_ATA2538_CAPKEY ventana_capkey_init(); #endif #ifdef CONFIG_TEGRA_KEYPAD tegra_keypad_init(); #endif #ifdef CONFIG_KEYBOARD_GPIO #endif #ifdef CONFIG_KEYBOARD_TEGRA #endif ventana_datacards_init(); ventana_usb_init(); ventana_gps_init(); ventana_panel_init(); ventana_sensors_init(); ventana_bt_rfkill(); ventana_power_off_init(); tegra_setup_bluesleep(); }