12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- From 14909c4e4e836925668e74fc6e0e85ba0283cbf9 Mon Sep 17 00:00:00 2001
- From: Hauke Mehrtens <[email protected]>
- Date: Fri, 6 Jan 2017 17:40:12 +0100
- Subject: [PATCH 2/2] MIPS: lantiq: improve USB initialization
- This adds code to initialize the USB controller and PHY also on Danube,
- Amazon SE and AR10. This code is based on the Vendor driver from
- different UGW versions and compared to the hardware documentation.
- Signed-off-by: Hauke Mehrtens <[email protected]>
- ---
- arch/mips/lantiq/xway/sysctrl.c | 20 +++++++
- 2 files changed, 110 insertions(+), 30 deletions(-)
- --- a/arch/mips/lantiq/xway/sysctrl.c
- +++ b/arch/mips/lantiq/xway/sysctrl.c
- @@ -248,6 +248,25 @@ static void pmu_disable(struct clk *clk)
- pr_warn("deactivating PMU module failed!");
- }
-
- +static void usb_set_clock(void)
- +{
- + unsigned int val = ltq_cgu_r32(ifccr);
- +
- + if (of_machine_is_compatible("lantiq,ar10") ||
- + of_machine_is_compatible("lantiq,grx390")) {
- + val &= ~0x03; /* XTAL divided by 3 */
- + } else if (of_machine_is_compatible("lantiq,ar9") ||
- + of_machine_is_compatible("lantiq,vr9")) {
- + /* TODO: this depends on the XTAL frequency */
- + val |= 0x03; /* XTAL divided by 3 */
- + } else if (of_machine_is_compatible("lantiq,ase")) {
- + val |= 0x20; /* from XTAL */
- + } else if (of_machine_is_compatible("lantiq,danube")) {
- + val |= 0x30; /* 12 MHz, generated from 36 MHz */
- + }
- + ltq_cgu_w32(val, ifccr);
- +}
- +
- /* the pci enable helper */
- static int pci_enable(struct clk *clk)
- {
- @@ -585,4 +604,5 @@ void __init ltq_soc_init(void)
- clkdev_add_pmu("1e116000.mei", "dfe", 1, 0, PMU_DFE);
- clkdev_add_pmu("1e100400.serial", NULL, 1, 0, PMU_ASC0);
- }
- + usb_set_clock();
- }
|