Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8e95a53b authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull blackfin changes from Bob Liu:
 "The biggest change was added an new processor(bf60x series).

  Bf60x series processor of blackfin can up to 1GHz with Hardware
  Support for HD Video Analytics, it use the same blackfin ISA but with
  some changes on system buses, interrupt controller and peripheral
  devices.

  Added dir arch/blackfin/mach-bf609/ and did some changes to the
  framework made linux working fine on the reference board bf609-ezkit
  now."

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lliubbo/blackfin: (41 commits)
  blackfin: fix build after add bf60x mach/pm.h
  blackfin: twi: include linux/i2c.h
  blackfin: bf60x: add head file for crc controller
  blackfin: bf60x: twi: work around temporary anomaly 0501001
  blackfin: twi: Move TWI MMR access macro to twi head file
  blackfin: twi: Move TWI peripheral pin request array to platform data
  blackfin: bf60x: anomaly: Add a temporary anomaly 0501001
  blackfin: bf60x: Rename the DDR controller macro
  blackfin: mach-bf609: pm: cleanup bfin_deepsleep
  blackfin: bf60x: cleanup get clock code
  blackfin: bf60x: pm: Add a debug option to calculate kernel wakeup time.
  blackfin: bf60x: add wakeup source select
  blackfin: bf60x: make clock changeable in kernel menuconfig
  blackfin:mach-bf609: fix norflash for bf609-ezkit
  blackfin: mach-bf609: add can_wakeup to ethernet device
  blackfin: remove redundant CONFIG_BF60x macro
  blackfin: rotary: Add pm_wakeup flag to platform data structure.
  bfin_gpio: fix bf548-ezkit kernel fail to boot
  bfin_dma: fix initcall return error in proc_dma_init()
  Blackfin: delete fork func
  ...
parents cd975ae0 672552ad
Loading
Loading
Loading
Loading

arch/blackfin/ADI_BSD.txt

deleted100644 → 0
+0 −41
Original line number Diff line number Diff line
This BSD-Style License applies to a few files in ./arch/blackfin directory,
and is included here, so people understand which code they can use outside
the Linux kernel, in non-GPL based projects.

Using the files released under the "ADI BSD" license, must comply with
these license terms.

--------------------------------------------------------------------------

Copyright Analog Devices, Inc.

All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
  - Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.
  - Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in
    the documentation and/or other materials provided with the
    distribution.
  - Neither the name of Analog Devices, Inc. nor the names of its
    contributors may be used to endorse or promote products derived
    from this software without specific prior written permission.
  - The use of this software may or may not infringe the patent rights
    of one or more patent holders.  This license does not release you
    from the requirement that you obtain separate licenses from these
    patent holders to use this software.

THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT,
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
+33 −0
Original line number Diff line number Diff line
The Clear BSD license:

Copyright (c) 2012, Analog Devices, Inc.  All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the
disclaimer below) provided that the following conditions are met:

* Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the
   distribution.

* Neither the name of Analog Devices, Inc.  nor the names of its
   contributors may be used to endorse or promote products derived
   from this software without specific prior written permission.

NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+173 −11
Original line number Diff line number Diff line
@@ -226,6 +226,12 @@ config BF561
	help
	  BF561 Processor Support.

config BF609
	bool "BF609"
	select CLKDEV_LOOKUP
	help
	  BF609 Processor Support.

endchoice

config SMP
@@ -251,27 +257,27 @@ config HOTPLUG_CPU

config BF_REV_MIN
	int
	default 0 if (BF51x || BF52x || (BF54x && !BF54xM))
	default 0 if (BF51x || BF52x || (BF54x && !BF54xM)) || BF60x
	default 2 if (BF537 || BF536 || BF534)
	default 3 if (BF561 || BF533 || BF532 || BF531 || BF54xM)
	default 4 if (BF538 || BF539)

config BF_REV_MAX
	int
	default 2 if (BF51x || BF52x || (BF54x && !BF54xM))
	default 2 if (BF51x || BF52x || (BF54x && !BF54xM)) || BF60x
	default 3 if (BF537 || BF536 || BF534 || BF54xM)
	default 5 if (BF561 || BF538 || BF539)
	default 6 if (BF533 || BF532 || BF531)

choice
	prompt "Silicon Rev"
	default BF_REV_0_0 if (BF51x || BF52x)
	default BF_REV_0_0 if (BF51x || BF52x || BF60x)
	default BF_REV_0_2 if (BF534 || BF536 || BF537 || (BF54x && !BF54xM))
	default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF54xM || BF561)

config BF_REV_0_0
	bool "0.0"
	depends on (BF51x || BF52x || (BF54x && !BF54xM))
	depends on (BF51x || BF52x || (BF54x && !BF54xM) || BF60x)

config BF_REV_0_1
	bool "0.1"
@@ -350,6 +356,7 @@ source "arch/blackfin/mach-bf561/Kconfig"
source "arch/blackfin/mach-bf537/Kconfig"
source "arch/blackfin/mach-bf538/Kconfig"
source "arch/blackfin/mach-bf548/Kconfig"
source "arch/blackfin/mach-bf609/Kconfig"

menu "Board customizations"

@@ -379,6 +386,12 @@ config BOOT_LOAD
	  memory region is used to capture NULL pointer references as well
	  as some core kernel functions.

config PHY_RAM_BASE_ADDRESS
	hex "Physical RAM Base"
	default 0x0
	help
	  set BF609 FPGA physical SRAM base address

config ROM_BASE
	hex "Kernel ROM Base"
	depends on ROMKERNEL
@@ -422,7 +435,7 @@ config BFIN_KERNEL_CLOCK

config PLL_BYPASS
	bool "Bypass PLL"
	depends on BFIN_KERNEL_CLOCK
	depends on BFIN_KERNEL_CLOCK && (!BF60x)
	default n

config CLKIN_HALF
@@ -441,7 +454,7 @@ config VCO_MULT
	default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
	default "22" if BFIN533_BLUETECHNIX_CM
	default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
	default "20" if BFIN561_EZKIT
	default "20" if (BFIN561_EZKIT || BF609)
	default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
	default "25" if BFIN527_AD7160EVAL
	help
@@ -473,12 +486,45 @@ config SCLK_DIV
	int "System Clock Divider"
	depends on BFIN_KERNEL_CLOCK
	range 1 15
	default 5
	default 4
	help
	  This sets the frequency of the system clock (including SDRAM or DDR).
	  This sets the frequency of the system clock (including SDRAM or DDR) on
	  !BF60x else it set the clock for system buses and provides the
	  source from which SCLK0 and SCLK1 are derived.
	  This can be between 1 and 15
	  System Clock = (PLL frequency) / (this setting)

config SCLK0_DIV
	int "System Clock0 Divider"
	depends on BFIN_KERNEL_CLOCK && BF60x
	range 1 15
	default 1
	help
	  This sets the frequency of the system clock0 for PVP and all other
	  peripherals not clocked by SCLK1.
	  This can be between 1 and 15
	  System Clock0 = (System Clock) / (this setting)

config SCLK1_DIV
	int "System Clock1 Divider"
	depends on BFIN_KERNEL_CLOCK && BF60x
	range 1 15
	default 1
	help
	  This sets the frequency of the system clock1 (including SPORT, SPI and ACM).
	  This can be between 1 and 15
	  System Clock1 = (System Clock) / (this setting)

config DCLK_DIV
	int "DDR Clock Divider"
	depends on BFIN_KERNEL_CLOCK && BF60x
	range 1 15
	default 2
	help
	  This sets the frequency of the DDR memory.
	  This can be between 1 and 15
	  DDR Clock = (PLL frequency) / (this setting)

choice
	prompt "DDR SDRAM Chip Type"
	depends on BFIN_KERNEL_CLOCK
@@ -494,7 +540,7 @@ endchoice

choice
	prompt "DDR/SDRAM Timing"
	depends on BFIN_KERNEL_CLOCK
	depends on BFIN_KERNEL_CLOCK && !BF60x
	default BFIN_KERNEL_CLOCK_MEMINIT_CALC
	help
	  This option allows you to specify Blackfin SDRAM/DDR Timing parameters
@@ -576,6 +622,7 @@ config MAX_VCO_HZ
	default 600000000 if BF548
	default 533333333 if BF549
	default 600000000 if BF561
	default 800000000 if BF609

config MIN_VCO_HZ
	int
@@ -583,6 +630,7 @@ config MIN_VCO_HZ

config MAX_SCLK_HZ
	int
	default 200000000 if BF609
	default 133333333

config MIN_SCLK_HZ
@@ -1051,7 +1099,7 @@ endchoice
config BFIN_L2_DCACHEABLE
	bool "Enable DCACHE for L2 SRAM"
	depends on BFIN_DCACHE
	depends on (BF54x || BF561) && !SMP
	depends on (BF54x || BF561 || BF60x) && !SMP
	default n
choice
	prompt "L2 SRAM DCACHE policy"
@@ -1077,6 +1125,7 @@ config MPU
comment "Asynchronous Memory Configuration"

menu "EBIU_AMGCTL Global Control"
	depends on !BF60x
config C_AMCKEN
	bool "Enable CLKOUT"
	default y
@@ -1127,6 +1176,7 @@ endchoice
endmenu

menu "EBIU_AMBCTL Control"
	depends on !BF60x
config BANK_0
	hex "Bank 0 (AMBCTL0.L)"
	default 0x7BB0
@@ -1206,7 +1256,7 @@ config ARCH_SUSPEND_POSSIBLE

choice
	prompt "Standby Power Saving Mode"
	depends on PM
	depends on PM && !BF60x
	default PM_BFIN_SLEEP_DEEPER
config  PM_BFIN_SLEEP_DEEPER
	bool "Sleep Deeper"
@@ -1261,6 +1311,118 @@ config PM_BFIN_WAKE_GP
	  On ADSP-BF549 this option enables the the same functionality on the
	  /MRXON pin also PH7.

config PM_BFIN_WAKE_PA15
	bool "Allow Wake-Up from PA15"
	depends on PM && BF60x
	default n
	help
	  Enable PA15 Wake-Up

config PM_BFIN_WAKE_PA15_POL
	int "Wake-up priority"
	depends on PM_BFIN_WAKE_PA15
	default 0
	help
	  Wake-Up priority 0(low) 1(high)

config PM_BFIN_WAKE_PB15
	bool "Allow Wake-Up from PB15"
	depends on PM && BF60x
	default n
	help
	  Enable PB15 Wake-Up

config PM_BFIN_WAKE_PB15_POL
	int "Wake-up priority"
	depends on PM_BFIN_WAKE_PB15
	default 0
	help
	  Wake-Up priority 0(low) 1(high)

config PM_BFIN_WAKE_PC15
	bool "Allow Wake-Up from PC15"
	depends on PM && BF60x
	default n
	help
	  Enable PC15 Wake-Up

config PM_BFIN_WAKE_PC15_POL
	int "Wake-up priority"
	depends on PM_BFIN_WAKE_PC15
	default 0
	help
	  Wake-Up priority 0(low) 1(high)

config PM_BFIN_WAKE_PD06
	bool "Allow Wake-Up from PD06(ETH0_PHYINT)"
	depends on PM && BF60x
	default n
	help
	  Enable PD06(ETH0_PHYINT) Wake-up

config PM_BFIN_WAKE_PD06_POL
	int "Wake-up priority"
	depends on PM_BFIN_WAKE_PD06
	default 0
	help
	  Wake-Up priority 0(low) 1(high)

config PM_BFIN_WAKE_PE12
	bool "Allow Wake-Up from PE12(ETH1_PHYINT, PUSH BUTTON)"
	depends on PM && BF60x
	default n
	help
	  Enable PE12(ETH1_PHYINT, PUSH BUTTON) Wake-up

config PM_BFIN_WAKE_PE12_POL
	int "Wake-up priority"
	depends on PM_BFIN_WAKE_PE12
	default 0
	help
	  Wake-Up priority 0(low) 1(high)

config PM_BFIN_WAKE_PG04
	bool "Allow Wake-Up from PG04(CAN0_RX)"
	depends on PM && BF60x
	default n
	help
	  Enable PG04(CAN0_RX) Wake-up

config PM_BFIN_WAKE_PG04_POL
	int "Wake-up priority"
	depends on PM_BFIN_WAKE_PG04
	default 0
	help
	  Wake-Up priority 0(low) 1(high)

config PM_BFIN_WAKE_PG13
	bool "Allow Wake-Up from PG13"
	depends on PM && BF60x
	default n
	help
	  Enable PG13 Wake-Up

config PM_BFIN_WAKE_PG13_POL
	int "Wake-up priority"
	depends on PM_BFIN_WAKE_PG13
	default 0
	help
	  Wake-Up priority 0(low) 1(high)

config PM_BFIN_WAKE_USB
	bool "Allow Wake-Up from (USB)"
	depends on PM && BF60x
	default n
	help
	  Enable (USB) Wake-up

config PM_BFIN_WAKE_USB_POL
	int "Wake-up priority"
	depends on PM_BFIN_WAKE_USB
	default 0
	help
	  Wake-Up priority 0(low) 1(high)

endmenu

menu "CPU Frequency scaling"
+7 −0
Original line number Diff line number Diff line
@@ -253,4 +253,11 @@ config BFIN_PSEUDODBG_INSNS

	  Most people should say N here.

config BFIN_PM_WAKEUP_TIME_BENCH
	bool "Display the total time for kernel to resume from power saving mode"
	default n
	help
	  Display the total time when kernel resumes normal from standby or
	  suspend to mem mode.

endmenu
+2 −0
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ machine-$(CONFIG_BF548M) := bf548
machine-$(CONFIG_BF549)  := bf548
machine-$(CONFIG_BF549M) := bf548
machine-$(CONFIG_BF561)  := bf561
machine-$(CONFIG_BF609)  := bf609
MACHINE := $(machine-y)
export MACHINE

@@ -86,6 +87,7 @@ cpu-$(CONFIG_BF548M) := bf548m
cpu-$(CONFIG_BF549)  := bf549
cpu-$(CONFIG_BF549M) := bf549m
cpu-$(CONFIG_BF561)  := bf561
cpu-$(CONFIG_BF609)  := bf609

rev-$(CONFIG_BF_REV_0_0)  := 0.0
rev-$(CONFIG_BF_REV_0_1)  := 0.1
Loading