diff options
| -rw-r--r-- | arch/arm/boot/dts/tegra-paz00.dts | 6 | ||||
| -rw-r--r-- | arch/arm/mach-tegra/Kconfig | 18 | ||||
| -rw-r--r-- | arch/arm/mach-tegra/Makefile | 3 | ||||
| -rw-r--r-- | arch/arm/mach-tegra/board-harmony-pinmux.c | 6 | ||||
| -rw-r--r-- | arch/arm/mach-tegra/board-paz00.c | 8 | ||||
| -rw-r--r-- | arch/arm/mach-tegra/board-paz00.h | 2 | ||||
| -rw-r--r-- | arch/arm/mach-tegra/common.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-tegra/pcie.c | 16 | ||||
| -rw-r--r-- | arch/arm/mach-tegra/usb_phy.c | 11 |
9 files changed, 52 insertions, 20 deletions
diff --git a/arch/arm/boot/dts/tegra-paz00.dts b/arch/arm/boot/dts/tegra-paz00.dts index 1a1d7023b69b..825d2957da0b 100644 --- a/arch/arm/boot/dts/tegra-paz00.dts +++ b/arch/arm/boot/dts/tegra-paz00.dts | |||
| @@ -46,11 +46,11 @@ | |||
| 46 | }; | 46 | }; |
| 47 | 47 | ||
| 48 | serial@70006200 { | 48 | serial@70006200 { |
| 49 | status = "disable"; | 49 | clock-frequency = <216000000>; |
| 50 | }; | 50 | }; |
| 51 | 51 | ||
| 52 | serial@70006300 { | 52 | serial@70006300 { |
| 53 | clock-frequency = <216000000>; | 53 | status = "disable"; |
| 54 | }; | 54 | }; |
| 55 | 55 | ||
| 56 | serial@70006400 { | 56 | serial@70006400 { |
| @@ -60,7 +60,7 @@ | |||
| 60 | sdhci@c8000000 { | 60 | sdhci@c8000000 { |
| 61 | cd-gpios = <&gpio 173 0>; /* gpio PV5 */ | 61 | cd-gpios = <&gpio 173 0>; /* gpio PV5 */ |
| 62 | wp-gpios = <&gpio 57 0>; /* gpio PH1 */ | 62 | wp-gpios = <&gpio 57 0>; /* gpio PH1 */ |
| 63 | power-gpios = <&gpio 155 0>; /* gpio PT3 */ | 63 | power-gpios = <&gpio 169 0>; /* gpio PV1 */ |
| 64 | }; | 64 | }; |
| 65 | 65 | ||
| 66 | sdhci@c8000200 { | 66 | sdhci@c8000200 { |
diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig index 373652d76b90..6ae78821fd8e 100644 --- a/arch/arm/mach-tegra/Kconfig +++ b/arch/arm/mach-tegra/Kconfig | |||
| @@ -8,8 +8,16 @@ config ARCH_TEGRA_2x_SOC | |||
| 8 | select ARM_GIC | 8 | select ARM_GIC |
| 9 | select ARCH_REQUIRE_GPIOLIB | 9 | select ARCH_REQUIRE_GPIOLIB |
| 10 | select USB_ARCH_HAS_EHCI if USB_SUPPORT | 10 | select USB_ARCH_HAS_EHCI if USB_SUPPORT |
| 11 | select USB_ULPI if USB_SUPPORT | 11 | select USB_ULPI if USB |
| 12 | select USB_ULPI_VIEWPORT if USB_SUPPORT | 12 | select USB_ULPI_VIEWPORT if USB_SUPPORT |
| 13 | select ARM_ERRATA_720789 | ||
| 14 | select ARM_ERRATA_742230 | ||
| 15 | select ARM_ERRATA_751472 | ||
| 16 | select ARM_ERRATA_754327 | ||
| 17 | select ARM_ERRATA_764369 | ||
| 18 | select PL310_ERRATA_727915 if CACHE_L2X0 | ||
| 19 | select PL310_ERRATA_769419 if CACHE_L2X0 | ||
| 20 | select CPU_FREQ_TABLE if CPU_FREQ | ||
| 13 | help | 21 | help |
| 14 | Support for NVIDIA Tegra AP20 and T20 processors, based on the | 22 | Support for NVIDIA Tegra AP20 and T20 processors, based on the |
| 15 | ARM CortexA9MP CPU and the ARM PL310 L2 cache controller | 23 | ARM CortexA9MP CPU and the ARM PL310 L2 cache controller |
| @@ -20,9 +28,15 @@ config ARCH_TEGRA_3x_SOC | |||
| 20 | select ARM_GIC | 28 | select ARM_GIC |
| 21 | select ARCH_REQUIRE_GPIOLIB | 29 | select ARCH_REQUIRE_GPIOLIB |
| 22 | select USB_ARCH_HAS_EHCI if USB_SUPPORT | 30 | select USB_ARCH_HAS_EHCI if USB_SUPPORT |
| 23 | select USB_ULPI if USB_SUPPORT | 31 | select USB_ULPI if USB |
| 24 | select USB_ULPI_VIEWPORT if USB_SUPPORT | 32 | select USB_ULPI_VIEWPORT if USB_SUPPORT |
| 25 | select USE_OF | 33 | select USE_OF |
| 34 | select ARM_ERRATA_743622 | ||
| 35 | select ARM_ERRATA_751472 | ||
| 36 | select ARM_ERRATA_754322 | ||
| 37 | select ARM_ERRATA_764369 | ||
| 38 | select PL310_ERRATA_769419 if CACHE_L2X0 | ||
| 39 | select CPU_FREQ_TABLE if CPU_FREQ | ||
| 26 | help | 40 | help |
| 27 | Support for NVIDIA Tegra T30 processor family, based on the | 41 | Support for NVIDIA Tegra T30 processor family, based on the |
| 28 | ARM CortexA9MP CPU and the ARM PL310 L2 cache controller | 42 | ARM CortexA9MP CPU and the ARM PL310 L2 cache controller |
diff --git a/arch/arm/mach-tegra/Makefile b/arch/arm/mach-tegra/Makefile index e120ff54f663..829066fdc2ad 100644 --- a/arch/arm/mach-tegra/Makefile +++ b/arch/arm/mach-tegra/Makefile | |||
| @@ -13,7 +13,8 @@ obj-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra2_emc.o | |||
| 13 | obj-$(CONFIG_ARCH_TEGRA_2x_SOC) += pinmux-tegra20-tables.o | 13 | obj-$(CONFIG_ARCH_TEGRA_2x_SOC) += pinmux-tegra20-tables.o |
| 14 | obj-$(CONFIG_ARCH_TEGRA_3x_SOC) += pinmux-tegra30-tables.o | 14 | obj-$(CONFIG_ARCH_TEGRA_3x_SOC) += pinmux-tegra30-tables.o |
| 15 | obj-$(CONFIG_ARCH_TEGRA_3x_SOC) += board-dt-tegra30.o | 15 | obj-$(CONFIG_ARCH_TEGRA_3x_SOC) += board-dt-tegra30.o |
| 16 | obj-$(CONFIG_SMP) += platsmp.o localtimer.o headsmp.o | 16 | obj-$(CONFIG_SMP) += platsmp.o headsmp.o |
| 17 | obj-$(CONFIG_LOCAL_TIMERS) += localtimer.o | ||
| 17 | obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o | 18 | obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o |
| 18 | obj-$(CONFIG_TEGRA_SYSTEM_DMA) += dma.o | 19 | obj-$(CONFIG_TEGRA_SYSTEM_DMA) += dma.o |
| 19 | obj-$(CONFIG_CPU_FREQ) += cpu-tegra.o | 20 | obj-$(CONFIG_CPU_FREQ) += cpu-tegra.o |
diff --git a/arch/arm/mach-tegra/board-harmony-pinmux.c b/arch/arm/mach-tegra/board-harmony-pinmux.c index 465808c8ac0b..1af85bccc0f1 100644 --- a/arch/arm/mach-tegra/board-harmony-pinmux.c +++ b/arch/arm/mach-tegra/board-harmony-pinmux.c | |||
| @@ -53,7 +53,7 @@ static struct tegra_pingroup_config harmony_pinmux[] = { | |||
| 53 | {TEGRA_PINGROUP_GME, TEGRA_MUX_SDIO4, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, | 53 | {TEGRA_PINGROUP_GME, TEGRA_MUX_SDIO4, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, |
| 54 | {TEGRA_PINGROUP_GPU, TEGRA_MUX_GMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, | 54 | {TEGRA_PINGROUP_GPU, TEGRA_MUX_GMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, |
| 55 | {TEGRA_PINGROUP_GPU7, TEGRA_MUX_RTCK, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, | 55 | {TEGRA_PINGROUP_GPU7, TEGRA_MUX_RTCK, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, |
| 56 | {TEGRA_PINGROUP_GPV, TEGRA_MUX_PCIE, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, | 56 | {TEGRA_PINGROUP_GPV, TEGRA_MUX_PCIE, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, |
| 57 | {TEGRA_PINGROUP_HDINT, TEGRA_MUX_HDMI, TEGRA_PUPD_PULL_UP, TEGRA_TRI_TRISTATE}, | 57 | {TEGRA_PINGROUP_HDINT, TEGRA_MUX_HDMI, TEGRA_PUPD_PULL_UP, TEGRA_TRI_TRISTATE}, |
| 58 | {TEGRA_PINGROUP_I2CP, TEGRA_MUX_I2C, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, | 58 | {TEGRA_PINGROUP_I2CP, TEGRA_MUX_I2C, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, |
| 59 | {TEGRA_PINGROUP_IRRX, TEGRA_MUX_UARTA, TEGRA_PUPD_PULL_UP, TEGRA_TRI_TRISTATE}, | 59 | {TEGRA_PINGROUP_IRRX, TEGRA_MUX_UARTA, TEGRA_PUPD_PULL_UP, TEGRA_TRI_TRISTATE}, |
| @@ -112,10 +112,10 @@ static struct tegra_pingroup_config harmony_pinmux[] = { | |||
| 112 | {TEGRA_PINGROUP_SDC, TEGRA_MUX_PWM, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL}, | 112 | {TEGRA_PINGROUP_SDC, TEGRA_MUX_PWM, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL}, |
| 113 | {TEGRA_PINGROUP_SDD, TEGRA_MUX_PWM, TEGRA_PUPD_PULL_UP, TEGRA_TRI_TRISTATE}, | 113 | {TEGRA_PINGROUP_SDD, TEGRA_MUX_PWM, TEGRA_PUPD_PULL_UP, TEGRA_TRI_TRISTATE}, |
| 114 | {TEGRA_PINGROUP_SDIO1, TEGRA_MUX_SDIO1, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, | 114 | {TEGRA_PINGROUP_SDIO1, TEGRA_MUX_SDIO1, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, |
| 115 | {TEGRA_PINGROUP_SLXA, TEGRA_MUX_PCIE, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, | 115 | {TEGRA_PINGROUP_SLXA, TEGRA_MUX_PCIE, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, |
| 116 | {TEGRA_PINGROUP_SLXC, TEGRA_MUX_SPDIF, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, | 116 | {TEGRA_PINGROUP_SLXC, TEGRA_MUX_SPDIF, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, |
| 117 | {TEGRA_PINGROUP_SLXD, TEGRA_MUX_SPDIF, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, | 117 | {TEGRA_PINGROUP_SLXD, TEGRA_MUX_SPDIF, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, |
| 118 | {TEGRA_PINGROUP_SLXK, TEGRA_MUX_PCIE, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, | 118 | {TEGRA_PINGROUP_SLXK, TEGRA_MUX_PCIE, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, |
| 119 | {TEGRA_PINGROUP_SPDI, TEGRA_MUX_RSVD2, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, | 119 | {TEGRA_PINGROUP_SPDI, TEGRA_MUX_RSVD2, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, |
| 120 | {TEGRA_PINGROUP_SPDO, TEGRA_MUX_RSVD2, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, | 120 | {TEGRA_PINGROUP_SPDO, TEGRA_MUX_RSVD2, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, |
| 121 | {TEGRA_PINGROUP_SPIA, TEGRA_MUX_GMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, | 121 | {TEGRA_PINGROUP_SPIA, TEGRA_MUX_GMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, |
diff --git a/arch/arm/mach-tegra/board-paz00.c b/arch/arm/mach-tegra/board-paz00.c index fcf4f377b1dc..330afdfa2475 100644 --- a/arch/arm/mach-tegra/board-paz00.c +++ b/arch/arm/mach-tegra/board-paz00.c | |||
| @@ -60,9 +60,9 @@ static struct plat_serial8250_port debug_uart_platform_data[] = { | |||
| 60 | .uartclk = 216000000, | 60 | .uartclk = 216000000, |
| 61 | }, { | 61 | }, { |
| 62 | /* serial port on mini-pcie */ | 62 | /* serial port on mini-pcie */ |
| 63 | .membase = IO_ADDRESS(TEGRA_UARTD_BASE), | 63 | .membase = IO_ADDRESS(TEGRA_UARTC_BASE), |
| 64 | .mapbase = TEGRA_UARTD_BASE, | 64 | .mapbase = TEGRA_UARTC_BASE, |
| 65 | .irq = INT_UARTD, | 65 | .irq = INT_UARTC, |
| 66 | .flags = UPF_BOOT_AUTOCONF | UPF_FIXED_TYPE, | 66 | .flags = UPF_BOOT_AUTOCONF | UPF_FIXED_TYPE, |
| 67 | .type = PORT_TEGRA, | 67 | .type = PORT_TEGRA, |
| 68 | .iotype = UPIO_MEM, | 68 | .iotype = UPIO_MEM, |
| @@ -174,7 +174,7 @@ static void __init tegra_paz00_fixup(struct tag *tags, char **cmdline, | |||
| 174 | static __initdata struct tegra_clk_init_table paz00_clk_init_table[] = { | 174 | static __initdata struct tegra_clk_init_table paz00_clk_init_table[] = { |
| 175 | /* name parent rate enabled */ | 175 | /* name parent rate enabled */ |
| 176 | { "uarta", "pll_p", 216000000, true }, | 176 | { "uarta", "pll_p", 216000000, true }, |
| 177 | { "uartd", "pll_p", 216000000, true }, | 177 | { "uartc", "pll_p", 216000000, true }, |
| 178 | 178 | ||
| 179 | { "pll_p_out4", "pll_p", 24000000, true }, | 179 | { "pll_p_out4", "pll_p", 24000000, true }, |
| 180 | { "usbd", "clk_m", 12000000, false }, | 180 | { "usbd", "clk_m", 12000000, false }, |
diff --git a/arch/arm/mach-tegra/board-paz00.h b/arch/arm/mach-tegra/board-paz00.h index ffa83f580db6..3c9f8da37ea3 100644 --- a/arch/arm/mach-tegra/board-paz00.h +++ b/arch/arm/mach-tegra/board-paz00.h | |||
| @@ -22,7 +22,7 @@ | |||
| 22 | /* SDCARD */ | 22 | /* SDCARD */ |
| 23 | #define TEGRA_GPIO_SD1_CD TEGRA_GPIO_PV5 | 23 | #define TEGRA_GPIO_SD1_CD TEGRA_GPIO_PV5 |
| 24 | #define TEGRA_GPIO_SD1_WP TEGRA_GPIO_PH1 | 24 | #define TEGRA_GPIO_SD1_WP TEGRA_GPIO_PH1 |
| 25 | #define TEGRA_GPIO_SD1_POWER TEGRA_GPIO_PT3 | 25 | #define TEGRA_GPIO_SD1_POWER TEGRA_GPIO_PV1 |
| 26 | 26 | ||
| 27 | /* ULPI */ | 27 | /* ULPI */ |
| 28 | #define TEGRA_ULPI_RST TEGRA_GPIO_PV0 | 28 | #define TEGRA_ULPI_RST TEGRA_GPIO_PV0 |
diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c index 2db20da1d585..fac449e84d80 100644 --- a/arch/arm/mach-tegra/common.c +++ b/arch/arm/mach-tegra/common.c | |||
| @@ -95,8 +95,6 @@ static void __init tegra_init_cache(u32 tag_latency, u32 data_latency) | |||
| 95 | #ifdef CONFIG_ARCH_TEGRA_2x_SOC | 95 | #ifdef CONFIG_ARCH_TEGRA_2x_SOC |
| 96 | void __init tegra20_init_early(void) | 96 | void __init tegra20_init_early(void) |
| 97 | { | 97 | { |
| 98 | disable_hlt(); /* idle WFI usage needs to be confirmed */ | ||
| 99 | |||
| 100 | tegra_init_fuse(); | 98 | tegra_init_fuse(); |
| 101 | tegra2_init_clocks(); | 99 | tegra2_init_clocks(); |
| 102 | tegra_clk_init_from_table(tegra20_clk_init_table); | 100 | tegra_clk_init_from_table(tegra20_clk_init_table); |
diff --git a/arch/arm/mach-tegra/pcie.c b/arch/arm/mach-tegra/pcie.c index af8b63435727..91536996c3f0 100644 --- a/arch/arm/mach-tegra/pcie.c +++ b/arch/arm/mach-tegra/pcie.c | |||
| @@ -585,10 +585,10 @@ static void tegra_pcie_setup_translations(void) | |||
| 585 | afi_writel(0, AFI_MSI_BAR_SZ); | 585 | afi_writel(0, AFI_MSI_BAR_SZ); |
| 586 | } | 586 | } |
| 587 | 587 | ||
| 588 | static void tegra_pcie_enable_controller(void) | 588 | static int tegra_pcie_enable_controller(void) |
| 589 | { | 589 | { |
| 590 | u32 val, reg; | 590 | u32 val, reg; |
| 591 | int i; | 591 | int i, timeout; |
| 592 | 592 | ||
| 593 | /* Enable slot clock and pulse the reset signals */ | 593 | /* Enable slot clock and pulse the reset signals */ |
| 594 | for (i = 0, reg = AFI_PEX0_CTRL; i < 2; i++, reg += 0x8) { | 594 | for (i = 0, reg = AFI_PEX0_CTRL; i < 2; i++, reg += 0x8) { |
| @@ -639,8 +639,14 @@ static void tegra_pcie_enable_controller(void) | |||
| 639 | pads_writel(0xfa5cfa5c, 0xc8); | 639 | pads_writel(0xfa5cfa5c, 0xc8); |
| 640 | 640 | ||
| 641 | /* Wait for the PLL to lock */ | 641 | /* Wait for the PLL to lock */ |
| 642 | timeout = 300; | ||
| 642 | do { | 643 | do { |
| 643 | val = pads_readl(PADS_PLL_CTL); | 644 | val = pads_readl(PADS_PLL_CTL); |
| 645 | usleep_range(1000, 1000); | ||
| 646 | if (--timeout == 0) { | ||
| 647 | pr_err("Tegra PCIe error: timeout waiting for PLL\n"); | ||
| 648 | return -EBUSY; | ||
| 649 | } | ||
| 644 | } while (!(val & PADS_PLL_CTL_LOCKDET)); | 650 | } while (!(val & PADS_PLL_CTL_LOCKDET)); |
| 645 | 651 | ||
| 646 | /* turn off IDDQ override */ | 652 | /* turn off IDDQ override */ |
| @@ -671,7 +677,7 @@ static void tegra_pcie_enable_controller(void) | |||
| 671 | /* Disable all execptions */ | 677 | /* Disable all execptions */ |
| 672 | afi_writel(0, AFI_FPCI_ERROR_MASKS); | 678 | afi_writel(0, AFI_FPCI_ERROR_MASKS); |
| 673 | 679 | ||
| 674 | return; | 680 | return 0; |
| 675 | } | 681 | } |
| 676 | 682 | ||
| 677 | static void tegra_pcie_xclk_clamp(bool clamp) | 683 | static void tegra_pcie_xclk_clamp(bool clamp) |
| @@ -921,7 +927,9 @@ int __init tegra_pcie_init(bool init_port0, bool init_port1) | |||
| 921 | if (err) | 927 | if (err) |
| 922 | return err; | 928 | return err; |
| 923 | 929 | ||
| 924 | tegra_pcie_enable_controller(); | 930 | err = tegra_pcie_enable_controller(); |
| 931 | if (err) | ||
| 932 | return err; | ||
| 925 | 933 | ||
| 926 | /* setup the AFI address translations */ | 934 | /* setup the AFI address translations */ |
| 927 | tegra_pcie_setup_translations(); | 935 | tegra_pcie_setup_translations(); |
diff --git a/arch/arm/mach-tegra/usb_phy.c b/arch/arm/mach-tegra/usb_phy.c index 37576a721aeb..6091cf3d8e8b 100644 --- a/arch/arm/mach-tegra/usb_phy.c +++ b/arch/arm/mach-tegra/usb_phy.c | |||
| @@ -22,6 +22,7 @@ | |||
| 22 | #include <linux/delay.h> | 22 | #include <linux/delay.h> |
| 23 | #include <linux/slab.h> | 23 | #include <linux/slab.h> |
| 24 | #include <linux/err.h> | 24 | #include <linux/err.h> |
| 25 | #include <linux/export.h> | ||
| 25 | #include <linux/platform_device.h> | 26 | #include <linux/platform_device.h> |
| 26 | #include <linux/io.h> | 27 | #include <linux/io.h> |
| 27 | #include <linux/gpio.h> | 28 | #include <linux/gpio.h> |
| @@ -730,6 +731,7 @@ err0: | |||
| 730 | kfree(phy); | 731 | kfree(phy); |
| 731 | return ERR_PTR(err); | 732 | return ERR_PTR(err); |
| 732 | } | 733 | } |
| 734 | EXPORT_SYMBOL_GPL(tegra_usb_phy_open); | ||
| 733 | 735 | ||
| 734 | int tegra_usb_phy_power_on(struct tegra_usb_phy *phy) | 736 | int tegra_usb_phy_power_on(struct tegra_usb_phy *phy) |
| 735 | { | 737 | { |
| @@ -738,6 +740,7 @@ int tegra_usb_phy_power_on(struct tegra_usb_phy *phy) | |||
| 738 | else | 740 | else |
| 739 | return utmi_phy_power_on(phy); | 741 | return utmi_phy_power_on(phy); |
| 740 | } | 742 | } |
| 743 | EXPORT_SYMBOL_GPL(tegra_usb_phy_power_on); | ||
| 741 | 744 | ||
| 742 | void tegra_usb_phy_power_off(struct tegra_usb_phy *phy) | 745 | void tegra_usb_phy_power_off(struct tegra_usb_phy *phy) |
| 743 | { | 746 | { |
| @@ -746,18 +749,21 @@ void tegra_usb_phy_power_off(struct tegra_usb_phy *phy) | |||
| 746 | else | 749 | else |
| 747 | utmi_phy_power_off(phy); | 750 | utmi_phy_power_off(phy); |
| 748 | } | 751 | } |
| 752 | EXPORT_SYMBOL_GPL(tegra_usb_phy_power_off); | ||
| 749 | 753 | ||
| 750 | void tegra_usb_phy_preresume(struct tegra_usb_phy *phy) | 754 | void tegra_usb_phy_preresume(struct tegra_usb_phy *phy) |
| 751 | { | 755 | { |
| 752 | if (!phy_is_ulpi(phy)) | 756 | if (!phy_is_ulpi(phy)) |
| 753 | utmi_phy_preresume(phy); | 757 | utmi_phy_preresume(phy); |
| 754 | } | 758 | } |
| 759 | EXPORT_SYMBOL_GPL(tegra_usb_phy_preresume); | ||
| 755 | 760 | ||
| 756 | void tegra_usb_phy_postresume(struct tegra_usb_phy *phy) | 761 | void tegra_usb_phy_postresume(struct tegra_usb_phy *phy) |
| 757 | { | 762 | { |
| 758 | if (!phy_is_ulpi(phy)) | 763 | if (!phy_is_ulpi(phy)) |
| 759 | utmi_phy_postresume(phy); | 764 | utmi_phy_postresume(phy); |
| 760 | } | 765 | } |
| 766 | EXPORT_SYMBOL_GPL(tegra_usb_phy_postresume); | ||
| 761 | 767 | ||
| 762 | void tegra_ehci_phy_restore_start(struct tegra_usb_phy *phy, | 768 | void tegra_ehci_phy_restore_start(struct tegra_usb_phy *phy, |
| 763 | enum tegra_usb_phy_port_speed port_speed) | 769 | enum tegra_usb_phy_port_speed port_speed) |
| @@ -765,24 +771,28 @@ void tegra_ehci_phy_restore_start(struct tegra_usb_phy *phy, | |||
| 765 | if (!phy_is_ulpi(phy)) | 771 | if (!phy_is_ulpi(phy)) |
| 766 | utmi_phy_restore_start(phy, port_speed); | 772 | utmi_phy_restore_start(phy, port_speed); |
| 767 | } | 773 | } |
| 774 | EXPORT_SYMBOL_GPL(tegra_ehci_phy_restore_start); | ||
| 768 | 775 | ||
| 769 | void tegra_ehci_phy_restore_end(struct tegra_usb_phy *phy) | 776 | void tegra_ehci_phy_restore_end(struct tegra_usb_phy *phy) |
| 770 | { | 777 | { |
| 771 | if (!phy_is_ulpi(phy)) | 778 | if (!phy_is_ulpi(phy)) |
| 772 | utmi_phy_restore_end(phy); | 779 | utmi_phy_restore_end(phy); |
| 773 | } | 780 | } |
| 781 | EXPORT_SYMBOL_GPL(tegra_ehci_phy_restore_end); | ||
| 774 | 782 | ||
| 775 | void tegra_usb_phy_clk_disable(struct tegra_usb_phy *phy) | 783 | void tegra_usb_phy_clk_disable(struct tegra_usb_phy *phy) |
| 776 | { | 784 | { |
| 777 | if (!phy_is_ulpi(phy)) | 785 | if (!phy_is_ulpi(phy)) |
| 778 | utmi_phy_clk_disable(phy); | 786 | utmi_phy_clk_disable(phy); |
| 779 | } | 787 | } |
| 788 | EXPORT_SYMBOL_GPL(tegra_usb_phy_clk_disable); | ||
| 780 | 789 | ||
| 781 | void tegra_usb_phy_clk_enable(struct tegra_usb_phy *phy) | 790 | void tegra_usb_phy_clk_enable(struct tegra_usb_phy *phy) |
| 782 | { | 791 | { |
| 783 | if (!phy_is_ulpi(phy)) | 792 | if (!phy_is_ulpi(phy)) |
| 784 | utmi_phy_clk_enable(phy); | 793 | utmi_phy_clk_enable(phy); |
| 785 | } | 794 | } |
| 795 | EXPORT_SYMBOL_GPL(tegra_usb_phy_clk_enable); | ||
| 786 | 796 | ||
| 787 | void tegra_usb_phy_close(struct tegra_usb_phy *phy) | 797 | void tegra_usb_phy_close(struct tegra_usb_phy *phy) |
| 788 | { | 798 | { |
| @@ -794,3 +804,4 @@ void tegra_usb_phy_close(struct tegra_usb_phy *phy) | |||
| 794 | clk_put(phy->pll_u); | 804 | clk_put(phy->pll_u); |
| 795 | kfree(phy); | 805 | kfree(phy); |
| 796 | } | 806 | } |
| 807 | EXPORT_SYMBOL_GPL(tegra_usb_phy_close); | ||
