mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-28 21:33:52 +00:00
Merge branches 'for-3.16/i2c-hid', 'for-3.16/rmi4', 'for-3.16/sony' and 'for-3.16/thingm' into for-linus
This commit is contained in:
commit
beea3f4a29
934 changed files with 11609 additions and 27207 deletions
1
.mailmap
1
.mailmap
|
@ -99,6 +99,7 @@ Sachin P Sant <ssant@in.ibm.com>
|
||||||
Sam Ravnborg <sam@mars.ravnborg.org>
|
Sam Ravnborg <sam@mars.ravnborg.org>
|
||||||
Sascha Hauer <s.hauer@pengutronix.de>
|
Sascha Hauer <s.hauer@pengutronix.de>
|
||||||
S.Çağlar Onur <caglar@pardus.org.tr>
|
S.Çağlar Onur <caglar@pardus.org.tr>
|
||||||
|
Shiraz Hashim <shiraz.linux.kernel@gmail.com> <shiraz.hashim@st.com>
|
||||||
Simon Kelley <simon@thekelleys.org.uk>
|
Simon Kelley <simon@thekelleys.org.uk>
|
||||||
Stéphane Witzmann <stephane.witzmann@ubpmes.univ-bpclermont.fr>
|
Stéphane Witzmann <stephane.witzmann@ubpmes.univ-bpclermont.fr>
|
||||||
Stephen Hemminger <shemminger@osdl.org>
|
Stephen Hemminger <shemminger@osdl.org>
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
What: /sys/class/leds/blink1::<serial>/rgb
|
|
||||||
Date: January 2013
|
|
||||||
Contact: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
|
|
||||||
Description: The ThingM blink1 is an USB RGB LED. The color notation is
|
|
||||||
3-byte hexadecimal. Read this attribute to get the last set
|
|
||||||
color. Write the 24-bit hexadecimal color to change the current
|
|
||||||
LED color. The default color is full white (0xFFFFFF).
|
|
||||||
For instance, set the color to green with: echo 00FF00 > rgb
|
|
||||||
|
|
||||||
What: /sys/class/leds/blink1::<serial>/fade
|
|
||||||
Date: January 2013
|
|
||||||
Contact: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
|
|
||||||
Description: This attribute allows to set a fade time in milliseconds for
|
|
||||||
the next color change. Read the attribute to know the current
|
|
||||||
fade time. The default value is set to 0 (no fade time). For
|
|
||||||
instance, set a fade time of 2 seconds with: echo 2000 > fade
|
|
||||||
|
|
||||||
What: /sys/class/leds/blink1::<serial>/play
|
|
||||||
Date: January 2013
|
|
||||||
Contact: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
|
|
||||||
Description: This attribute is used to play/pause the light patterns. Write 1
|
|
||||||
to start playing, 0 to stop. Reading this attribute returns the
|
|
||||||
current playing status.
|
|
|
@ -2285,6 +2285,11 @@ void intel_crt_init(struct drm_device *dev)
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Modeset Helper Functions Reference</title>
|
<title>Modeset Helper Functions Reference</title>
|
||||||
!Edrivers/gpu/drm/drm_crtc_helper.c
|
!Edrivers/gpu/drm/drm_crtc_helper.c
|
||||||
|
</sect2>
|
||||||
|
<sect2>
|
||||||
|
<title>Output Probing Helper Functions Reference</title>
|
||||||
|
!Pdrivers/gpu/drm/drm_probe_helper.c output probing helper overview
|
||||||
|
!Edrivers/gpu/drm/drm_probe_helper.c
|
||||||
</sect2>
|
</sect2>
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>fbdev Helper Functions Reference</title>
|
<title>fbdev Helper Functions Reference</title>
|
||||||
|
|
|
@ -19,6 +19,9 @@ to deliver its interrupts via SPIs.
|
||||||
|
|
||||||
- clock-frequency : The frequency of the main counter, in Hz. Optional.
|
- clock-frequency : The frequency of the main counter, in Hz. Optional.
|
||||||
|
|
||||||
|
- always-on : a boolean property. If present, the timer is powered through an
|
||||||
|
always-on power domain, therefore it never loses context.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
timer {
|
timer {
|
||||||
|
|
|
@ -24,6 +24,7 @@ Required properties:
|
||||||
* "sata-phy" for the SATA 6.0Gbps PHY
|
* "sata-phy" for the SATA 6.0Gbps PHY
|
||||||
|
|
||||||
Optional properties:
|
Optional properties:
|
||||||
|
- dma-coherent : Present if dma operations are coherent
|
||||||
- status : Shall be "ok" if enabled or "disabled" if disabled.
|
- status : Shall be "ok" if enabled or "disabled" if disabled.
|
||||||
Default is "ok".
|
Default is "ok".
|
||||||
|
|
||||||
|
@ -55,6 +56,7 @@ Example:
|
||||||
<0x0 0x1f22e000 0x0 0x1000>,
|
<0x0 0x1f22e000 0x0 0x1000>,
|
||||||
<0x0 0x1f227000 0x0 0x1000>;
|
<0x0 0x1f227000 0x0 0x1000>;
|
||||||
interrupts = <0x0 0x87 0x4>;
|
interrupts = <0x0 0x87 0x4>;
|
||||||
|
dma-coherent;
|
||||||
status = "ok";
|
status = "ok";
|
||||||
clocks = <&sataclk 0>;
|
clocks = <&sataclk 0>;
|
||||||
phys = <&phy2 0>;
|
phys = <&phy2 0>;
|
||||||
|
@ -69,6 +71,7 @@ Example:
|
||||||
<0x0 0x1f23e000 0x0 0x1000>,
|
<0x0 0x1f23e000 0x0 0x1000>,
|
||||||
<0x0 0x1f237000 0x0 0x1000>;
|
<0x0 0x1f237000 0x0 0x1000>;
|
||||||
interrupts = <0x0 0x88 0x4>;
|
interrupts = <0x0 0x88 0x4>;
|
||||||
|
dma-coherent;
|
||||||
status = "ok";
|
status = "ok";
|
||||||
clocks = <&sataclk 0>;
|
clocks = <&sataclk 0>;
|
||||||
phys = <&phy3 0>;
|
phys = <&phy3 0>;
|
||||||
|
|
|
@ -4,11 +4,15 @@ Required properties:
|
||||||
- compatible: Should be "snps,arc-emac"
|
- compatible: Should be "snps,arc-emac"
|
||||||
- reg: Address and length of the register set for the device
|
- reg: Address and length of the register set for the device
|
||||||
- interrupts: Should contain the EMAC interrupts
|
- interrupts: Should contain the EMAC interrupts
|
||||||
- clock-frequency: CPU frequency. It is needed to calculate and set polling
|
|
||||||
period of EMAC.
|
|
||||||
- max-speed: see ethernet.txt file in the same directory.
|
- max-speed: see ethernet.txt file in the same directory.
|
||||||
- phy: see ethernet.txt file in the same directory.
|
- phy: see ethernet.txt file in the same directory.
|
||||||
|
|
||||||
|
Clock handling:
|
||||||
|
The clock frequency is needed to calculate and set polling period of EMAC.
|
||||||
|
It must be provided by one of:
|
||||||
|
- clock-frequency: CPU frequency.
|
||||||
|
- clocks: reference to the clock supplying the EMAC.
|
||||||
|
|
||||||
Child nodes of the driver are the individual PHY devices connected to the
|
Child nodes of the driver are the individual PHY devices connected to the
|
||||||
MDIO bus. They must have a "reg" property given the PHY address on the MDIO bus.
|
MDIO bus. They must have a "reg" property given the PHY address on the MDIO bus.
|
||||||
|
|
||||||
|
@ -19,7 +23,11 @@ Examples:
|
||||||
reg = <0xc0fc2000 0x3c>;
|
reg = <0xc0fc2000 0x3c>;
|
||||||
interrupts = <6>;
|
interrupts = <6>;
|
||||||
mac-address = [ 00 11 22 33 44 55 ];
|
mac-address = [ 00 11 22 33 44 55 ];
|
||||||
|
|
||||||
clock-frequency = <80000000>;
|
clock-frequency = <80000000>;
|
||||||
|
/* or */
|
||||||
|
clocks = <&emac_clock>;
|
||||||
|
|
||||||
max-speed = <100>;
|
max-speed = <100>;
|
||||||
phy = <&phy0>;
|
phy = <&phy0>;
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ The following properties are common to the Ethernet controllers:
|
||||||
- max-frame-size: number, maximum transfer unit (IEEE defined MTU), rather than
|
- max-frame-size: number, maximum transfer unit (IEEE defined MTU), rather than
|
||||||
the maximum frame size (there's contradiction in ePAPR).
|
the maximum frame size (there's contradiction in ePAPR).
|
||||||
- phy-mode: string, operation mode of the PHY interface; supported values are
|
- phy-mode: string, operation mode of the PHY interface; supported values are
|
||||||
"mii", "gmii", "sgmii", "tbi", "rev-mii", "rmii", "rgmii", "rgmii-id",
|
"mii", "gmii", "sgmii", "qsgmii", "tbi", "rev-mii", "rmii", "rgmii", "rgmii-id",
|
||||||
"rgmii-rxid", "rgmii-txid", "rtbi", "smii", "xgmii"; this is now a de-facto
|
"rgmii-rxid", "rgmii-txid", "rtbi", "smii", "xgmii"; this is now a de-facto
|
||||||
standard property;
|
standard property;
|
||||||
- phy-connection-type: the same as "phy-mode" property but described in ePAPR;
|
- phy-connection-type: the same as "phy-mode" property but described in ePAPR;
|
||||||
|
|
|
@ -23,5 +23,5 @@ gmac0: ethernet@ff700000 {
|
||||||
interrupt-names = "macirq";
|
interrupt-names = "macirq";
|
||||||
mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
|
mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
|
||||||
clocks = <&emac_0_clk>;
|
clocks = <&emac_0_clk>;
|
||||||
clocks-names = "stmmaceth";
|
clock-names = "stmmaceth";
|
||||||
};
|
};
|
||||||
|
|
|
@ -33,7 +33,7 @@ Optional properties:
|
||||||
- max-frame-size: See ethernet.txt file in the same directory
|
- max-frame-size: See ethernet.txt file in the same directory
|
||||||
- clocks: If present, the first clock should be the GMAC main clock,
|
- clocks: If present, the first clock should be the GMAC main clock,
|
||||||
further clocks may be specified in derived bindings.
|
further clocks may be specified in derived bindings.
|
||||||
- clocks-names: One name for each entry in the clocks property, the
|
- clock-names: One name for each entry in the clocks property, the
|
||||||
first one should be "stmmaceth".
|
first one should be "stmmaceth".
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
|
@ -83,7 +83,7 @@ Example:
|
||||||
reg = <0xfe61f080 0x4>;
|
reg = <0xfe61f080 0x4>;
|
||||||
reg-names = "irqmux";
|
reg-names = "irqmux";
|
||||||
interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
interrupts-names = "irqmux";
|
interrupt-names = "irqmux";
|
||||||
ranges = <0 0xfe610000 0x5000>;
|
ranges = <0 0xfe610000 0x5000>;
|
||||||
|
|
||||||
PIO0: gpio@fe610000 {
|
PIO0: gpio@fe610000 {
|
||||||
|
@ -165,7 +165,7 @@ sdhci0:sdhci@fe810000{
|
||||||
interrupt-parent = <&PIO3>;
|
interrupt-parent = <&PIO3>;
|
||||||
#interrupt-cells = <2>;
|
#interrupt-cells = <2>;
|
||||||
interrupts = <3 IRQ_TYPE_LEVEL_HIGH>; /* Interrupt line via PIO3-3 */
|
interrupts = <3 IRQ_TYPE_LEVEL_HIGH>; /* Interrupt line via PIO3-3 */
|
||||||
interrupts-names = "card-detect";
|
interrupt-names = "card-detect";
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_mmc>;
|
pinctrl-0 = <&pinctrl_mmc>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
* Energymicro efm32 UART
|
* Energymicro efm32 UART
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible : Should be "efm32,uart"
|
- compatible : Should be "energymicro,efm32-uart"
|
||||||
- reg : Address and length of the register set
|
- reg : Address and length of the register set
|
||||||
- interrupts : Should contain uart interrupt
|
- interrupts : Should contain uart interrupt
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ Optional properties:
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
uart@0x4000c400 {
|
uart@0x4000c400 {
|
||||||
compatible = "efm32,uart";
|
compatible = "energymicro,efm32-uart";
|
||||||
reg = <0x4000c400 0x400>;
|
reg = <0x4000c400 0x400>;
|
||||||
interrupts = <15>;
|
interrupts = <15>;
|
||||||
efm32,location = <0>;
|
efm32,location = <0>;
|
||||||
|
|
|
@ -47,7 +47,7 @@ mcasp0: mcasp0@1d00000 {
|
||||||
reg = <0x100000 0x3000>;
|
reg = <0x100000 0x3000>;
|
||||||
reg-names "mpu";
|
reg-names "mpu";
|
||||||
interrupts = <82>, <83>;
|
interrupts = <82>, <83>;
|
||||||
interrupts-names = "tx", "rx";
|
interrupt-names = "tx", "rx";
|
||||||
op-mode = <0>; /* MCASP_IIS_MODE */
|
op-mode = <0>; /* MCASP_IIS_MODE */
|
||||||
tdm-slots = <2>;
|
tdm-slots = <2>;
|
||||||
serial-dir = <
|
serial-dir = <
|
||||||
|
|
|
@ -13,6 +13,9 @@ Required properties:
|
||||||
"ti,tlv320aic3111" - TLV320AIC3111 (stereo speaker amp, MiniDSP)
|
"ti,tlv320aic3111" - TLV320AIC3111 (stereo speaker amp, MiniDSP)
|
||||||
|
|
||||||
- reg - <int> - I2C slave address
|
- reg - <int> - I2C slave address
|
||||||
|
- HPVDD-supply, SPRVDD-supply, SPLVDD-supply, AVDD-supply, IOVDD-supply,
|
||||||
|
DVDD-supply : power supplies for the device as covered in
|
||||||
|
Documentation/devicetree/bindings/regulator/regulator.txt
|
||||||
|
|
||||||
|
|
||||||
Optional properties:
|
Optional properties:
|
||||||
|
@ -24,9 +27,6 @@ Optional properties:
|
||||||
3 or MICBIAS_AVDD - MICBIAS output is connected to AVDD
|
3 or MICBIAS_AVDD - MICBIAS output is connected to AVDD
|
||||||
If this node is not mentioned or if the value is unknown, then
|
If this node is not mentioned or if the value is unknown, then
|
||||||
micbias is set to 2.0V.
|
micbias is set to 2.0V.
|
||||||
- HPVDD-supply, SPRVDD-supply, SPLVDD-supply, AVDD-supply, IOVDD-supply,
|
|
||||||
DVDD-supply : power supplies for the device as covered in
|
|
||||||
Documentation/devicetree/bindings/regulator/regulator.txt
|
|
||||||
|
|
||||||
CODEC output pins:
|
CODEC output pins:
|
||||||
* HPL
|
* HPL
|
||||||
|
|
|
@ -315,7 +315,7 @@ Andrew Morton が Linux-kernel メーリングリストにカーネルリリー
|
||||||
もし、3.x.y カーネルが存在しない場合には、番号が一番大きい 3.x が
|
もし、3.x.y カーネルが存在しない場合には、番号が一番大きい 3.x が
|
||||||
最新の安定版カーネルです。
|
最新の安定版カーネルです。
|
||||||
|
|
||||||
3.x.y は "stable" チーム <stable@kernel.org> でメンテされており、必
|
3.x.y は "stable" チーム <stable@vger.kernel.org> でメンテされており、必
|
||||||
要に応じてリリースされます。通常のリリース期間は 2週間毎ですが、差し迫っ
|
要に応じてリリースされます。通常のリリース期間は 2週間毎ですが、差し迫っ
|
||||||
た問題がなければもう少し長くなることもあります。セキュリティ関連の問題
|
た問題がなければもう少し長くなることもあります。セキュリティ関連の問題
|
||||||
の場合はこれに対してだいたいの場合、すぐにリリースがされます。
|
の場合はこれに対してだいたいの場合、すぐにリリースがされます。
|
||||||
|
|
|
@ -50,16 +50,16 @@ linux-2.6.29/Documentation/stable_kernel_rules.txt
|
||||||
|
|
||||||
-stable ツリーにパッチを送付する手続き-
|
-stable ツリーにパッチを送付する手続き-
|
||||||
|
|
||||||
- 上記の規則に従っているかを確認した後に、stable@kernel.org にパッチ
|
- 上記の規則に従っているかを確認した後に、stable@vger.kernel.org にパッチ
|
||||||
を送る。
|
を送る。
|
||||||
- 送信者はパッチがキューに受け付けられた際には ACK を、却下された場合
|
- 送信者はパッチがキューに受け付けられた際には ACK を、却下された場合
|
||||||
には NAK を受け取る。この反応は開発者たちのスケジュールによって、数
|
には NAK を受け取る。この反応は開発者たちのスケジュールによって、数
|
||||||
日かかる場合がある。
|
日かかる場合がある。
|
||||||
- もし受け取られたら、パッチは他の開発者たちと関連するサブシステムの
|
- もし受け取られたら、パッチは他の開発者たちと関連するサブシステムの
|
||||||
メンテナーによるレビューのために -stable キューに追加される。
|
メンテナーによるレビューのために -stable キューに追加される。
|
||||||
- パッチに stable@kernel.org のアドレスが付加されているときには、それ
|
- パッチに stable@vger.kernel.org のアドレスが付加されているときには、それ
|
||||||
が Linus のツリーに入る時に自動的に stable チームに email される。
|
が Linus のツリーに入る時に自動的に stable チームに email される。
|
||||||
- セキュリティパッチはこのエイリアス (stable@kernel.org) に送られるべ
|
- セキュリティパッチはこのエイリアス (stable@vger.kernel.org) に送られるべ
|
||||||
きではなく、代わりに security@kernel.org のアドレスに送られる。
|
きではなく、代わりに security@kernel.org のアドレスに送られる。
|
||||||
|
|
||||||
レビューサイクル-
|
レビューサイクル-
|
||||||
|
|
|
@ -804,13 +804,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
|
||||||
dhash_entries= [KNL]
|
dhash_entries= [KNL]
|
||||||
Set number of hash buckets for dentry cache.
|
Set number of hash buckets for dentry cache.
|
||||||
|
|
||||||
digi= [HW,SERIAL]
|
|
||||||
IO parameters + enable/disable command.
|
|
||||||
|
|
||||||
digiepca= [HW,SERIAL]
|
|
||||||
See drivers/char/README.epca and
|
|
||||||
Documentation/serial/digiepca.txt.
|
|
||||||
|
|
||||||
disable= [IPV6]
|
disable= [IPV6]
|
||||||
See Documentation/networking/ipv6.txt.
|
See Documentation/networking/ipv6.txt.
|
||||||
|
|
||||||
|
@ -2939,9 +2932,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
|
||||||
rhash_entries= [KNL,NET]
|
rhash_entries= [KNL,NET]
|
||||||
Set number of hash buckets for route cache
|
Set number of hash buckets for route cache
|
||||||
|
|
||||||
riscom8= [HW,SERIAL]
|
|
||||||
Format: <io_board1>[,<io_board2>[,...<io_boardN>]]
|
|
||||||
|
|
||||||
ro [KNL] Mount root device read-only on boot
|
ro [KNL] Mount root device read-only on boot
|
||||||
|
|
||||||
root= [KNL] Root filesystem
|
root= [KNL] Root filesystem
|
||||||
|
@ -3083,9 +3073,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
|
||||||
sonypi.*= [HW] Sony Programmable I/O Control Device driver
|
sonypi.*= [HW] Sony Programmable I/O Control Device driver
|
||||||
See Documentation/laptops/sonypi.txt
|
See Documentation/laptops/sonypi.txt
|
||||||
|
|
||||||
specialix= [HW,SERIAL] Specialix multi-serial port adapter
|
|
||||||
See Documentation/serial/specialix.txt.
|
|
||||||
|
|
||||||
spia_io_base= [HW,MTD]
|
spia_io_base= [HW,MTD]
|
||||||
spia_fio_base=
|
spia_fio_base=
|
||||||
spia_pedr=
|
spia_pedr=
|
||||||
|
|
|
@ -63,8 +63,6 @@ Magic Name Number Structure File
|
||||||
PG_MAGIC 'P' pg_{read,write}_hdr include/linux/pg.h
|
PG_MAGIC 'P' pg_{read,write}_hdr include/linux/pg.h
|
||||||
CMAGIC 0x0111 user include/linux/a.out.h
|
CMAGIC 0x0111 user include/linux/a.out.h
|
||||||
MKISS_DRIVER_MAGIC 0x04bf mkiss_channel drivers/net/mkiss.h
|
MKISS_DRIVER_MAGIC 0x04bf mkiss_channel drivers/net/mkiss.h
|
||||||
RISCOM8_MAGIC 0x0907 riscom_port drivers/char/riscom8.h
|
|
||||||
SPECIALIX_MAGIC 0x0907 specialix_port drivers/char/specialix_io8.h
|
|
||||||
HDLC_MAGIC 0x239e n_hdlc drivers/char/n_hdlc.c
|
HDLC_MAGIC 0x239e n_hdlc drivers/char/n_hdlc.c
|
||||||
APM_BIOS_MAGIC 0x4101 apm_user arch/x86/kernel/apm_32.c
|
APM_BIOS_MAGIC 0x4101 apm_user arch/x86/kernel/apm_32.c
|
||||||
CYCLADES_MAGIC 0x4359 cyclades_port include/linux/cyclades.h
|
CYCLADES_MAGIC 0x4359 cyclades_port include/linux/cyclades.h
|
||||||
|
@ -82,7 +80,6 @@ STRIP_MAGIC 0x5303 strip drivers/net/strip.c
|
||||||
X25_ASY_MAGIC 0x5303 x25_asy drivers/net/x25_asy.h
|
X25_ASY_MAGIC 0x5303 x25_asy drivers/net/x25_asy.h
|
||||||
SIXPACK_MAGIC 0x5304 sixpack drivers/net/hamradio/6pack.h
|
SIXPACK_MAGIC 0x5304 sixpack drivers/net/hamradio/6pack.h
|
||||||
AX25_MAGIC 0x5316 ax_disp drivers/net/mkiss.h
|
AX25_MAGIC 0x5316 ax_disp drivers/net/mkiss.h
|
||||||
ESP_MAGIC 0x53ee esp_struct drivers/char/esp.h
|
|
||||||
TTY_MAGIC 0x5401 tty_struct include/linux/tty.h
|
TTY_MAGIC 0x5401 tty_struct include/linux/tty.h
|
||||||
MGSL_MAGIC 0x5401 mgsl_info drivers/char/synclink.c
|
MGSL_MAGIC 0x5401 mgsl_info drivers/char/synclink.c
|
||||||
TTY_DRIVER_MAGIC 0x5402 tty_driver include/linux/tty_driver.h
|
TTY_DRIVER_MAGIC 0x5402 tty_driver include/linux/tty_driver.h
|
||||||
|
@ -94,13 +91,10 @@ USB_BLUETOOTH_MAGIC 0x6d02 usb_bluetooth drivers/usb/class/bluetty.c
|
||||||
RFCOMM_TTY_MAGIC 0x6d02 net/bluetooth/rfcomm/tty.c
|
RFCOMM_TTY_MAGIC 0x6d02 net/bluetooth/rfcomm/tty.c
|
||||||
USB_SERIAL_PORT_MAGIC 0x7301 usb_serial_port drivers/usb/serial/usb-serial.h
|
USB_SERIAL_PORT_MAGIC 0x7301 usb_serial_port drivers/usb/serial/usb-serial.h
|
||||||
CG_MAGIC 0x00090255 ufs_cylinder_group include/linux/ufs_fs.h
|
CG_MAGIC 0x00090255 ufs_cylinder_group include/linux/ufs_fs.h
|
||||||
A2232_MAGIC 0x000a2232 gs_port drivers/char/ser_a2232.h
|
|
||||||
RPORT_MAGIC 0x00525001 r_port drivers/char/rocket_int.h
|
RPORT_MAGIC 0x00525001 r_port drivers/char/rocket_int.h
|
||||||
LSEMAGIC 0x05091998 lse drivers/fc4/fc.c
|
LSEMAGIC 0x05091998 lse drivers/fc4/fc.c
|
||||||
GDTIOCTL_MAGIC 0x06030f07 gdth_iowr_str drivers/scsi/gdth_ioctl.h
|
GDTIOCTL_MAGIC 0x06030f07 gdth_iowr_str drivers/scsi/gdth_ioctl.h
|
||||||
RIEBL_MAGIC 0x09051990 drivers/net/atarilance.c
|
RIEBL_MAGIC 0x09051990 drivers/net/atarilance.c
|
||||||
RIO_MAGIC 0x12345678 gs_port drivers/char/rio/rio_linux.c
|
|
||||||
SX_MAGIC 0x12345678 gs_port drivers/char/sx.h
|
|
||||||
NBD_REQUEST_MAGIC 0x12560953 nbd_request include/linux/nbd.h
|
NBD_REQUEST_MAGIC 0x12560953 nbd_request include/linux/nbd.h
|
||||||
RED_MAGIC2 0x170fc2a5 (any) mm/slab.c
|
RED_MAGIC2 0x170fc2a5 (any) mm/slab.c
|
||||||
BAYCOM_MAGIC 0x19730510 baycom_state drivers/net/baycom_epp.c
|
BAYCOM_MAGIC 0x19730510 baycom_state drivers/net/baycom_epp.c
|
||||||
|
@ -116,7 +110,6 @@ ISDN_ASYNC_MAGIC 0x49344C01 modem_info include/linux/isdn.h
|
||||||
CTC_ASYNC_MAGIC 0x49344C01 ctc_tty_info drivers/s390/net/ctctty.c
|
CTC_ASYNC_MAGIC 0x49344C01 ctc_tty_info drivers/s390/net/ctctty.c
|
||||||
ISDN_NET_MAGIC 0x49344C02 isdn_net_local_s drivers/isdn/i4l/isdn_net_lib.h
|
ISDN_NET_MAGIC 0x49344C02 isdn_net_local_s drivers/isdn/i4l/isdn_net_lib.h
|
||||||
SAVEKMSG_MAGIC2 0x4B4D5347 savekmsg arch/*/amiga/config.c
|
SAVEKMSG_MAGIC2 0x4B4D5347 savekmsg arch/*/amiga/config.c
|
||||||
STLI_BOARDMAGIC 0x4bc6c825 stlibrd include/linux/istallion.h
|
|
||||||
CS_STATE_MAGIC 0x4c4f4749 cs_state sound/oss/cs46xx.c
|
CS_STATE_MAGIC 0x4c4f4749 cs_state sound/oss/cs46xx.c
|
||||||
SLAB_C_MAGIC 0x4f17a36d kmem_cache mm/slab.c
|
SLAB_C_MAGIC 0x4f17a36d kmem_cache mm/slab.c
|
||||||
COW_MAGIC 0x4f4f4f4d cow_header_v1 arch/um/drivers/ubd_user.c
|
COW_MAGIC 0x4f4f4f4d cow_header_v1 arch/um/drivers/ubd_user.c
|
||||||
|
@ -127,10 +120,8 @@ SCC_MAGIC 0x52696368 gs_port drivers/char/scc.h
|
||||||
SAVEKMSG_MAGIC1 0x53415645 savekmsg arch/*/amiga/config.c
|
SAVEKMSG_MAGIC1 0x53415645 savekmsg arch/*/amiga/config.c
|
||||||
GDA_MAGIC 0x58464552 gda arch/mips/include/asm/sn/gda.h
|
GDA_MAGIC 0x58464552 gda arch/mips/include/asm/sn/gda.h
|
||||||
RED_MAGIC1 0x5a2cf071 (any) mm/slab.c
|
RED_MAGIC1 0x5a2cf071 (any) mm/slab.c
|
||||||
STL_PORTMAGIC 0x5a7182c9 stlport include/linux/stallion.h
|
|
||||||
EEPROM_MAGIC_VALUE 0x5ab478d2 lanai_dev drivers/atm/lanai.c
|
EEPROM_MAGIC_VALUE 0x5ab478d2 lanai_dev drivers/atm/lanai.c
|
||||||
HDLCDRV_MAGIC 0x5ac6e778 hdlcdrv_state include/linux/hdlcdrv.h
|
HDLCDRV_MAGIC 0x5ac6e778 hdlcdrv_state include/linux/hdlcdrv.h
|
||||||
EPCA_MAGIC 0x5c6df104 channel include/linux/epca.h
|
|
||||||
PCXX_MAGIC 0x5c6df104 channel drivers/char/pcxx.h
|
PCXX_MAGIC 0x5c6df104 channel drivers/char/pcxx.h
|
||||||
KV_MAGIC 0x5f4b565f kernel_vars_s arch/mips/include/asm/sn/klkernvars.h
|
KV_MAGIC 0x5f4b565f kernel_vars_s arch/mips/include/asm/sn/klkernvars.h
|
||||||
I810_STATE_MAGIC 0x63657373 i810_state sound/oss/i810_audio.c
|
I810_STATE_MAGIC 0x63657373 i810_state sound/oss/i810_audio.c
|
||||||
|
@ -142,17 +133,14 @@ SLOT_MAGIC 0x67267322 slot drivers/hotplug/acpiphp.h
|
||||||
LO_MAGIC 0x68797548 nbd_device include/linux/nbd.h
|
LO_MAGIC 0x68797548 nbd_device include/linux/nbd.h
|
||||||
OPROFILE_MAGIC 0x6f70726f super_block drivers/oprofile/oprofilefs.h
|
OPROFILE_MAGIC 0x6f70726f super_block drivers/oprofile/oprofilefs.h
|
||||||
M3_STATE_MAGIC 0x734d724d m3_state sound/oss/maestro3.c
|
M3_STATE_MAGIC 0x734d724d m3_state sound/oss/maestro3.c
|
||||||
STL_PANELMAGIC 0x7ef621a1 stlpanel include/linux/stallion.h
|
|
||||||
VMALLOC_MAGIC 0x87654320 snd_alloc_track sound/core/memory.c
|
VMALLOC_MAGIC 0x87654320 snd_alloc_track sound/core/memory.c
|
||||||
KMALLOC_MAGIC 0x87654321 snd_alloc_track sound/core/memory.c
|
KMALLOC_MAGIC 0x87654321 snd_alloc_track sound/core/memory.c
|
||||||
PWC_MAGIC 0x89DC10AB pwc_device drivers/usb/media/pwc.h
|
PWC_MAGIC 0x89DC10AB pwc_device drivers/usb/media/pwc.h
|
||||||
NBD_REPLY_MAGIC 0x96744668 nbd_reply include/linux/nbd.h
|
NBD_REPLY_MAGIC 0x96744668 nbd_reply include/linux/nbd.h
|
||||||
STL_BOARDMAGIC 0xa2267f52 stlbrd include/linux/stallion.h
|
|
||||||
ENI155_MAGIC 0xa54b872d midway_eprom drivers/atm/eni.h
|
ENI155_MAGIC 0xa54b872d midway_eprom drivers/atm/eni.h
|
||||||
SCI_MAGIC 0xbabeface gs_port drivers/char/sh-sci.h
|
SCI_MAGIC 0xbabeface gs_port drivers/char/sh-sci.h
|
||||||
CODA_MAGIC 0xC0DAC0DA coda_file_info fs/coda/coda_fs_i.h
|
CODA_MAGIC 0xC0DAC0DA coda_file_info fs/coda/coda_fs_i.h
|
||||||
DPMEM_MAGIC 0xc0ffee11 gdt_pci_sram drivers/scsi/gdth.h
|
DPMEM_MAGIC 0xc0ffee11 gdt_pci_sram drivers/scsi/gdth.h
|
||||||
STLI_PORTMAGIC 0xe671c7a1 stliport include/linux/istallion.h
|
|
||||||
YAM_MAGIC 0xF10A7654 yam_port drivers/net/hamradio/yam.c
|
YAM_MAGIC 0xF10A7654 yam_port drivers/net/hamradio/yam.c
|
||||||
CCB_MAGIC 0xf2691ad2 ccb drivers/scsi/ncr53c8xx.c
|
CCB_MAGIC 0xf2691ad2 ccb drivers/scsi/ncr53c8xx.c
|
||||||
QUEUE_MAGIC_FREE 0xf7e1c9a3 queue_entry drivers/scsi/arm/queue.c
|
QUEUE_MAGIC_FREE 0xf7e1c9a3 queue_entry drivers/scsi/arm/queue.c
|
||||||
|
|
|
@ -429,7 +429,7 @@ RPS and RFS were introduced in kernel 2.6.35. XPS was incorporated into
|
||||||
(therbert@google.com)
|
(therbert@google.com)
|
||||||
|
|
||||||
Accelerated RFS was introduced in 2.6.35. Original patches were
|
Accelerated RFS was introduced in 2.6.35. Original patches were
|
||||||
submitted by Ben Hutchings (bhutchings@solarflare.com)
|
submitted by Ben Hutchings (bwh@kernel.org)
|
||||||
|
|
||||||
Authors:
|
Authors:
|
||||||
Tom Herbert (therbert@google.com)
|
Tom Herbert (therbert@google.com)
|
||||||
|
|
|
@ -2,23 +2,15 @@
|
||||||
- this file.
|
- this file.
|
||||||
README.cycladesZ
|
README.cycladesZ
|
||||||
- info on Cyclades-Z firmware loading.
|
- info on Cyclades-Z firmware loading.
|
||||||
digiepca.txt
|
|
||||||
- info on Digi Intl. {PC,PCI,EISA}Xx and Xem series cards.
|
|
||||||
driver
|
driver
|
||||||
- intro to the low level serial driver.
|
- intro to the low level serial driver.
|
||||||
moxa-smartio
|
moxa-smartio
|
||||||
- file with info on installing/using Moxa multiport serial driver.
|
- file with info on installing/using Moxa multiport serial driver.
|
||||||
n_gsm.txt
|
n_gsm.txt
|
||||||
- GSM 0710 tty multiplexer howto.
|
- GSM 0710 tty multiplexer howto.
|
||||||
riscom8.txt
|
|
||||||
- notes on using the RISCom/8 multi-port serial driver.
|
|
||||||
rocket.txt
|
rocket.txt
|
||||||
- info on the Comtrol RocketPort multiport serial driver.
|
- info on the Comtrol RocketPort multiport serial driver.
|
||||||
serial-rs485.txt
|
serial-rs485.txt
|
||||||
- info about RS485 structures and support in the kernel.
|
- info about RS485 structures and support in the kernel.
|
||||||
specialix.txt
|
|
||||||
- info on hardware/driver for specialix IO8+ multiport serial card.
|
|
||||||
sx.txt
|
|
||||||
- info on the Specialix SX/SI multiport serial driver.
|
|
||||||
tty.txt
|
tty.txt
|
||||||
- guide to the locking policies of the tty layer.
|
- guide to the locking policies of the tty layer.
|
||||||
|
|
|
@ -1,98 +0,0 @@
|
||||||
NOTE: This driver is obsolete. Digi provides a 2.6 driver (dgdm) at
|
|
||||||
http://www.digi.com for PCI cards. They no longer maintain this driver,
|
|
||||||
and have no 2.6 driver for ISA cards.
|
|
||||||
|
|
||||||
This driver requires a number of user-space tools. They can be acquired from
|
|
||||||
http://www.digi.com, but only works with 2.4 kernels.
|
|
||||||
|
|
||||||
|
|
||||||
The Digi Intl. epca driver.
|
|
||||||
----------------------------
|
|
||||||
The Digi Intl. epca driver for Linux supports the following boards:
|
|
||||||
|
|
||||||
Digi PC/Xem, PC/Xr, PC/Xe, PC/Xi, PC/Xeve
|
|
||||||
Digi EISA/Xem, PCI/Xem, PCI/Xr
|
|
||||||
|
|
||||||
Limitations:
|
|
||||||
------------
|
|
||||||
Currently the driver only autoprobes for supported PCI boards.
|
|
||||||
|
|
||||||
The Linux MAKEDEV command does not support generating the Digiboard
|
|
||||||
Devices. Users executing digiConfig to setup EISA and PC series cards
|
|
||||||
will have their device nodes automatically constructed (cud?? for ~CLOCAL,
|
|
||||||
and ttyD?? for CLOCAL). Users wishing to boot their board from the LILO
|
|
||||||
prompt, or those users booting PCI cards may use buildDIGI to construct
|
|
||||||
the necessary nodes.
|
|
||||||
|
|
||||||
Notes:
|
|
||||||
------
|
|
||||||
This driver may be configured via LILO. For users who have already configured
|
|
||||||
their driver using digiConfig, configuring from LILO will override previous
|
|
||||||
settings. Multiple boards may be configured by issuing multiple LILO command
|
|
||||||
lines. For examples see the bottom of this document.
|
|
||||||
|
|
||||||
Device names start at 0 and continue up. Beware of this as previous Digi
|
|
||||||
drivers started device names with 1.
|
|
||||||
|
|
||||||
PCI boards are auto-detected and configured by the driver. PCI boards will
|
|
||||||
be allocated device numbers (internally) beginning with the lowest PCI slot
|
|
||||||
first. In other words a PCI card in slot 3 will always have higher device
|
|
||||||
nodes than a PCI card in slot 1.
|
|
||||||
|
|
||||||
LILO config examples:
|
|
||||||
---------------------
|
|
||||||
Using LILO's APPEND command, a string of comma separated identifiers or
|
|
||||||
integers can be used to configure supported boards. The six values in order
|
|
||||||
are:
|
|
||||||
|
|
||||||
Enable/Disable this card or Override,
|
|
||||||
Type of card: PC/Xe (AccelePort) (0), PC/Xeve (1), PC/Xem or PC/Xr (2),
|
|
||||||
EISA/Xem (3), PC/64Xe (4), PC/Xi (5),
|
|
||||||
Enable/Disable alternate pin arrangement,
|
|
||||||
Number of ports on this card,
|
|
||||||
I/O Port where card is configured (in HEX if using string identifiers),
|
|
||||||
Base of memory window (in HEX if using string identifiers),
|
|
||||||
|
|
||||||
NOTE : PCI boards are auto-detected and configured. Do not attempt to
|
|
||||||
configure PCI boards with the LILO append command. If you wish to override
|
|
||||||
previous configuration data (As set by digiConfig), but you do not wish to
|
|
||||||
configure any specific card (Example if there are PCI cards in the system)
|
|
||||||
the following override command will accomplish this:
|
|
||||||
-> append="digi=2"
|
|
||||||
|
|
||||||
Samples:
|
|
||||||
append="digiepca=E,PC/Xe,D,16,200,D0000"
|
|
||||||
or
|
|
||||||
append="digi=1,0,0,16,512,851968"
|
|
||||||
|
|
||||||
Supporting Tools:
|
|
||||||
-----------------
|
|
||||||
Supporting tools include digiDload, digiConfig, buildPCI, and ditty. See
|
|
||||||
drivers/char/README.epca for more details. Note,
|
|
||||||
this driver REQUIRES that digiDload be executed prior to it being used.
|
|
||||||
Failure to do this will result in an ENODEV error.
|
|
||||||
|
|
||||||
Documentation:
|
|
||||||
--------------
|
|
||||||
Complete documentation for this product may be found in the tool package.
|
|
||||||
|
|
||||||
Sources of information and support:
|
|
||||||
-----------------------------------
|
|
||||||
Digi Intl. support site for this product:
|
|
||||||
|
|
||||||
-> http://www.digi.com
|
|
||||||
|
|
||||||
Acknowledgments:
|
|
||||||
----------------
|
|
||||||
Much of this work (And even text) was derived from a similar document
|
|
||||||
supporting the original public domain DigiBoard driver Copyright (C)
|
|
||||||
1994,1995 Troy De Jongh. Many thanks to Christoph Lameter
|
|
||||||
(christoph@lameter.com) and Mike McLagan (mike.mclagan@linux.org) who authored
|
|
||||||
and contributed to the original document.
|
|
||||||
|
|
||||||
Changelog:
|
|
||||||
----------
|
|
||||||
10-29-04: Update status of driver, remove dead links in document
|
|
||||||
James Nelson <james4765@gmail.com>
|
|
||||||
|
|
||||||
2000 (?) Original Document
|
|
|
@ -1,36 +0,0 @@
|
||||||
* NOTE - this is an unmaintained driver. The original author cannot be located.
|
|
||||||
|
|
||||||
SDL Communications is now SBS Technologies, and does not have any
|
|
||||||
information on these ancient ISA cards on their website.
|
|
||||||
|
|
||||||
James Nelson <james4765@gmail.com> - 12-12-2004
|
|
||||||
|
|
||||||
This is the README for RISCom/8 multi-port serial driver
|
|
||||||
(C) 1994-1996 D.Gorodchanin
|
|
||||||
See file LICENSE for terms and conditions.
|
|
||||||
|
|
||||||
NOTE: English is not my native language.
|
|
||||||
I'm sorry for any mistakes in this text.
|
|
||||||
|
|
||||||
Misc. notes for RISCom/8 serial driver, in no particular order :)
|
|
||||||
|
|
||||||
1) This driver can support up to 4 boards at time.
|
|
||||||
Use string "riscom8=0xXXX,0xXXX,0xXXX,0xXXX" at LILO prompt, for
|
|
||||||
setting I/O base addresses for boards. If you compile driver
|
|
||||||
as module use modprobe options "iobase=0xXXX iobase1=0xXXX iobase2=..."
|
|
||||||
|
|
||||||
2) The driver partially supports famous 'setserial' program, you can use almost
|
|
||||||
any of its options, excluding port & irq settings.
|
|
||||||
|
|
||||||
3) There are some misc. defines at the beginning of riscom8.c, please read the
|
|
||||||
comments and try to change some of them in case of problems.
|
|
||||||
|
|
||||||
4) I consider the current state of the driver as BETA.
|
|
||||||
|
|
||||||
5) SDL Communications WWW page is http://www.sdlcomm.com.
|
|
||||||
|
|
||||||
6) You can use the MAKEDEV program to create RISCom/8 /dev/ttyL* entries.
|
|
||||||
|
|
||||||
7) Minor numbers for first board are 0-7, for second 8-15, etc.
|
|
||||||
|
|
||||||
22 Apr 1996.
|
|
|
@ -1,383 +0,0 @@
|
||||||
|
|
||||||
specialix.txt -- specialix IO8+ multiport serial driver readme.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Copyright (C) 1997 Roger Wolff (R.E.Wolff@BitWizard.nl)
|
|
||||||
|
|
||||||
Specialix pays for the development and support of this driver.
|
|
||||||
Please DO contact io8-linux@specialix.co.uk if you require
|
|
||||||
support.
|
|
||||||
|
|
||||||
This driver was developed in the BitWizard linux device
|
|
||||||
driver service. If you require a linux device driver for your
|
|
||||||
product, please contact devices@BitWizard.nl for a quote.
|
|
||||||
|
|
||||||
This code is firmly based on the riscom/8 serial driver,
|
|
||||||
written by Dmitry Gorodchanin. The specialix IO8+ card
|
|
||||||
programming information was obtained from the CL-CD1865 Data
|
|
||||||
Book, and Specialix document number 6200059: IO8+ Hardware
|
|
||||||
Functional Specification, augmented by document number 6200088:
|
|
||||||
Merak Hardware Functional Specification. (IO8+/PCI is also
|
|
||||||
called Merak)
|
|
||||||
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 of
|
|
||||||
the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be
|
|
||||||
useful, but WITHOUT ANY WARRANTY; without even the implied
|
|
||||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
PURPOSE. See the GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public
|
|
||||||
License along with this program; if not, write to the Free
|
|
||||||
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
|
|
||||||
USA.
|
|
||||||
|
|
||||||
|
|
||||||
Intro
|
|
||||||
=====
|
|
||||||
|
|
||||||
|
|
||||||
This file contains some random information, that I like to have online
|
|
||||||
instead of in a manual that can get lost. Ever misplace your Linux
|
|
||||||
kernel sources? And the manual of one of the boards in your computer?
|
|
||||||
|
|
||||||
|
|
||||||
Addresses and interrupts
|
|
||||||
========================
|
|
||||||
|
|
||||||
Address dip switch settings:
|
|
||||||
The dip switch sets bits 2-9 of the IO address.
|
|
||||||
|
|
||||||
9 8 7 6 5 4 3 2
|
|
||||||
+-----------------+
|
|
||||||
0 | X X X X X X X |
|
|
||||||
| | = IoBase = 0x100
|
|
||||||
1 | X |
|
|
||||||
+-----------------+ ------ RS232 connectors ---->
|
|
||||||
|
|
||||||
| | |
|
|
||||||
edge connector
|
|
||||||
| | |
|
|
||||||
V V V
|
|
||||||
|
|
||||||
Base address 0x100 caused a conflict in one of my computers once. I
|
|
||||||
haven't the foggiest why. My Specialix card is now at 0x180. My
|
|
||||||
other computer runs just fine with the Specialix card at 0x100....
|
|
||||||
The card occupies 4 addresses, but actually only two are really used.
|
|
||||||
|
|
||||||
The PCI version doesn't have any dip switches. The BIOS assigns
|
|
||||||
an IO address.
|
|
||||||
|
|
||||||
The driver now still autoprobes at 0x100, 0x180, 0x250 and 0x260. If
|
|
||||||
that causes trouble for you, please report that. I'll remove
|
|
||||||
autoprobing then.
|
|
||||||
|
|
||||||
The driver will tell the card what IRQ to use, so you don't have to
|
|
||||||
change any jumpers to change the IRQ. Just use a command line
|
|
||||||
argument (irq=xx) to the insmod program to set the interrupt.
|
|
||||||
|
|
||||||
The BIOS assigns the IRQ on the PCI version. You have no say in what
|
|
||||||
IRQ to use in that case.
|
|
||||||
|
|
||||||
If your specialix cards are not at the default locations, you can use
|
|
||||||
the kernel command line argument "specialix=io0,irq0,io1,irq1...".
|
|
||||||
Here "io0" is the io address for the first card, and "irq0" is the
|
|
||||||
irq line that the first card should use. And so on.
|
|
||||||
|
|
||||||
Examples.
|
|
||||||
|
|
||||||
You use the driver as a module and have three cards at 0x100, 0x250
|
|
||||||
and 0x180. And some way or another you want them detected in that
|
|
||||||
order. Moreover irq 12 is taken (e.g. by your PS/2 mouse).
|
|
||||||
|
|
||||||
insmod specialix.o iobase=0x100,0x250,0x180 irq=9,11,15
|
|
||||||
|
|
||||||
The same three cards, but now in the kernel would require you to
|
|
||||||
add
|
|
||||||
|
|
||||||
specialix=0x100,9,0x250,11,0x180,15
|
|
||||||
|
|
||||||
to the command line. This would become
|
|
||||||
|
|
||||||
append="specialix=0x100,9,0x250,11,0x180,15"
|
|
||||||
|
|
||||||
in your /etc/lilo.conf file if you use lilo.
|
|
||||||
|
|
||||||
The Specialix driver is slightly odd: It allows you to have the second
|
|
||||||
or third card detected without having a first card. This has
|
|
||||||
advantages and disadvantages. A slot that isn't filled by an ISA card,
|
|
||||||
might be filled if a PCI card is detected. Thus if you have an ISA
|
|
||||||
card at 0x250 and a PCI card, you would get:
|
|
||||||
|
|
||||||
sx0: specialix IO8+ Board at 0x100 not found.
|
|
||||||
sx1: specialix IO8+ Board at 0x180 not found.
|
|
||||||
sx2: specialix IO8+ board detected at 0x250, IRQ 12, CD1865 Rev. B.
|
|
||||||
sx3: specialix IO8+ Board at 0x260 not found.
|
|
||||||
sx0: specialix IO8+ board detected at 0xd800, IRQ 9, CD1865 Rev. B.
|
|
||||||
|
|
||||||
This would happen if you don't give any probe hints to the driver.
|
|
||||||
If you would specify:
|
|
||||||
|
|
||||||
specialix=0x250,11
|
|
||||||
|
|
||||||
you'd get the following messages:
|
|
||||||
|
|
||||||
sx0: specialix IO8+ board detected at 0x250, IRQ 11, CD1865 Rev. B.
|
|
||||||
sx1: specialix IO8+ board detected at 0xd800, IRQ 9, CD1865 Rev. B.
|
|
||||||
|
|
||||||
ISA probing is aborted after the IO address you gave is exhausted, and
|
|
||||||
the PCI card is now detected as the second card. The ISA card is now
|
|
||||||
also forced to IRQ11....
|
|
||||||
|
|
||||||
|
|
||||||
Baud rates
|
|
||||||
==========
|
|
||||||
|
|
||||||
The rev 1.2 and below boards use a CL-CD1864. These chips can only
|
|
||||||
do 64kbit. The rev 1.3 and newer boards use a CL-CD1865. These chips
|
|
||||||
are officially capable of 115k2.
|
|
||||||
|
|
||||||
The Specialix card uses a 25MHz crystal (in times two mode, which in
|
|
||||||
fact is a divided by two mode). This is not enough to reach the rated
|
|
||||||
115k2 on all ports at the same time. With this clock rate you can only
|
|
||||||
do 37% of this rate. This means that at 115k2 on all ports you are
|
|
||||||
going to lose characters (The chip cannot handle that many incoming
|
|
||||||
bits at this clock rate.) (Yes, you read that correctly: there is a
|
|
||||||
limit to the number of -=bits=- per second that the chip can handle.)
|
|
||||||
|
|
||||||
If you near the "limit" you will first start to see a graceful
|
|
||||||
degradation in that the chip cannot keep the transmitter busy at all
|
|
||||||
times. However with a central clock this slow, you can also get it to
|
|
||||||
miss incoming characters. The driver will print a warning message when
|
|
||||||
you are outside the official specs. The messages usually show up in
|
|
||||||
the file /var/log/messages .
|
|
||||||
|
|
||||||
The specialix card cannot reliably do 115k2. If you use it, you have
|
|
||||||
to do "extensive testing" (*) to verify if it actually works.
|
|
||||||
|
|
||||||
When "mgetty" communicates with my modem at 115k2 it reports:
|
|
||||||
got: +++[0d]ATQ0V1H0[0d][0d][8a]O[cb][0d][8a]
|
|
||||||
^^^^ ^^^^ ^^^^
|
|
||||||
|
|
||||||
The three characters that have the "^^^" under them have suffered a
|
|
||||||
bit error in the highest bit. In conclusion: I've tested it, and found
|
|
||||||
that it simply DOESN'T work for me. I also suspect that this is also
|
|
||||||
caused by the baud rate being just a little bit out of tune.
|
|
||||||
|
|
||||||
I upgraded the crystal to 66Mhz on one of my Specialix cards. Works
|
|
||||||
great! Contact me for details. (Voids warranty, requires a steady hand
|
|
||||||
and more such restrictions....)
|
|
||||||
|
|
||||||
|
|
||||||
(*) Cirrus logic CD1864 databook, page 40.
|
|
||||||
|
|
||||||
|
|
||||||
Cables for the Specialix IO8+
|
|
||||||
=============================
|
|
||||||
|
|
||||||
The pinout of the connectors on the IO8+ is:
|
|
||||||
|
|
||||||
pin short direction long name
|
|
||||||
name
|
|
||||||
Pin 1 DCD input Data Carrier Detect
|
|
||||||
Pin 2 RXD input Receive
|
|
||||||
Pin 3 DTR/RTS output Data Terminal Ready/Ready To Send
|
|
||||||
Pin 4 GND - Ground
|
|
||||||
Pin 5 TXD output Transmit
|
|
||||||
Pin 6 CTS input Clear To Send
|
|
||||||
|
|
||||||
|
|
||||||
-- 6 5 4 3 2 1 --
|
|
||||||
| |
|
|
||||||
| |
|
|
||||||
| |
|
|
||||||
| |
|
|
||||||
+----- -----+
|
|
||||||
|__________|
|
|
||||||
clip
|
|
||||||
|
|
||||||
Front view of an RJ12 connector. Cable moves "into" the paper.
|
|
||||||
(the plug is ready to plug into your mouth this way...)
|
|
||||||
|
|
||||||
|
|
||||||
NULL cable. I don't know who is going to use these except for
|
|
||||||
testing purposes, but I tested the cards with this cable. (It
|
|
||||||
took quite a while to figure out, so I'm not going to delete
|
|
||||||
it. So there! :-)
|
|
||||||
|
|
||||||
|
|
||||||
This end goes This end needs
|
|
||||||
straight into the some twists in
|
|
||||||
RJ12 plug. the wiring.
|
|
||||||
IO8+ RJ12 IO8+ RJ12
|
|
||||||
1 DCD white -
|
|
||||||
- - 1 DCD
|
|
||||||
2 RXD black 5 TXD
|
|
||||||
3 DTR/RTS red 6 CTS
|
|
||||||
4 GND green 4 GND
|
|
||||||
5 TXD yellow 2 RXD
|
|
||||||
6 CTS blue 3 DTR/RTS
|
|
||||||
|
|
||||||
|
|
||||||
Same NULL cable, but now sorted on the second column.
|
|
||||||
|
|
||||||
1 DCD white -
|
|
||||||
- - 1 DCD
|
|
||||||
5 TXD yellow 2 RXD
|
|
||||||
6 CTS blue 3 DTR/RTS
|
|
||||||
4 GND green 4 GND
|
|
||||||
2 RXD black 5 TXD
|
|
||||||
3 DTR/RTS red 6 CTS
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
This is a modem cable usable for hardware handshaking:
|
|
||||||
RJ12 DB25 DB9
|
|
||||||
1 DCD white 8 DCD 1 DCD
|
|
||||||
2 RXD black 3 RXD 2 RXD
|
|
||||||
3 DTR/RTS red 4 RTS 7 RTS
|
|
||||||
4 GND green 7 GND 5 GND
|
|
||||||
5 TXD yellow 2 TXD 3 TXD
|
|
||||||
6 CTS blue 5 CTS 8 CTS
|
|
||||||
+---- 6 DSR 6 DSR
|
|
||||||
+---- 20 DTR 4 DTR
|
|
||||||
|
|
||||||
This is a modem cable usable for software handshaking:
|
|
||||||
It allows you to reset the modem using the DTR ioctls.
|
|
||||||
I (REW) have never tested this, "but xxxxxxxxxxxxx
|
|
||||||
says that it works." If you test this, please
|
|
||||||
tell me and I'll fill in your name on the xxx's.
|
|
||||||
|
|
||||||
RJ12 DB25 DB9
|
|
||||||
1 DCD white 8 DCD 1 DCD
|
|
||||||
2 RXD black 3 RXD 2 RXD
|
|
||||||
3 DTR/RTS red 20 DTR 4 DTR
|
|
||||||
4 GND green 7 GND 5 GND
|
|
||||||
5 TXD yellow 2 TXD 3 TXD
|
|
||||||
6 CTS blue 5 CTS 8 CTS
|
|
||||||
+---- 6 DSR 6 DSR
|
|
||||||
+---- 4 RTS 7 RTS
|
|
||||||
|
|
||||||
I bought a 6 wire flat cable. It was colored as indicated.
|
|
||||||
Check that yours is the same before you trust me on this.
|
|
||||||
|
|
||||||
|
|
||||||
Hardware handshaking issues.
|
|
||||||
============================
|
|
||||||
|
|
||||||
The driver can be told to operate in two different ways. The default
|
|
||||||
behaviour is specialix.sx_rtscts = 0 where the pin behaves as DTR when
|
|
||||||
hardware handshaking is off. It behaves as the RTS hardware
|
|
||||||
handshaking signal when hardware handshaking is selected.
|
|
||||||
|
|
||||||
When you use this, you have to use the appropriate cable. The
|
|
||||||
cable will either be compatible with hardware handshaking or with
|
|
||||||
software handshaking. So switching on the fly is not really an
|
|
||||||
option.
|
|
||||||
|
|
||||||
I actually prefer to use the "specialix.sx_rtscts=1" option.
|
|
||||||
This makes the DTR/RTS pin always an RTS pin, and ioctls to
|
|
||||||
change DTR are always ignored. I have a cable that is configured
|
|
||||||
for this.
|
|
||||||
|
|
||||||
|
|
||||||
Ports and devices
|
|
||||||
=================
|
|
||||||
|
|
||||||
Port 0 is the one furthest from the card-edge connector.
|
|
||||||
|
|
||||||
Devices:
|
|
||||||
|
|
||||||
You should make the devices as follows:
|
|
||||||
|
|
||||||
bash
|
|
||||||
cd /dev
|
|
||||||
for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 \
|
|
||||||
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
|
||||||
do
|
|
||||||
echo -n "$i "
|
|
||||||
mknod /dev/ttyW$i c 75 $i
|
|
||||||
mknod /dev/cuw$i c 76 $i
|
|
||||||
done
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
If your system doesn't come with these devices preinstalled, bug your
|
|
||||||
linux-vendor about this. They have had ample time to get this
|
|
||||||
implemented by now.
|
|
||||||
|
|
||||||
You cannot have more than 4 boards in one computer. The card only
|
|
||||||
supports 4 different interrupts. If you really want this, contact me
|
|
||||||
about this and I'll give you a few tips (requires soldering iron)....
|
|
||||||
|
|
||||||
If you have enough PCI slots, you can probably use more than 4 PCI
|
|
||||||
versions of the card though....
|
|
||||||
|
|
||||||
The PCI version of the card cannot adhere to the mechanical part of
|
|
||||||
the PCI spec because the 8 serial connectors are simply too large. If
|
|
||||||
it doesn't fit in your computer, bring back the card.
|
|
||||||
|
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
Fixed bugs and restrictions:
|
|
||||||
- During initialization, interrupts are blindly turned on.
|
|
||||||
Having a shadow variable would cause an extra memory
|
|
||||||
access on every IO instruction.
|
|
||||||
- The interrupt (on the card) should be disabled when we
|
|
||||||
don't allocate the Linux end of the interrupt. This allows
|
|
||||||
a different driver/card to use it while all ports are not in
|
|
||||||
use..... (a la standard serial port)
|
|
||||||
== An extra _off variant of the sx_in and sx_out macros are
|
|
||||||
now available. They don't set the interrupt enable bit.
|
|
||||||
These are used during initialization. Normal operation uses
|
|
||||||
the old variant which enables the interrupt line.
|
|
||||||
- RTS/DTR issue needs to be implemented according to
|
|
||||||
specialix' spec.
|
|
||||||
I kind of like the "determinism" of the current
|
|
||||||
implementation. Compile time flag?
|
|
||||||
== Ok. Compile time flag! Default is how Specialix likes it.
|
|
||||||
== Now a config time flag! Gets saved in your config file. Neat!
|
|
||||||
- Can you set the IO address from the lilo command line?
|
|
||||||
If you need this, bug me about it, I'll make it.
|
|
||||||
== Hah! No bugging needed. Fixed! :-)
|
|
||||||
- Cirrus logic hasn't gotten back to me yet why the CD1865 can
|
|
||||||
and the CD1864 can't do 115k2. I suspect that this is
|
|
||||||
because the CD1864 is not rated for 33MHz operation.
|
|
||||||
Therefore the CD1864 versions of the card can't do 115k2 on
|
|
||||||
all ports just like the CD1865 versions. The driver does
|
|
||||||
not block 115k2 on CD1864 cards.
|
|
||||||
== I called the Cirrus Logic representative here in Holland.
|
|
||||||
The CD1864 databook is identical to the CD1865 databook,
|
|
||||||
except for an extra warning at the end. Similar Bit errors
|
|
||||||
have been observed in testing at 115k2 on both an 1865 and
|
|
||||||
a 1864 chip. I see no reason why I would prohibit 115k2 on
|
|
||||||
1864 chips and not do it on 1865 chips. Actually there is
|
|
||||||
reason to prohibit it on BOTH chips. I print a warning.
|
|
||||||
If you use 115k2, you're on your own.
|
|
||||||
- A spiky CD may send spurious HUPs. Also in CLOCAL???
|
|
||||||
-- A fix for this turned out to be counter productive.
|
|
||||||
Different fix? Current behaviour is acceptable?
|
|
||||||
-- Maybe the current implementation is correct. If anybody
|
|
||||||
gets bitten by this, please report, and it will get fixed.
|
|
||||||
|
|
||||||
-- Testing revealed that when in CLOCAL, the problem doesn't
|
|
||||||
occur. As warned for in the CD1865 manual, the chip may
|
|
||||||
send modem intr's on a spike. We could filter those out,
|
|
||||||
but that would be a cludge anyway (You'd still risk getting
|
|
||||||
a spurious HUP when two spikes occur.).....
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Bugs & restrictions:
|
|
||||||
- This is a difficult card to autoprobe.
|
|
||||||
You have to WRITE to the address register to even
|
|
||||||
read-probe a CD186x register. Disable autodetection?
|
|
||||||
-- Specialix: any suggestions?
|
|
||||||
|
|
||||||
|
|
|
@ -1,294 +0,0 @@
|
||||||
|
|
||||||
sx.txt -- specialix SX/SI multiport serial driver readme.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Copyright (C) 1997 Roger Wolff (R.E.Wolff@BitWizard.nl)
|
|
||||||
|
|
||||||
Specialix pays for the development and support of this driver.
|
|
||||||
Please DO contact support@specialix.co.uk if you require
|
|
||||||
support.
|
|
||||||
|
|
||||||
This driver was developed in the BitWizard linux device
|
|
||||||
driver service. If you require a linux device driver for your
|
|
||||||
product, please contact devices@BitWizard.nl for a quote.
|
|
||||||
|
|
||||||
(History)
|
|
||||||
There used to be an SI driver by Simon Allan. This is a complete
|
|
||||||
rewrite from scratch. Just a few lines-of-code have been snatched.
|
|
||||||
|
|
||||||
(Sources)
|
|
||||||
Specialix document number 6210028: SX Host Card and Download Code
|
|
||||||
Software Functional Specification.
|
|
||||||
|
|
||||||
(Copying)
|
|
||||||
This program is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU General Public License as
|
|
||||||
published by the Free Software Foundation; either version 2 of
|
|
||||||
the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be
|
|
||||||
useful, but WITHOUT ANY WARRANTY; without even the implied
|
|
||||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
PURPOSE. See the GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public
|
|
||||||
License along with this program; if not, write to the Free
|
|
||||||
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
|
|
||||||
USA.
|
|
||||||
|
|
||||||
(Addendum)
|
|
||||||
I'd appreciate it that if you have fixes, that you send them
|
|
||||||
to me first.
|
|
||||||
|
|
||||||
|
|
||||||
Introduction
|
|
||||||
============
|
|
||||||
|
|
||||||
This file contains some random information, that I like to have online
|
|
||||||
instead of in a manual that can get lost. Ever misplace your Linux
|
|
||||||
kernel sources? And the manual of one of the boards in your computer?
|
|
||||||
|
|
||||||
|
|
||||||
Theory of operation
|
|
||||||
===================
|
|
||||||
|
|
||||||
An important thing to know is that the driver itself doesn't have the
|
|
||||||
firmware for the card. This means that you need the separate package
|
|
||||||
"sx_firmware". For now you can get the source at
|
|
||||||
|
|
||||||
ftp://ftp.bitwizard.nl/specialix/sx_firmware_<version>.tgz
|
|
||||||
|
|
||||||
The firmware load needs a "misc" device, so you'll need to enable the
|
|
||||||
"Support for user misc device modules" in your kernel configuration.
|
|
||||||
The misc device needs to be called "/dev/specialix_sxctl". It needs
|
|
||||||
misc major 10, and minor number 167 (assigned by HPA). The section
|
|
||||||
on creating device files below also creates this device.
|
|
||||||
|
|
||||||
After loading the sx.o module into your kernel, the driver will report
|
|
||||||
the number of cards detected, but because it doesn't have any
|
|
||||||
firmware, it will not be able to determine the number of ports. Only
|
|
||||||
when you then run "sx_firmware" will the firmware be downloaded and
|
|
||||||
the rest of the driver initialized. At that time the sx_firmware
|
|
||||||
program will report the number of ports installed.
|
|
||||||
|
|
||||||
In contrast with many other multi port serial cards, some of the data
|
|
||||||
structures are only allocated when the card knows the number of ports
|
|
||||||
that are connected. This means we won't waste memory for 120 port
|
|
||||||
descriptor structures when you only have 8 ports. If you experience
|
|
||||||
problems due to this, please report them: I haven't seen any.
|
|
||||||
|
|
||||||
|
|
||||||
Interrupts
|
|
||||||
==========
|
|
||||||
|
|
||||||
A multi port serial card, would generate a horrendous amount of
|
|
||||||
interrupts if it would interrupt the CPU for every received
|
|
||||||
character. Even more than 10 years ago, the trick not to use
|
|
||||||
interrupts but to poll the serial cards was invented.
|
|
||||||
|
|
||||||
The SX card allow us to do this two ways. First the card limits its
|
|
||||||
own interrupt rate to a rate that won't overwhelm the CPU. Secondly,
|
|
||||||
we could forget about the cards interrupt completely and use the
|
|
||||||
internal timer for this purpose.
|
|
||||||
|
|
||||||
Polling the card can take up to a few percent of your CPU. Using the
|
|
||||||
interrupts would be better if you have most of the ports idle. Using
|
|
||||||
timer-based polling is better if your card almost always has work to
|
|
||||||
do. You save the separate interrupt in that case.
|
|
||||||
|
|
||||||
In any case, it doesn't really matter all that much.
|
|
||||||
|
|
||||||
The most common problem with interrupts is that for ISA cards in a PCI
|
|
||||||
system the BIOS has to be told to configure that interrupt as "legacy
|
|
||||||
ISA". Otherwise the card can pull on the interrupt line all it wants
|
|
||||||
but the CPU won't see this.
|
|
||||||
|
|
||||||
If you can't get the interrupt to work, remember that polling mode is
|
|
||||||
more efficient (provided you actually use the card intensively).
|
|
||||||
|
|
||||||
|
|
||||||
Allowed Configurations
|
|
||||||
======================
|
|
||||||
|
|
||||||
Some configurations are disallowed. Even though at a glance they might
|
|
||||||
seem to work, they are known to lockup the bus between the host card
|
|
||||||
and the device concentrators. You should respect the drivers decision
|
|
||||||
not to support certain configurations. It's there for a reason.
|
|
||||||
|
|
||||||
Warning: Seriously technical stuff ahead. Executive summary: Don't use
|
|
||||||
SX cards except configured at a 64k boundary. Skip the next paragraph.
|
|
||||||
|
|
||||||
The SX cards can theoretically be placed at a 32k boundary. So for
|
|
||||||
instance you can put an SX card at 0xc8000-0xd7fff. This is not a
|
|
||||||
"recommended configuration". ISA cards have to tell the bus controller
|
|
||||||
how they like their timing. Due to timing issues they have to do this
|
|
||||||
based on which 64k window the address falls into. This means that the
|
|
||||||
32k window below and above the SX card have to use exactly the same
|
|
||||||
timing as the SX card. That reportedly works for other SX cards. But
|
|
||||||
you're still left with two useless 32k windows that should not be used
|
|
||||||
by anybody else.
|
|
||||||
|
|
||||||
|
|
||||||
Configuring the driver
|
|
||||||
======================
|
|
||||||
|
|
||||||
PCI cards are always detected. The driver auto-probes for ISA cards at
|
|
||||||
some sensible addresses. Please report if the auto-probe causes trouble
|
|
||||||
in your system, or when a card isn't detected.
|
|
||||||
|
|
||||||
I'm afraid I haven't implemented "kernel command line parameters" yet.
|
|
||||||
This means that if the default doesn't work for you, you shouldn't use
|
|
||||||
the compiled-into-the-kernel version of the driver. Use a module
|
|
||||||
instead. If you convince me that you need this, I'll make it for
|
|
||||||
you. Deal?
|
|
||||||
|
|
||||||
I'm afraid that the module parameters are a bit clumsy. If you have a
|
|
||||||
better idea, please tell me.
|
|
||||||
|
|
||||||
You can specify several parameters:
|
|
||||||
|
|
||||||
sx_poll: number of jiffies between timer-based polls.
|
|
||||||
|
|
||||||
Set this to "0" to disable timer based polls.
|
|
||||||
Initialization of cards without a working interrupt
|
|
||||||
will fail.
|
|
||||||
|
|
||||||
Set this to "1" if you want a polling driver.
|
|
||||||
(on Intel: 100 polls per second). If you don't use
|
|
||||||
fast baud rates, you might consider a value like "5".
|
|
||||||
(If you don't know how to do the math, use 1).
|
|
||||||
|
|
||||||
sx_slowpoll: Number of jiffies between timer-based polls.
|
|
||||||
Set this to "100" to poll once a second.
|
|
||||||
This should get the card out of a stall if the driver
|
|
||||||
ever misses an interrupt. I've never seen this happen,
|
|
||||||
and if it does, that's a bug. Tell me.
|
|
||||||
|
|
||||||
sx_maxints: Number of interrupts to request from the card.
|
|
||||||
The card normally limits interrupts to about 100 per
|
|
||||||
second to offload the host CPU. You can increase this
|
|
||||||
number to reduce latency on the card a little.
|
|
||||||
Note that if you give a very high number you can overload
|
|
||||||
your CPU as well as the CPU on the host card. This setting
|
|
||||||
is inaccurate and not recommended for SI cards (But it
|
|
||||||
works).
|
|
||||||
|
|
||||||
sx_irqmask: The mask of allowable IRQs to use. I suggest you set
|
|
||||||
this to 0 (disable IRQs all together) and use polling if
|
|
||||||
the assignment of IRQs becomes problematic. This is defined
|
|
||||||
as the sum of (1 << irq) 's that you want to allow. So
|
|
||||||
sx_irqmask of 8 (1 << 3) specifies that only irq 3 may
|
|
||||||
be used by the SX driver. If you want to specify to the
|
|
||||||
driver: "Either irq 11 or 12 is ok for you to use", then
|
|
||||||
specify (1 << 11) | (1 << 12) = 0x1800 .
|
|
||||||
|
|
||||||
sx_debug: You can enable different sorts of debug traces with this.
|
|
||||||
At "-1" all debugging traces are active. You'll get several
|
|
||||||
times more debugging output than you'll get characters
|
|
||||||
transmitted.
|
|
||||||
|
|
||||||
|
|
||||||
Baud rates
|
|
||||||
==========
|
|
||||||
|
|
||||||
Theoretically new SXDCs should be capable of more than 460k
|
|
||||||
baud. However the line drivers usually give up before that. Also the
|
|
||||||
CPU on the card may not be able to handle 8 channels going at full
|
|
||||||
blast at that speed. Moreover, the buffers are not large enough to
|
|
||||||
allow operation with 100 interrupts per second. You'll have to realize
|
|
||||||
that the card has a 256 byte buffer, so you'll have to increase the
|
|
||||||
number of interrupts per second if you have more than 256*100 bytes
|
|
||||||
per second to transmit. If you do any performance testing in this
|
|
||||||
area, I'd be glad to hear from you...
|
|
||||||
|
|
||||||
(Psst Linux users..... I think the Linux driver is more efficient than
|
|
||||||
the driver for other OSes. If you can and want to benchmark them
|
|
||||||
against each other, be my guest, and report your findings...... :-)
|
|
||||||
|
|
||||||
|
|
||||||
Ports and devices
|
|
||||||
=================
|
|
||||||
|
|
||||||
Port 0 is the top connector on the module closest to the host
|
|
||||||
card. Oh, the ports on the SXDCs and TAs are labelled from 1 to 8
|
|
||||||
instead of from 0 to 7, as they are numbered by linux. I'm stubborn in
|
|
||||||
this: I know for sure that I wouldn't be able to calculate which port
|
|
||||||
is which anymore if I would change that....
|
|
||||||
|
|
||||||
|
|
||||||
Devices:
|
|
||||||
|
|
||||||
You should make the device files as follows:
|
|
||||||
|
|
||||||
#!/bin/sh
|
|
||||||
# (I recommend that you cut-and-paste this into a file and run that)
|
|
||||||
cd /dev
|
|
||||||
t=0
|
|
||||||
mknod specialix_sxctl c 10 167
|
|
||||||
while [ $t -lt 64 ]
|
|
||||||
do
|
|
||||||
echo -n "$t "
|
|
||||||
mknod ttyX$t c 32 $t
|
|
||||||
mknod cux$t c 33 $t
|
|
||||||
t=`expr $t + 1`
|
|
||||||
done
|
|
||||||
echo ""
|
|
||||||
rm /etc/psdevtab
|
|
||||||
ps > /dev/null
|
|
||||||
|
|
||||||
|
|
||||||
This creates 64 devices. If you have more, increase the constant on
|
|
||||||
the line with "while". The devices start at 0, as is customary on
|
|
||||||
Linux. Specialix seems to like starting the numbering at 1.
|
|
||||||
|
|
||||||
If your system doesn't come with these devices pre-installed, bug your
|
|
||||||
linux-vendor about this. They should have these devices
|
|
||||||
"pre-installed" before the new millennium. The "ps" stuff at the end
|
|
||||||
is to "tell" ps that the new devices exist.
|
|
||||||
|
|
||||||
Officially the maximum number of cards per computer is 4. This driver
|
|
||||||
however supports as many cards in one machine as you want. You'll run
|
|
||||||
out of interrupts after a few, but you can switch to polled operation
|
|
||||||
then. At about 256 ports (More than 8 cards), we run out of minor
|
|
||||||
device numbers. Sorry. I suggest you buy a second computer.... (Or
|
|
||||||
switch to RIO).
|
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
Fixed bugs and restrictions:
|
|
||||||
- Hangup processing.
|
|
||||||
-- Done.
|
|
||||||
|
|
||||||
- the write path in generic_serial (lockup / oops).
|
|
||||||
-- Done (Ugly: not the way I want it. Copied from serial.c).
|
|
||||||
|
|
||||||
- write buffer isn't flushed at close.
|
|
||||||
-- Done. I still seem to lose a few chars at close.
|
|
||||||
Sorry. I think that this is a firmware issue. (-> Specialix)
|
|
||||||
|
|
||||||
- drain hardware before changing termios
|
|
||||||
- Change debug on the fly.
|
|
||||||
- ISA free irq -1. (no firmware loaded).
|
|
||||||
- adding c8000 as a probe address. Added warning.
|
|
||||||
- Add a RAMtest for the RAM on the card.c
|
|
||||||
- Crash when opening a port "way" of the number of allowed ports.
|
|
||||||
(for example opening port 60 when there are only 24 ports attached)
|
|
||||||
- Sometimes the use-count strays a bit. After a few hours of
|
|
||||||
testing the use count is sometimes "3". If you are not like
|
|
||||||
me and can remember what you did to get it that way, I'd
|
|
||||||
appreciate an Email. Possibly fixed. Tell me if anyone still
|
|
||||||
sees this.
|
|
||||||
- TAs don't work right if you don't connect all the modem control
|
|
||||||
signals. SXDCs do. T225 firmware problem -> Specialix.
|
|
||||||
(Mostly fixed now, I think. Tell me if you encounter this!)
|
|
||||||
|
|
||||||
Bugs & restrictions:
|
|
||||||
|
|
||||||
- Arbitrary baud rates. Requires firmware update. (-> Specialix)
|
|
||||||
|
|
||||||
- Low latency (mostly firmware, -> Specialix)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ Procedure for submitting patches to the -stable tree:
|
||||||
the stable tree without anything else needing to be done by the author
|
the stable tree without anything else needing to be done by the author
|
||||||
or subsystem maintainer.
|
or subsystem maintainer.
|
||||||
- If the patch requires other patches as prerequisites which can be
|
- If the patch requires other patches as prerequisites which can be
|
||||||
cherry-picked than this can be specified in the following format in
|
cherry-picked, then this can be specified in the following format in
|
||||||
the sign-off area:
|
the sign-off area:
|
||||||
|
|
||||||
Cc: <stable@vger.kernel.org> # 3.3.x: a1f84a3: sched: Check for idle
|
Cc: <stable@vger.kernel.org> # 3.3.x: a1f84a3: sched: Check for idle
|
||||||
|
|
|
@ -174,7 +174,6 @@ Components of Memory Policies
|
||||||
allocation fails, the kernel will search other nodes, in order of
|
allocation fails, the kernel will search other nodes, in order of
|
||||||
increasing distance from the preferred node based on information
|
increasing distance from the preferred node based on information
|
||||||
provided by the platform firmware.
|
provided by the platform firmware.
|
||||||
containing the cpu where the allocation takes place.
|
|
||||||
|
|
||||||
Internally, the Preferred policy uses a single node--the
|
Internally, the Preferred policy uses a single node--the
|
||||||
preferred_node member of struct mempolicy. When the internal
|
preferred_node member of struct mempolicy. When the internal
|
||||||
|
@ -275,9 +274,9 @@ Components of Memory Policies
|
||||||
For example, consider a task that is attached to a cpuset with
|
For example, consider a task that is attached to a cpuset with
|
||||||
mems 2-5 that sets an Interleave policy over the same set with
|
mems 2-5 that sets an Interleave policy over the same set with
|
||||||
MPOL_F_RELATIVE_NODES. If the cpuset's mems change to 3-7, the
|
MPOL_F_RELATIVE_NODES. If the cpuset's mems change to 3-7, the
|
||||||
interleave now occurs over nodes 3,5-6. If the cpuset's mems
|
interleave now occurs over nodes 3,5-7. If the cpuset's mems
|
||||||
then change to 0,2-3,5, then the interleave occurs over nodes
|
then change to 0,2-3,5, then the interleave occurs over nodes
|
||||||
0,3,5.
|
0,2-3,5.
|
||||||
|
|
||||||
Thanks to the consistent remapping, applications preparing
|
Thanks to the consistent remapping, applications preparing
|
||||||
nodemasks to specify memory policies using this flag should
|
nodemasks to specify memory policies using this flag should
|
||||||
|
|
|
@ -237,7 +237,7 @@ kernel.org网站的pub/linux/kernel/v2.6/目录下找到它。它的开发遵循
|
||||||
如果没有2.6.x.y版本内核存在,那么最新的2.6.x版本内核就相当于是当前的稳定
|
如果没有2.6.x.y版本内核存在,那么最新的2.6.x版本内核就相当于是当前的稳定
|
||||||
版内核。
|
版内核。
|
||||||
|
|
||||||
2.6.x.y版本由“稳定版”小组(邮件地址<stable@kernel.org>)维护,一般隔周发
|
2.6.x.y版本由“稳定版”小组(邮件地址<stable@vger.kernel.org>)维护,一般隔周发
|
||||||
布新版本。
|
布新版本。
|
||||||
|
|
||||||
内核源码中的Documentation/stable_kernel_rules.txt文件具体描述了可被稳定
|
内核源码中的Documentation/stable_kernel_rules.txt文件具体描述了可被稳定
|
||||||
|
|
67
Documentation/zh_CN/io_ordering.txt
Normal file
67
Documentation/zh_CN/io_ordering.txt
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
Chinese translated version of Documentation/io_orderings.txt
|
||||||
|
|
||||||
|
If you have any comment or update to the content, please contact the
|
||||||
|
original document maintainer directly. However, if you have a problem
|
||||||
|
communicating in English you can also ask the Chinese maintainer for
|
||||||
|
help. Contact the Chinese maintainer if this translation is outdated
|
||||||
|
or if there is a problem with the translation.
|
||||||
|
|
||||||
|
Chinese maintainer: Lin Yongting <linyongting@gmail.com>
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
Documentation/io_ordering.txt 的中文翻译
|
||||||
|
|
||||||
|
如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文
|
||||||
|
交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻
|
||||||
|
译存在问题,请联系中文版维护者。
|
||||||
|
|
||||||
|
中文版维护者: 林永听 Lin Yongting <linyongting@gmail.com>
|
||||||
|
中文版翻译者: 林永听 Lin Yongting <linyongting@gmail.com>
|
||||||
|
中文版校译者: 林永听 Lin Yongting <linyongting@gmail.com>
|
||||||
|
|
||||||
|
|
||||||
|
以下为正文
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
|
||||||
|
在某些平台上,所谓的内存映射I/O是弱顺序。在这些平台上,驱动开发者有责任
|
||||||
|
保证I/O内存映射地址的写操作按程序图意的顺序达到设备。通常读取一个“安全”
|
||||||
|
设备寄存器或桥寄存器,触发IO芯片清刷未处理的写操作到达设备后才处理读操作,
|
||||||
|
而达到保证目的。驱动程序通常在spinlock保护的临界区退出之前使用这种技术。
|
||||||
|
这也可以保证后面的写操作只在前面的写操作之后到达设备(这非常类似于内存
|
||||||
|
屏障操作,mb(),不过仅适用于I/O)。
|
||||||
|
|
||||||
|
假设一个设备驱动程的具体例子:
|
||||||
|
|
||||||
|
...
|
||||||
|
CPU A: spin_lock_irqsave(&dev_lock, flags)
|
||||||
|
CPU A: val = readl(my_status);
|
||||||
|
CPU A: ...
|
||||||
|
CPU A: writel(newval, ring_ptr);
|
||||||
|
CPU A: spin_unlock_irqrestore(&dev_lock, flags)
|
||||||
|
...
|
||||||
|
CPU B: spin_lock_irqsave(&dev_lock, flags)
|
||||||
|
CPU B: val = readl(my_status);
|
||||||
|
CPU B: ...
|
||||||
|
CPU B: writel(newval2, ring_ptr);
|
||||||
|
CPU B: spin_unlock_irqrestore(&dev_lock, flags)
|
||||||
|
...
|
||||||
|
|
||||||
|
上述例子中,设备可能会先接收到newval2的值,然后接收到newval的值,问题就
|
||||||
|
发生了。不过很容易通过下面方法来修复:
|
||||||
|
|
||||||
|
...
|
||||||
|
CPU A: spin_lock_irqsave(&dev_lock, flags)
|
||||||
|
CPU A: val = readl(my_status);
|
||||||
|
CPU A: ...
|
||||||
|
CPU A: writel(newval, ring_ptr);
|
||||||
|
CPU A: (void)readl(safe_register); /* 配置寄存器?*/
|
||||||
|
CPU A: spin_unlock_irqrestore(&dev_lock, flags)
|
||||||
|
...
|
||||||
|
CPU B: spin_lock_irqsave(&dev_lock, flags)
|
||||||
|
CPU B: val = readl(my_status);
|
||||||
|
CPU B: ...
|
||||||
|
CPU B: writel(newval2, ring_ptr);
|
||||||
|
CPU B: (void)readl(safe_register); /* 配置寄存器?*/
|
||||||
|
CPU B: spin_unlock_irqrestore(&dev_lock, flags)
|
||||||
|
|
||||||
|
在解决方案中,读取safe_register寄存器,触发IO芯片清刷未处理的写操作,
|
||||||
|
再处理后面的读操作,防止引发数据不一致问题。
|
|
@ -63,8 +63,6 @@ struct tty_ldisc {
|
||||||
PG_MAGIC 'P' pg_{read,write}_hdr include/linux/pg.h
|
PG_MAGIC 'P' pg_{read,write}_hdr include/linux/pg.h
|
||||||
CMAGIC 0x0111 user include/linux/a.out.h
|
CMAGIC 0x0111 user include/linux/a.out.h
|
||||||
MKISS_DRIVER_MAGIC 0x04bf mkiss_channel drivers/net/mkiss.h
|
MKISS_DRIVER_MAGIC 0x04bf mkiss_channel drivers/net/mkiss.h
|
||||||
RISCOM8_MAGIC 0x0907 riscom_port drivers/char/riscom8.h
|
|
||||||
SPECIALIX_MAGIC 0x0907 specialix_port drivers/char/specialix_io8.h
|
|
||||||
HDLC_MAGIC 0x239e n_hdlc drivers/char/n_hdlc.c
|
HDLC_MAGIC 0x239e n_hdlc drivers/char/n_hdlc.c
|
||||||
APM_BIOS_MAGIC 0x4101 apm_user arch/x86/kernel/apm_32.c
|
APM_BIOS_MAGIC 0x4101 apm_user arch/x86/kernel/apm_32.c
|
||||||
CYCLADES_MAGIC 0x4359 cyclades_port include/linux/cyclades.h
|
CYCLADES_MAGIC 0x4359 cyclades_port include/linux/cyclades.h
|
||||||
|
@ -82,7 +80,6 @@ STRIP_MAGIC 0x5303 strip drivers/net/strip.c
|
||||||
X25_ASY_MAGIC 0x5303 x25_asy drivers/net/x25_asy.h
|
X25_ASY_MAGIC 0x5303 x25_asy drivers/net/x25_asy.h
|
||||||
SIXPACK_MAGIC 0x5304 sixpack drivers/net/hamradio/6pack.h
|
SIXPACK_MAGIC 0x5304 sixpack drivers/net/hamradio/6pack.h
|
||||||
AX25_MAGIC 0x5316 ax_disp drivers/net/mkiss.h
|
AX25_MAGIC 0x5316 ax_disp drivers/net/mkiss.h
|
||||||
ESP_MAGIC 0x53ee esp_struct drivers/char/esp.h
|
|
||||||
TTY_MAGIC 0x5401 tty_struct include/linux/tty.h
|
TTY_MAGIC 0x5401 tty_struct include/linux/tty.h
|
||||||
MGSL_MAGIC 0x5401 mgsl_info drivers/char/synclink.c
|
MGSL_MAGIC 0x5401 mgsl_info drivers/char/synclink.c
|
||||||
TTY_DRIVER_MAGIC 0x5402 tty_driver include/linux/tty_driver.h
|
TTY_DRIVER_MAGIC 0x5402 tty_driver include/linux/tty_driver.h
|
||||||
|
@ -94,13 +91,10 @@ USB_BLUETOOTH_MAGIC 0x6d02 usb_bluetooth drivers/usb/class/bluetty.c
|
||||||
RFCOMM_TTY_MAGIC 0x6d02 net/bluetooth/rfcomm/tty.c
|
RFCOMM_TTY_MAGIC 0x6d02 net/bluetooth/rfcomm/tty.c
|
||||||
USB_SERIAL_PORT_MAGIC 0x7301 usb_serial_port drivers/usb/serial/usb-serial.h
|
USB_SERIAL_PORT_MAGIC 0x7301 usb_serial_port drivers/usb/serial/usb-serial.h
|
||||||
CG_MAGIC 0x00090255 ufs_cylinder_group include/linux/ufs_fs.h
|
CG_MAGIC 0x00090255 ufs_cylinder_group include/linux/ufs_fs.h
|
||||||
A2232_MAGIC 0x000a2232 gs_port drivers/char/ser_a2232.h
|
|
||||||
RPORT_MAGIC 0x00525001 r_port drivers/char/rocket_int.h
|
RPORT_MAGIC 0x00525001 r_port drivers/char/rocket_int.h
|
||||||
LSEMAGIC 0x05091998 lse drivers/fc4/fc.c
|
LSEMAGIC 0x05091998 lse drivers/fc4/fc.c
|
||||||
GDTIOCTL_MAGIC 0x06030f07 gdth_iowr_str drivers/scsi/gdth_ioctl.h
|
GDTIOCTL_MAGIC 0x06030f07 gdth_iowr_str drivers/scsi/gdth_ioctl.h
|
||||||
RIEBL_MAGIC 0x09051990 drivers/net/atarilance.c
|
RIEBL_MAGIC 0x09051990 drivers/net/atarilance.c
|
||||||
RIO_MAGIC 0x12345678 gs_port drivers/char/rio/rio_linux.c
|
|
||||||
SX_MAGIC 0x12345678 gs_port drivers/char/sx.h
|
|
||||||
NBD_REQUEST_MAGIC 0x12560953 nbd_request include/linux/nbd.h
|
NBD_REQUEST_MAGIC 0x12560953 nbd_request include/linux/nbd.h
|
||||||
RED_MAGIC2 0x170fc2a5 (any) mm/slab.c
|
RED_MAGIC2 0x170fc2a5 (any) mm/slab.c
|
||||||
BAYCOM_MAGIC 0x19730510 baycom_state drivers/net/baycom_epp.c
|
BAYCOM_MAGIC 0x19730510 baycom_state drivers/net/baycom_epp.c
|
||||||
|
@ -116,7 +110,6 @@ ISDN_ASYNC_MAGIC 0x49344C01 modem_info include/linux/isdn.h
|
||||||
CTC_ASYNC_MAGIC 0x49344C01 ctc_tty_info drivers/s390/net/ctctty.c
|
CTC_ASYNC_MAGIC 0x49344C01 ctc_tty_info drivers/s390/net/ctctty.c
|
||||||
ISDN_NET_MAGIC 0x49344C02 isdn_net_local_s drivers/isdn/i4l/isdn_net_lib.h
|
ISDN_NET_MAGIC 0x49344C02 isdn_net_local_s drivers/isdn/i4l/isdn_net_lib.h
|
||||||
SAVEKMSG_MAGIC2 0x4B4D5347 savekmsg arch/*/amiga/config.c
|
SAVEKMSG_MAGIC2 0x4B4D5347 savekmsg arch/*/amiga/config.c
|
||||||
STLI_BOARDMAGIC 0x4bc6c825 stlibrd include/linux/istallion.h
|
|
||||||
CS_STATE_MAGIC 0x4c4f4749 cs_state sound/oss/cs46xx.c
|
CS_STATE_MAGIC 0x4c4f4749 cs_state sound/oss/cs46xx.c
|
||||||
SLAB_C_MAGIC 0x4f17a36d kmem_cache mm/slab.c
|
SLAB_C_MAGIC 0x4f17a36d kmem_cache mm/slab.c
|
||||||
COW_MAGIC 0x4f4f4f4d cow_header_v1 arch/um/drivers/ubd_user.c
|
COW_MAGIC 0x4f4f4f4d cow_header_v1 arch/um/drivers/ubd_user.c
|
||||||
|
@ -127,10 +120,8 @@ SCC_MAGIC 0x52696368 gs_port drivers/char/scc.h
|
||||||
SAVEKMSG_MAGIC1 0x53415645 savekmsg arch/*/amiga/config.c
|
SAVEKMSG_MAGIC1 0x53415645 savekmsg arch/*/amiga/config.c
|
||||||
GDA_MAGIC 0x58464552 gda arch/mips/include/asm/sn/gda.h
|
GDA_MAGIC 0x58464552 gda arch/mips/include/asm/sn/gda.h
|
||||||
RED_MAGIC1 0x5a2cf071 (any) mm/slab.c
|
RED_MAGIC1 0x5a2cf071 (any) mm/slab.c
|
||||||
STL_PORTMAGIC 0x5a7182c9 stlport include/linux/stallion.h
|
|
||||||
EEPROM_MAGIC_VALUE 0x5ab478d2 lanai_dev drivers/atm/lanai.c
|
EEPROM_MAGIC_VALUE 0x5ab478d2 lanai_dev drivers/atm/lanai.c
|
||||||
HDLCDRV_MAGIC 0x5ac6e778 hdlcdrv_state include/linux/hdlcdrv.h
|
HDLCDRV_MAGIC 0x5ac6e778 hdlcdrv_state include/linux/hdlcdrv.h
|
||||||
EPCA_MAGIC 0x5c6df104 channel include/linux/epca.h
|
|
||||||
PCXX_MAGIC 0x5c6df104 channel drivers/char/pcxx.h
|
PCXX_MAGIC 0x5c6df104 channel drivers/char/pcxx.h
|
||||||
KV_MAGIC 0x5f4b565f kernel_vars_s arch/mips/include/asm/sn/klkernvars.h
|
KV_MAGIC 0x5f4b565f kernel_vars_s arch/mips/include/asm/sn/klkernvars.h
|
||||||
I810_STATE_MAGIC 0x63657373 i810_state sound/oss/i810_audio.c
|
I810_STATE_MAGIC 0x63657373 i810_state sound/oss/i810_audio.c
|
||||||
|
@ -142,17 +133,14 @@ SLOT_MAGIC 0x67267322 slot drivers/hotplug/acpiphp.h
|
||||||
LO_MAGIC 0x68797548 nbd_device include/linux/nbd.h
|
LO_MAGIC 0x68797548 nbd_device include/linux/nbd.h
|
||||||
OPROFILE_MAGIC 0x6f70726f super_block drivers/oprofile/oprofilefs.h
|
OPROFILE_MAGIC 0x6f70726f super_block drivers/oprofile/oprofilefs.h
|
||||||
M3_STATE_MAGIC 0x734d724d m3_state sound/oss/maestro3.c
|
M3_STATE_MAGIC 0x734d724d m3_state sound/oss/maestro3.c
|
||||||
STL_PANELMAGIC 0x7ef621a1 stlpanel include/linux/stallion.h
|
|
||||||
VMALLOC_MAGIC 0x87654320 snd_alloc_track sound/core/memory.c
|
VMALLOC_MAGIC 0x87654320 snd_alloc_track sound/core/memory.c
|
||||||
KMALLOC_MAGIC 0x87654321 snd_alloc_track sound/core/memory.c
|
KMALLOC_MAGIC 0x87654321 snd_alloc_track sound/core/memory.c
|
||||||
PWC_MAGIC 0x89DC10AB pwc_device drivers/usb/media/pwc.h
|
PWC_MAGIC 0x89DC10AB pwc_device drivers/usb/media/pwc.h
|
||||||
NBD_REPLY_MAGIC 0x96744668 nbd_reply include/linux/nbd.h
|
NBD_REPLY_MAGIC 0x96744668 nbd_reply include/linux/nbd.h
|
||||||
STL_BOARDMAGIC 0xa2267f52 stlbrd include/linux/stallion.h
|
|
||||||
ENI155_MAGIC 0xa54b872d midway_eprom drivers/atm/eni.h
|
ENI155_MAGIC 0xa54b872d midway_eprom drivers/atm/eni.h
|
||||||
SCI_MAGIC 0xbabeface gs_port drivers/char/sh-sci.h
|
SCI_MAGIC 0xbabeface gs_port drivers/char/sh-sci.h
|
||||||
CODA_MAGIC 0xC0DAC0DA coda_file_info include/linux/coda_fs_i.h
|
CODA_MAGIC 0xC0DAC0DA coda_file_info include/linux/coda_fs_i.h
|
||||||
DPMEM_MAGIC 0xc0ffee11 gdt_pci_sram drivers/scsi/gdth.h
|
DPMEM_MAGIC 0xc0ffee11 gdt_pci_sram drivers/scsi/gdth.h
|
||||||
STLI_PORTMAGIC 0xe671c7a1 stliport include/linux/istallion.h
|
|
||||||
YAM_MAGIC 0xF10A7654 yam_port drivers/net/hamradio/yam.c
|
YAM_MAGIC 0xF10A7654 yam_port drivers/net/hamradio/yam.c
|
||||||
CCB_MAGIC 0xf2691ad2 ccb drivers/scsi/ncr53c8xx.c
|
CCB_MAGIC 0xf2691ad2 ccb drivers/scsi/ncr53c8xx.c
|
||||||
QUEUE_MAGIC_FREE 0xf7e1c9a3 queue_entry drivers/scsi/arm/queue.c
|
QUEUE_MAGIC_FREE 0xf7e1c9a3 queue_entry drivers/scsi/arm/queue.c
|
||||||
|
|
|
@ -42,7 +42,7 @@ Documentation/stable_kernel_rules.txt 的中文翻译
|
||||||
|
|
||||||
向稳定版代码树提交补丁的过程:
|
向稳定版代码树提交补丁的过程:
|
||||||
|
|
||||||
- 在确认了补丁符合以上的规则后,将补丁发送到stable@kernel.org。
|
- 在确认了补丁符合以上的规则后,将补丁发送到stable@vger.kernel.org。
|
||||||
- 如果补丁被接受到队列里,发送者会收到一个ACK回复,如果没有被接受,收
|
- 如果补丁被接受到队列里,发送者会收到一个ACK回复,如果没有被接受,收
|
||||||
到的是NAK回复。回复需要几天的时间,这取决于开发者的时间安排。
|
到的是NAK回复。回复需要几天的时间,这取决于开发者的时间安排。
|
||||||
- 被接受的补丁会被加到稳定版本队列里,等待其他开发者的审查。
|
- 被接受的补丁会被加到稳定版本队列里,等待其他开发者的审查。
|
||||||
|
|
23
MAINTAINERS
23
MAINTAINERS
|
@ -3485,6 +3485,12 @@ S: Maintained
|
||||||
F: drivers/extcon/
|
F: drivers/extcon/
|
||||||
F: Documentation/extcon/
|
F: Documentation/extcon/
|
||||||
|
|
||||||
|
EXYNOS DP DRIVER
|
||||||
|
M: Jingoo Han <jg1.han@samsung.com>
|
||||||
|
L: dri-devel@lists.freedesktop.org
|
||||||
|
S: Maintained
|
||||||
|
F: drivers/gpu/drm/exynos/exynos_dp*
|
||||||
|
|
||||||
EXYNOS MIPI DISPLAY DRIVERS
|
EXYNOS MIPI DISPLAY DRIVERS
|
||||||
M: Inki Dae <inki.dae@samsung.com>
|
M: Inki Dae <inki.dae@samsung.com>
|
||||||
M: Donghwa Lee <dh09.lee@samsung.com>
|
M: Donghwa Lee <dh09.lee@samsung.com>
|
||||||
|
@ -3550,7 +3556,7 @@ F: include/scsi/libfcoe.h
|
||||||
F: include/uapi/scsi/fc/
|
F: include/uapi/scsi/fc/
|
||||||
|
|
||||||
FILE LOCKING (flock() and fcntl()/lockf())
|
FILE LOCKING (flock() and fcntl()/lockf())
|
||||||
M: Jeff Layton <jlayton@redhat.com>
|
M: Jeff Layton <jlayton@poochiereds.net>
|
||||||
M: J. Bruce Fields <bfields@fieldses.org>
|
M: J. Bruce Fields <bfields@fieldses.org>
|
||||||
L: linux-fsdevel@vger.kernel.org
|
L: linux-fsdevel@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
@ -5108,14 +5114,19 @@ F: drivers/s390/kvm/
|
||||||
|
|
||||||
KERNEL VIRTUAL MACHINE (KVM) FOR ARM
|
KERNEL VIRTUAL MACHINE (KVM) FOR ARM
|
||||||
M: Christoffer Dall <christoffer.dall@linaro.org>
|
M: Christoffer Dall <christoffer.dall@linaro.org>
|
||||||
|
M: Marc Zyngier <marc.zyngier@arm.com>
|
||||||
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
L: kvmarm@lists.cs.columbia.edu
|
L: kvmarm@lists.cs.columbia.edu
|
||||||
W: http://systems.cs.columbia.edu/projects/kvm-arm
|
W: http://systems.cs.columbia.edu/projects/kvm-arm
|
||||||
S: Supported
|
S: Supported
|
||||||
F: arch/arm/include/uapi/asm/kvm*
|
F: arch/arm/include/uapi/asm/kvm*
|
||||||
F: arch/arm/include/asm/kvm*
|
F: arch/arm/include/asm/kvm*
|
||||||
F: arch/arm/kvm/
|
F: arch/arm/kvm/
|
||||||
|
F: virt/kvm/arm/
|
||||||
|
F: include/kvm/arm_*
|
||||||
|
|
||||||
KERNEL VIRTUAL MACHINE FOR ARM64 (KVM/arm64)
|
KERNEL VIRTUAL MACHINE FOR ARM64 (KVM/arm64)
|
||||||
|
M: Christoffer Dall <christoffer.dall@linaro.org>
|
||||||
M: Marc Zyngier <marc.zyngier@arm.com>
|
M: Marc Zyngier <marc.zyngier@arm.com>
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
L: kvmarm@lists.cs.columbia.edu
|
L: kvmarm@lists.cs.columbia.edu
|
||||||
|
@ -7277,7 +7288,6 @@ F: drivers/video/aty/aty128fb.c
|
||||||
RALINK RT2X00 WIRELESS LAN DRIVER
|
RALINK RT2X00 WIRELESS LAN DRIVER
|
||||||
P: rt2x00 project
|
P: rt2x00 project
|
||||||
M: Ivo van Doorn <IvDoorn@gmail.com>
|
M: Ivo van Doorn <IvDoorn@gmail.com>
|
||||||
M: Gertjan van Wingerde <gwingerde@gmail.com>
|
|
||||||
M: Helmut Schaa <helmut.schaa@googlemail.com>
|
M: Helmut Schaa <helmut.schaa@googlemail.com>
|
||||||
L: linux-wireless@vger.kernel.org
|
L: linux-wireless@vger.kernel.org
|
||||||
L: users@rt2x00.serialmonkey.com (moderated for non-subscribers)
|
L: users@rt2x00.serialmonkey.com (moderated for non-subscribers)
|
||||||
|
@ -7293,7 +7303,7 @@ F: Documentation/blockdev/ramdisk.txt
|
||||||
F: drivers/block/brd.c
|
F: drivers/block/brd.c
|
||||||
|
|
||||||
RANDOM NUMBER DRIVER
|
RANDOM NUMBER DRIVER
|
||||||
M: Theodore Ts'o" <tytso@mit.edu>
|
M: "Theodore Ts'o" <tytso@mit.edu>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/char/random.c
|
F: drivers/char/random.c
|
||||||
|
|
||||||
|
@ -7674,7 +7684,6 @@ F: drivers/clk/samsung/
|
||||||
SAMSUNG SXGBE DRIVERS
|
SAMSUNG SXGBE DRIVERS
|
||||||
M: Byungho An <bh74.an@samsung.com>
|
M: Byungho An <bh74.an@samsung.com>
|
||||||
M: Girish K S <ks.giri@samsung.com>
|
M: Girish K S <ks.giri@samsung.com>
|
||||||
M: Siva Reddy Kallam <siva.kallam@samsung.com>
|
|
||||||
M: Vipul Pandya <vipul.pandya@samsung.com>
|
M: Vipul Pandya <vipul.pandya@samsung.com>
|
||||||
S: Supported
|
S: Supported
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
|
@ -8315,7 +8324,7 @@ F: include/linux/compiler.h
|
||||||
|
|
||||||
SPEAR PLATFORM SUPPORT
|
SPEAR PLATFORM SUPPORT
|
||||||
M: Viresh Kumar <viresh.linux@gmail.com>
|
M: Viresh Kumar <viresh.linux@gmail.com>
|
||||||
M: Shiraz Hashim <shiraz.hashim@st.com>
|
M: Shiraz Hashim <shiraz.linux.kernel@gmail.com>
|
||||||
L: spear-devel@list.st.com
|
L: spear-devel@list.st.com
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
W: http://www.st.com/spear
|
W: http://www.st.com/spear
|
||||||
|
@ -9951,7 +9960,7 @@ F: drivers/net/hamradio/*scc.c
|
||||||
F: drivers/net/hamradio/z8530.h
|
F: drivers/net/hamradio/z8530.h
|
||||||
|
|
||||||
ZBUD COMPRESSED PAGE ALLOCATOR
|
ZBUD COMPRESSED PAGE ALLOCATOR
|
||||||
M: Seth Jennings <sjenning@linux.vnet.ibm.com>
|
M: Seth Jennings <sjennings@variantweb.net>
|
||||||
L: linux-mm@kvack.org
|
L: linux-mm@kvack.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: mm/zbud.c
|
F: mm/zbud.c
|
||||||
|
@ -9996,7 +10005,7 @@ F: mm/zsmalloc.c
|
||||||
F: include/linux/zsmalloc.h
|
F: include/linux/zsmalloc.h
|
||||||
|
|
||||||
ZSWAP COMPRESSED SWAP CACHING
|
ZSWAP COMPRESSED SWAP CACHING
|
||||||
M: Seth Jennings <sjenning@linux.vnet.ibm.com>
|
M: Seth Jennings <sjennings@variantweb.net>
|
||||||
L: linux-mm@kvack.org
|
L: linux-mm@kvack.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: mm/zswap.c
|
F: mm/zswap.c
|
||||||
|
|
2
Makefile
2
Makefile
|
@ -1,7 +1,7 @@
|
||||||
VERSION = 3
|
VERSION = 3
|
||||||
PATCHLEVEL = 15
|
PATCHLEVEL = 15
|
||||||
SUBLEVEL = 0
|
SUBLEVEL = 0
|
||||||
EXTRAVERSION = -rc1
|
EXTRAVERSION = -rc4
|
||||||
NAME = Shuffling Zombie Juror
|
NAME = Shuffling Zombie Juror
|
||||||
|
|
||||||
# *DOCUMENTATION*
|
# *DOCUMENTATION*
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License version 2 as
|
|
||||||
* published by the Free Software Foundation.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __ASM_BARRIER_H
|
|
||||||
#define __ASM_BARRIER_H
|
|
||||||
|
|
||||||
#ifndef __ASSEMBLY__
|
|
||||||
|
|
||||||
/* TODO-vineetg: Need to see what this does, don't we need sync anywhere */
|
|
||||||
#define mb() __asm__ __volatile__ ("" : : : "memory")
|
|
||||||
#define rmb() mb()
|
|
||||||
#define wmb() mb()
|
|
||||||
#define set_mb(var, value) do { var = value; mb(); } while (0)
|
|
||||||
#define set_wmb(var, value) do { var = value; wmb(); } while (0)
|
|
||||||
#define read_barrier_depends() mb()
|
|
||||||
|
|
||||||
/* TODO-vineetg verify the correctness of macros here */
|
|
||||||
#ifdef CONFIG_SMP
|
|
||||||
#define smp_mb() mb()
|
|
||||||
#define smp_rmb() rmb()
|
|
||||||
#define smp_wmb() wmb()
|
|
||||||
#else
|
|
||||||
#define smp_mb() barrier()
|
|
||||||
#define smp_rmb() barrier()
|
|
||||||
#define smp_wmb() barrier()
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define smp_read_barrier_depends() do { } while (0)
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -614,11 +614,13 @@ resume_user_mode_begin:
|
||||||
|
|
||||||
resume_kernel_mode:
|
resume_kernel_mode:
|
||||||
|
|
||||||
#ifdef CONFIG_PREEMPT
|
; Disable Interrupts from this point on
|
||||||
|
; CONFIG_PREEMPT: This is a must for preempt_schedule_irq()
|
||||||
; This is a must for preempt_schedule_irq()
|
; !CONFIG_PREEMPT: To ensure restore_regs is intr safe
|
||||||
IRQ_DISABLE r9
|
IRQ_DISABLE r9
|
||||||
|
|
||||||
|
#ifdef CONFIG_PREEMPT
|
||||||
|
|
||||||
; Can't preempt if preemption disabled
|
; Can't preempt if preemption disabled
|
||||||
GET_CURR_THR_INFO_FROM_SP r10
|
GET_CURR_THR_INFO_FROM_SP r10
|
||||||
ld r8, [r10, THREAD_INFO_PREEMPT_COUNT]
|
ld r8, [r10, THREAD_INFO_PREEMPT_COUNT]
|
||||||
|
|
|
@ -30,9 +30,9 @@ config ARM
|
||||||
select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)
|
select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)
|
||||||
select HAVE_ARCH_TRACEHOOK
|
select HAVE_ARCH_TRACEHOOK
|
||||||
select HAVE_BPF_JIT
|
select HAVE_BPF_JIT
|
||||||
|
select HAVE_CC_STACKPROTECTOR
|
||||||
select HAVE_CONTEXT_TRACKING
|
select HAVE_CONTEXT_TRACKING
|
||||||
select HAVE_C_RECORDMCOUNT
|
select HAVE_C_RECORDMCOUNT
|
||||||
select HAVE_CC_STACKPROTECTOR
|
|
||||||
select HAVE_DEBUG_KMEMLEAK
|
select HAVE_DEBUG_KMEMLEAK
|
||||||
select HAVE_DMA_API_DEBUG
|
select HAVE_DMA_API_DEBUG
|
||||||
select HAVE_DMA_ATTRS
|
select HAVE_DMA_ATTRS
|
||||||
|
@ -311,6 +311,7 @@ config ARCH_MULTIPLATFORM
|
||||||
select ARM_HAS_SG_CHAIN
|
select ARM_HAS_SG_CHAIN
|
||||||
select ARM_PATCH_PHYS_VIRT
|
select ARM_PATCH_PHYS_VIRT
|
||||||
select AUTO_ZRELADDR
|
select AUTO_ZRELADDR
|
||||||
|
select CLKSRC_OF
|
||||||
select COMMON_CLK
|
select COMMON_CLK
|
||||||
select GENERIC_CLOCKEVENTS
|
select GENERIC_CLOCKEVENTS
|
||||||
select MULTI_IRQ_HANDLER
|
select MULTI_IRQ_HANDLER
|
||||||
|
@ -422,8 +423,8 @@ config ARCH_EFM32
|
||||||
bool "Energy Micro efm32"
|
bool "Energy Micro efm32"
|
||||||
depends on !MMU
|
depends on !MMU
|
||||||
select ARCH_REQUIRE_GPIOLIB
|
select ARCH_REQUIRE_GPIOLIB
|
||||||
select AUTO_ZRELADDR
|
|
||||||
select ARM_NVIC
|
select ARM_NVIC
|
||||||
|
select AUTO_ZRELADDR
|
||||||
select CLKSRC_OF
|
select CLKSRC_OF
|
||||||
select COMMON_CLK
|
select COMMON_CLK
|
||||||
select CPU_V7M
|
select CPU_V7M
|
||||||
|
@ -511,8 +512,8 @@ config ARCH_IXP4XX
|
||||||
bool "IXP4xx-based"
|
bool "IXP4xx-based"
|
||||||
depends on MMU
|
depends on MMU
|
||||||
select ARCH_HAS_DMA_SET_COHERENT_MASK
|
select ARCH_HAS_DMA_SET_COHERENT_MASK
|
||||||
select ARCH_SUPPORTS_BIG_ENDIAN
|
|
||||||
select ARCH_REQUIRE_GPIOLIB
|
select ARCH_REQUIRE_GPIOLIB
|
||||||
|
select ARCH_SUPPORTS_BIG_ENDIAN
|
||||||
select CLKSRC_MMIO
|
select CLKSRC_MMIO
|
||||||
select CPU_XSCALE
|
select CPU_XSCALE
|
||||||
select DMABOUNCE if PCI
|
select DMABOUNCE if PCI
|
||||||
|
@ -1110,9 +1111,9 @@ config ARM_NR_BANKS
|
||||||
default 8
|
default 8
|
||||||
|
|
||||||
config IWMMXT
|
config IWMMXT
|
||||||
bool "Enable iWMMXt support" if !CPU_PJ4
|
bool "Enable iWMMXt support"
|
||||||
depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4
|
depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4 || CPU_PJ4B
|
||||||
default y if PXA27x || PXA3xx || ARCH_MMP || CPU_PJ4
|
default y if PXA27x || PXA3xx || ARCH_MMP || CPU_PJ4 || CPU_PJ4B
|
||||||
help
|
help
|
||||||
Enable support for iWMMXt context switching at run time if
|
Enable support for iWMMXt context switching at run time if
|
||||||
running on a CPU that supports it.
|
running on a CPU that supports it.
|
||||||
|
@ -1575,8 +1576,8 @@ config BIG_LITTLE
|
||||||
config BL_SWITCHER
|
config BL_SWITCHER
|
||||||
bool "big.LITTLE switcher support"
|
bool "big.LITTLE switcher support"
|
||||||
depends on BIG_LITTLE && MCPM && HOTPLUG_CPU
|
depends on BIG_LITTLE && MCPM && HOTPLUG_CPU
|
||||||
select CPU_PM
|
|
||||||
select ARM_CPU_SUSPEND
|
select ARM_CPU_SUSPEND
|
||||||
|
select CPU_PM
|
||||||
help
|
help
|
||||||
The big.LITTLE "switcher" provides the core functionality to
|
The big.LITTLE "switcher" provides the core functionality to
|
||||||
transparently handle transition between a cluster of A15's
|
transparently handle transition between a cluster of A15's
|
||||||
|
@ -1920,9 +1921,9 @@ config XEN
|
||||||
depends on CPU_V7 && !CPU_V6
|
depends on CPU_V7 && !CPU_V6
|
||||||
depends on !GENERIC_ATOMIC64
|
depends on !GENERIC_ATOMIC64
|
||||||
depends on MMU
|
depends on MMU
|
||||||
|
select ARCH_DMA_ADDR_T_64BIT
|
||||||
select ARM_PSCI
|
select ARM_PSCI
|
||||||
select SWIOTLB_XEN
|
select SWIOTLB_XEN
|
||||||
select ARCH_DMA_ADDR_T_64BIT
|
|
||||||
help
|
help
|
||||||
Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.
|
Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.
|
||||||
|
|
||||||
|
|
|
@ -1030,9 +1030,9 @@ config DEBUG_UART_PHYS
|
||||||
default 0x40100000 if DEBUG_PXA_UART1
|
default 0x40100000 if DEBUG_PXA_UART1
|
||||||
default 0x42000000 if ARCH_GEMINI
|
default 0x42000000 if ARCH_GEMINI
|
||||||
default 0x7c0003f8 if FOOTBRIDGE
|
default 0x7c0003f8 if FOOTBRIDGE
|
||||||
default 0x80230000 if DEBUG_PICOXCELL_UART
|
|
||||||
default 0x80070000 if DEBUG_IMX23_UART
|
default 0x80070000 if DEBUG_IMX23_UART
|
||||||
default 0x80074000 if DEBUG_IMX28_UART
|
default 0x80074000 if DEBUG_IMX28_UART
|
||||||
|
default 0x80230000 if DEBUG_PICOXCELL_UART
|
||||||
default 0x808c0000 if ARCH_EP93XX
|
default 0x808c0000 if ARCH_EP93XX
|
||||||
default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
|
default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
|
||||||
default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
|
default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
|
||||||
|
@ -1096,22 +1096,22 @@ config DEBUG_UART_VIRT
|
||||||
default 0xfeb26000 if DEBUG_RK3X_UART1
|
default 0xfeb26000 if DEBUG_RK3X_UART1
|
||||||
default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
|
default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
|
||||||
default 0xfeb31000 if DEBUG_KEYSTONE_UART1
|
default 0xfeb31000 if DEBUG_KEYSTONE_UART1
|
||||||
default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
|
|
||||||
default 0xfed60000 if DEBUG_RK29_UART0
|
|
||||||
default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
|
|
||||||
default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
|
|
||||||
default 0xfec02000 if DEBUG_SOCFPGA_UART
|
default 0xfec02000 if DEBUG_SOCFPGA_UART
|
||||||
|
default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
|
||||||
default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
|
default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
|
||||||
default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
|
default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
|
||||||
default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
|
default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
|
||||||
default 0xfed12000 if ARCH_KIRKWOOD
|
default 0xfed12000 if ARCH_KIRKWOOD
|
||||||
|
default 0xfed60000 if DEBUG_RK29_UART0
|
||||||
|
default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
|
||||||
|
default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
|
||||||
default 0xfedc0000 if ARCH_EP93XX
|
default 0xfedc0000 if ARCH_EP93XX
|
||||||
default 0xfee003f8 if FOOTBRIDGE
|
default 0xfee003f8 if FOOTBRIDGE
|
||||||
default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
|
default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
|
||||||
default 0xfef36000 if DEBUG_HIGHBANK_UART
|
|
||||||
default 0xfee82340 if ARCH_IOP13XX
|
default 0xfee82340 if ARCH_IOP13XX
|
||||||
default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
|
default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
|
||||||
default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
|
default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
|
||||||
|
default 0xfef36000 if DEBUG_HIGHBANK_UART
|
||||||
default 0xfefff700 if ARCH_IOP33X
|
default 0xfefff700 if ARCH_IOP33X
|
||||||
default 0xff003000 if DEBUG_U300_UART
|
default 0xff003000 if DEBUG_U300_UART
|
||||||
default DEBUG_UART_PHYS if !MMU
|
default DEBUG_UART_PHYS if !MMU
|
||||||
|
|
|
@ -51,10 +51,9 @@ dtb-$(CONFIG_ARCH_AT91) += sama5d36ek.dtb
|
||||||
|
|
||||||
dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
|
dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
|
||||||
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
|
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
|
||||||
|
dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb
|
||||||
dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \
|
dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \
|
||||||
bcm21664-garnet.dtb
|
bcm21664-garnet.dtb
|
||||||
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
|
|
||||||
dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb
|
|
||||||
dtb-$(CONFIG_ARCH_BERLIN) += \
|
dtb-$(CONFIG_ARCH_BERLIN) += \
|
||||||
berlin2-sony-nsz-gs7.dtb \
|
berlin2-sony-nsz-gs7.dtb \
|
||||||
berlin2cd-google-chromecast.dtb
|
berlin2cd-google-chromecast.dtb
|
||||||
|
@ -246,6 +245,7 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \
|
||||||
omap3-sbc-t3730.dtb \
|
omap3-sbc-t3730.dtb \
|
||||||
omap3-devkit8000.dtb \
|
omap3-devkit8000.dtb \
|
||||||
omap3-beagle-xm.dtb \
|
omap3-beagle-xm.dtb \
|
||||||
|
omap3-beagle-xm-ab.dtb \
|
||||||
omap3-evm.dtb \
|
omap3-evm.dtb \
|
||||||
omap3-evm-37xx.dtb \
|
omap3-evm-37xx.dtb \
|
||||||
omap3-ldp.dtb \
|
omap3-ldp.dtb \
|
||||||
|
@ -294,13 +294,6 @@ dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb
|
||||||
dtb-$(CONFIG_ARCH_QCOM) += qcom-msm8660-surf.dtb \
|
dtb-$(CONFIG_ARCH_QCOM) += qcom-msm8660-surf.dtb \
|
||||||
qcom-msm8960-cdp.dtb \
|
qcom-msm8960-cdp.dtb \
|
||||||
qcom-apq8074-dragonboard.dtb
|
qcom-apq8074-dragonboard.dtb
|
||||||
dtb-$(CONFIG_ARCH_U8500) += ste-snowball.dtb \
|
|
||||||
ste-hrefprev60-stuib.dtb \
|
|
||||||
ste-hrefprev60-tvk.dtb \
|
|
||||||
ste-hrefv60plus-stuib.dtb \
|
|
||||||
ste-hrefv60plus-tvk.dtb \
|
|
||||||
ste-ccu8540.dtb \
|
|
||||||
ste-ccu9540.dtb
|
|
||||||
dtb-$(CONFIG_ARCH_S3C24XX) += s3c2416-smdk2416.dtb
|
dtb-$(CONFIG_ARCH_S3C24XX) += s3c2416-smdk2416.dtb
|
||||||
dtb-$(CONFIG_ARCH_S3C64XX) += s3c6410-mini6410.dtb \
|
dtb-$(CONFIG_ARCH_S3C64XX) += s3c6410-mini6410.dtb \
|
||||||
s3c6410-smdk6410.dtb
|
s3c6410-smdk6410.dtb
|
||||||
|
@ -369,9 +362,16 @@ dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
|
||||||
tegra30-cardhu-a04.dtb \
|
tegra30-cardhu-a04.dtb \
|
||||||
tegra114-dalmore.dtb \
|
tegra114-dalmore.dtb \
|
||||||
tegra124-venice2.dtb
|
tegra124-venice2.dtb
|
||||||
|
dtb-$(CONFIG_ARCH_U300) += ste-u300.dtb
|
||||||
|
dtb-$(CONFIG_ARCH_U8500) += ste-snowball.dtb \
|
||||||
|
ste-hrefprev60-stuib.dtb \
|
||||||
|
ste-hrefprev60-tvk.dtb \
|
||||||
|
ste-hrefv60plus-stuib.dtb \
|
||||||
|
ste-hrefv60plus-tvk.dtb \
|
||||||
|
ste-ccu8540.dtb \
|
||||||
|
ste-ccu9540.dtb
|
||||||
dtb-$(CONFIG_ARCH_VERSATILE) += versatile-ab.dtb \
|
dtb-$(CONFIG_ARCH_VERSATILE) += versatile-ab.dtb \
|
||||||
versatile-pb.dtb
|
versatile-pb.dtb
|
||||||
dtb-$(CONFIG_ARCH_U300) += ste-u300.dtb
|
|
||||||
dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2p-ca5s.dtb \
|
dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2p-ca5s.dtb \
|
||||||
vexpress-v2p-ca9.dtb \
|
vexpress-v2p-ca9.dtb \
|
||||||
vexpress-v2p-ca15-tc1.dtb \
|
vexpress-v2p-ca15-tc1.dtb \
|
||||||
|
|
|
@ -183,7 +183,7 @@ &uart0 {
|
||||||
&usb {
|
&usb {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
control@44e10000 {
|
control@44e10620 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -204,7 +204,7 @@ usb@47401800 {
|
||||||
dr_mode = "host";
|
dr_mode = "host";
|
||||||
};
|
};
|
||||||
|
|
||||||
dma-controller@07402000 {
|
dma-controller@47402000 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -301,8 +301,8 @@ lcd_pins_s0: lcd_pins_s0 {
|
||||||
|
|
||||||
am335x_evm_audio_pins: am335x_evm_audio_pins {
|
am335x_evm_audio_pins: am335x_evm_audio_pins {
|
||||||
pinctrl-single,pins = <
|
pinctrl-single,pins = <
|
||||||
0x10c (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_rx_dv.mcasp1_aclkx */
|
0x10c (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_crs.mcasp1_aclkx */
|
||||||
0x110 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_txd3.mcasp1_fsx */
|
0x110 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_rxerr.mcasp1_fsx */
|
||||||
0x108 (PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* mii1_col.mcasp1_axr2 */
|
0x108 (PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* mii1_col.mcasp1_axr2 */
|
||||||
0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */
|
0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */
|
||||||
>;
|
>;
|
||||||
|
@ -331,7 +331,7 @@ tps: tps@2d {
|
||||||
&usb {
|
&usb {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
control@44e10000 {
|
control@44e10620 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -352,7 +352,7 @@ usb@47401800 {
|
||||||
dr_mode = "host";
|
dr_mode = "host";
|
||||||
};
|
};
|
||||||
|
|
||||||
dma-controller@07402000 {
|
dma-controller@47402000 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -364,7 +364,7 @@ tlv320aic3106: tlv320aic3106@1b {
|
||||||
&usb {
|
&usb {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
control@44e10000 {
|
control@44e10620 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -385,7 +385,7 @@ usb@47401800 {
|
||||||
dr_mode = "host";
|
dr_mode = "host";
|
||||||
};
|
};
|
||||||
|
|
||||||
dma-controller@07402000 {
|
dma-controller@47402000 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -118,7 +118,6 @@ nand@0,0 {
|
||||||
reg = <0 0 0>; /* CS0, offset 0 */
|
reg = <0 0 0>; /* CS0, offset 0 */
|
||||||
nand-bus-width = <8>;
|
nand-bus-width = <8>;
|
||||||
ti,nand-ecc-opt = "bch8";
|
ti,nand-ecc-opt = "bch8";
|
||||||
gpmc,device-nand = "true";
|
|
||||||
gpmc,device-width = <1>;
|
gpmc,device-width = <1>;
|
||||||
gpmc,sync-clk-ps = <0>;
|
gpmc,sync-clk-ps = <0>;
|
||||||
gpmc,cs-on-ns = <0>;
|
gpmc,cs-on-ns = <0>;
|
||||||
|
@ -202,7 +201,7 @@ &uart0 {
|
||||||
&usb {
|
&usb {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
control@44e10000 {
|
control@44e10620 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -223,7 +222,7 @@ usb@47401800 {
|
||||||
dr_mode = "host";
|
dr_mode = "host";
|
||||||
};
|
};
|
||||||
|
|
||||||
dma-controller@07402000 {
|
dma-controller@47402000 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -72,7 +72,7 @@ pmu {
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The soc node represents the soc top level view. It is uses for IPs
|
* The soc node represents the soc top level view. It is used for IPs
|
||||||
* that are not memory mapped in the MPU view or for the MPU itself.
|
* that are not memory mapped in the MPU view or for the MPU itself.
|
||||||
*/
|
*/
|
||||||
soc {
|
soc {
|
||||||
|
@ -94,8 +94,8 @@ am33xx_pinmux: pinmux@44e10800 {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* XXX: Use a flat representation of the AM33XX interconnect.
|
* XXX: Use a flat representation of the AM33XX interconnect.
|
||||||
* The real AM33XX interconnect network is quite complex.Since
|
* The real AM33XX interconnect network is quite complex. Since
|
||||||
* that will not bring real advantage to represent that in DT
|
* it will not bring real advantage to represent that in DT
|
||||||
* for the moment, just use a fake OCP bus entry to represent
|
* for the moment, just use a fake OCP bus entry to represent
|
||||||
* the whole bus hierarchy.
|
* the whole bus hierarchy.
|
||||||
*/
|
*/
|
||||||
|
@ -802,7 +802,7 @@ mcasp0: mcasp@48038000 {
|
||||||
<0x46000000 0x400000>;
|
<0x46000000 0x400000>;
|
||||||
reg-names = "mpu", "dat";
|
reg-names = "mpu", "dat";
|
||||||
interrupts = <80>, <81>;
|
interrupts = <80>, <81>;
|
||||||
interrupts-names = "tx", "rx";
|
interrupt-names = "tx", "rx";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
dmas = <&edma 8>,
|
dmas = <&edma 8>,
|
||||||
<&edma 9>;
|
<&edma 9>;
|
||||||
|
@ -816,7 +816,7 @@ mcasp1: mcasp@4803C000 {
|
||||||
<0x46400000 0x400000>;
|
<0x46400000 0x400000>;
|
||||||
reg-names = "mpu", "dat";
|
reg-names = "mpu", "dat";
|
||||||
interrupts = <82>, <83>;
|
interrupts = <82>, <83>;
|
||||||
interrupts-names = "tx", "rx";
|
interrupt-names = "tx", "rx";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
dmas = <&edma 10>,
|
dmas = <&edma 10>,
|
||||||
<&edma 11>;
|
<&edma 11>;
|
||||||
|
|
|
@ -691,7 +691,7 @@ mcasp0: mcasp@48038000 {
|
||||||
<0x46000000 0x400000>;
|
<0x46000000 0x400000>;
|
||||||
reg-names = "mpu", "dat";
|
reg-names = "mpu", "dat";
|
||||||
interrupts = <80>, <81>;
|
interrupts = <80>, <81>;
|
||||||
interrupts-names = "tx", "rx";
|
interrupt-names = "tx", "rx";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
dmas = <&edma 8>,
|
dmas = <&edma 8>,
|
||||||
<&edma 9>;
|
<&edma 9>;
|
||||||
|
@ -705,7 +705,7 @@ mcasp1: mcasp@4803C000 {
|
||||||
<0x46400000 0x400000>;
|
<0x46400000 0x400000>;
|
||||||
reg-names = "mpu", "dat";
|
reg-names = "mpu", "dat";
|
||||||
interrupts = <82>, <83>;
|
interrupts = <82>, <83>;
|
||||||
interrupts-names = "tx", "rx";
|
interrupt-names = "tx", "rx";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
dmas = <&edma 10>,
|
dmas = <&edma 10>,
|
||||||
<&edma 11>;
|
<&edma 11>;
|
||||||
|
|
|
@ -230,6 +230,7 @@ mdio {
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
compatible = "marvell,orion-mdio";
|
compatible = "marvell,orion-mdio";
|
||||||
reg = <0x72004 0x4>;
|
reg = <0x72004 0x4>;
|
||||||
|
clocks = <&gateclk 4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
eth1: ethernet@74000 {
|
eth1: ethernet@74000 {
|
||||||
|
|
|
@ -336,6 +336,7 @@ mdio {
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
compatible = "marvell,orion-mdio";
|
compatible = "marvell,orion-mdio";
|
||||||
reg = <0x72004 0x4>;
|
reg = <0x72004 0x4>;
|
||||||
|
clocks = <&gateclk 4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
coredivclk: clock@e4250 {
|
coredivclk: clock@e4250 {
|
||||||
|
|
|
@ -80,7 +80,7 @@ gic: interrupt-controller@48211000 {
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The soc node represents the soc top level view. It is uses for IPs
|
* The soc node represents the soc top level view. It is used for IPs
|
||||||
* that are not memory mapped in the MPU view or for the MPU itself.
|
* that are not memory mapped in the MPU view or for the MPU itself.
|
||||||
*/
|
*/
|
||||||
soc {
|
soc {
|
||||||
|
@ -94,7 +94,7 @@ mpu {
|
||||||
/*
|
/*
|
||||||
* XXX: Use a flat representation of the SOC interconnect.
|
* XXX: Use a flat representation of the SOC interconnect.
|
||||||
* The real OMAP interconnect network is quite complex.
|
* The real OMAP interconnect network is quite complex.
|
||||||
* Since that will not bring real advantage to represent that in DT for
|
* Since it will not bring real advantage to represent that in DT for
|
||||||
* the moment, just use a fake OCP bus entry to represent the whole bus
|
* the moment, just use a fake OCP bus entry to represent the whole bus
|
||||||
* hierarchy.
|
* hierarchy.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1640,7 +1640,7 @@ mcasp2_ahclkx_mux: mcasp2_ahclkx_mux {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "ti,mux-clock";
|
compatible = "ti,mux-clock";
|
||||||
clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atlclkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
|
clocks = <&abe_24m_fclk>, <&abe_sys_clk_div>, <&func_24m_clk>, <&atlclkin3_ck>, <&atl_clkin2_ck>, <&atl_clkin1_ck>, <&atl_clkin0_ck>, <&sys_clkin2>, <&ref_clkin0_ck>, <&ref_clkin1_ck>, <&ref_clkin2_ck>, <&ref_clkin3_ck>, <&mlb_clk>, <&mlbp_clk>;
|
||||||
ti,bit-shift = <28>;
|
ti,bit-shift = <24>;
|
||||||
reg = <0x1860>;
|
reg = <0x1860>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,7 @@ clocks {
|
||||||
|
|
||||||
osc {
|
osc {
|
||||||
compatible = "fsl,imx-osc", "fixed-clock";
|
compatible = "fsl,imx-osc", "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <24000000>;
|
clock-frequency = <24000000>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -29,6 +29,7 @@ clocks {
|
||||||
|
|
||||||
osc26m {
|
osc26m {
|
||||||
compatible = "fsl,imx-osc26m", "fixed-clock";
|
compatible = "fsl,imx-osc26m", "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <0>;
|
clock-frequency = <0>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -48,6 +48,7 @@ clocks {
|
||||||
|
|
||||||
osc26m {
|
osc26m {
|
||||||
compatible = "fsl,imx-osc26m", "fixed-clock";
|
compatible = "fsl,imx-osc26m", "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <26000000>;
|
clock-frequency = <26000000>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -53,21 +53,25 @@ clocks {
|
||||||
|
|
||||||
ckil {
|
ckil {
|
||||||
compatible = "fsl,imx-ckil", "fixed-clock";
|
compatible = "fsl,imx-ckil", "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <32768>;
|
clock-frequency = <32768>;
|
||||||
};
|
};
|
||||||
|
|
||||||
ckih1 {
|
ckih1 {
|
||||||
compatible = "fsl,imx-ckih1", "fixed-clock";
|
compatible = "fsl,imx-ckih1", "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <22579200>;
|
clock-frequency = <22579200>;
|
||||||
};
|
};
|
||||||
|
|
||||||
ckih2 {
|
ckih2 {
|
||||||
compatible = "fsl,imx-ckih2", "fixed-clock";
|
compatible = "fsl,imx-ckih2", "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <0>;
|
clock-frequency = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
osc {
|
osc {
|
||||||
compatible = "fsl,imx-osc", "fixed-clock";
|
compatible = "fsl,imx-osc", "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <24000000>;
|
clock-frequency = <24000000>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -50,21 +50,25 @@ clocks {
|
||||||
|
|
||||||
ckil {
|
ckil {
|
||||||
compatible = "fsl,imx-ckil", "fixed-clock";
|
compatible = "fsl,imx-ckil", "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <32768>;
|
clock-frequency = <32768>;
|
||||||
};
|
};
|
||||||
|
|
||||||
ckih1 {
|
ckih1 {
|
||||||
compatible = "fsl,imx-ckih1", "fixed-clock";
|
compatible = "fsl,imx-ckih1", "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <0>;
|
clock-frequency = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
ckih2 {
|
ckih2 {
|
||||||
compatible = "fsl,imx-ckih2", "fixed-clock";
|
compatible = "fsl,imx-ckih2", "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <0>;
|
clock-frequency = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
osc {
|
osc {
|
||||||
compatible = "fsl,imx-osc", "fixed-clock";
|
compatible = "fsl,imx-osc", "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <24000000>;
|
clock-frequency = <24000000>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -17,7 +17,8 @@ / {
|
||||||
compatible = "denx,imx53-m53evk", "fsl,imx53";
|
compatible = "denx,imx53-m53evk", "fsl,imx53";
|
||||||
|
|
||||||
memory {
|
memory {
|
||||||
reg = <0x70000000 0x20000000>;
|
reg = <0x70000000 0x20000000>,
|
||||||
|
<0xb0000000 0x20000000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
soc {
|
soc {
|
||||||
|
@ -193,17 +194,17 @@ stmpe610@41 {
|
||||||
irq-trigger = <0x1>;
|
irq-trigger = <0x1>;
|
||||||
|
|
||||||
stmpe_touchscreen {
|
stmpe_touchscreen {
|
||||||
compatible = "stmpe,ts";
|
compatible = "st,stmpe-ts";
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
ts,sample-time = <4>;
|
st,sample-time = <4>;
|
||||||
ts,mod-12b = <1>;
|
st,mod-12b = <1>;
|
||||||
ts,ref-sel = <0>;
|
st,ref-sel = <0>;
|
||||||
ts,adc-freq = <1>;
|
st,adc-freq = <1>;
|
||||||
ts,ave-ctrl = <3>;
|
st,ave-ctrl = <3>;
|
||||||
ts,touch-det-delay = <3>;
|
st,touch-det-delay = <3>;
|
||||||
ts,settling = <4>;
|
st,settling = <4>;
|
||||||
ts,fraction-z = <7>;
|
st,fraction-z = <7>;
|
||||||
ts,i-drive = <1>;
|
st,i-drive = <1>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,8 @@
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
memory {
|
memory {
|
||||||
reg = <0x70000000 0x40000000>;
|
reg = <0x70000000 0x20000000>,
|
||||||
|
<0xb0000000 0x20000000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
display0: display@di0 {
|
display0: display@di0 {
|
||||||
|
|
|
@ -25,12 +25,17 @@ aliases {
|
||||||
soc {
|
soc {
|
||||||
display: display@di0 {
|
display: display@di0 {
|
||||||
compatible = "fsl,imx-parallel-display";
|
compatible = "fsl,imx-parallel-display";
|
||||||
crtcs = <&ipu 0>;
|
|
||||||
interface-pix-fmt = "rgb24";
|
interface-pix-fmt = "rgb24";
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_rgb24_vga1>;
|
pinctrl-0 = <&pinctrl_rgb24_vga1>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
|
port {
|
||||||
|
display0_in: endpoint {
|
||||||
|
remote-endpoint = <&ipu_di0_disp0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
display-timings {
|
display-timings {
|
||||||
VGA {
|
VGA {
|
||||||
clock-frequency = <25200000>;
|
clock-frequency = <25200000>;
|
||||||
|
@ -293,6 +298,10 @@ MX53_PAD_EIM_D26__GPIO3_26 0x1f0 /* Interrupt */
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&ipu_di0_disp0 {
|
||||||
|
remote-endpoint = <&display0_in>;
|
||||||
|
};
|
||||||
|
|
||||||
&kpp {
|
&kpp {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_kpp>;
|
pinctrl-0 = <&pinctrl_kpp>;
|
||||||
|
|
|
@ -70,21 +70,25 @@ clocks {
|
||||||
|
|
||||||
ckil {
|
ckil {
|
||||||
compatible = "fsl,imx-ckil", "fixed-clock";
|
compatible = "fsl,imx-ckil", "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <32768>;
|
clock-frequency = <32768>;
|
||||||
};
|
};
|
||||||
|
|
||||||
ckih1 {
|
ckih1 {
|
||||||
compatible = "fsl,imx-ckih1", "fixed-clock";
|
compatible = "fsl,imx-ckih1", "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <22579200>;
|
clock-frequency = <22579200>;
|
||||||
};
|
};
|
||||||
|
|
||||||
ckih2 {
|
ckih2 {
|
||||||
compatible = "fsl,imx-ckih2", "fixed-clock";
|
compatible = "fsl,imx-ckih2", "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <0>;
|
clock-frequency = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
osc {
|
osc {
|
||||||
compatible = "fsl,imx-osc", "fixed-clock";
|
compatible = "fsl,imx-osc", "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <24000000>;
|
clock-frequency = <24000000>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -430,7 +434,7 @@ lvds-channel@1 {
|
||||||
|
|
||||||
port {
|
port {
|
||||||
lvds1_in: endpoint {
|
lvds1_in: endpoint {
|
||||||
remote-endpoint = <&ipu_di0_lvds0>;
|
remote-endpoint = <&ipu_di1_lvds1>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -19,7 +19,10 @@ / {
|
||||||
compatible = "dmo,imx6q-edmqmx6", "fsl,imx6q";
|
compatible = "dmo,imx6q-edmqmx6", "fsl,imx6q";
|
||||||
|
|
||||||
aliases {
|
aliases {
|
||||||
gpio7 = &stmpe_gpio;
|
gpio7 = &stmpe_gpio1;
|
||||||
|
gpio8 = &stmpe_gpio2;
|
||||||
|
stmpe-i2c0 = &stmpe1;
|
||||||
|
stmpe-i2c1 = &stmpe2;
|
||||||
};
|
};
|
||||||
|
|
||||||
memory {
|
memory {
|
||||||
|
@ -40,13 +43,15 @@ reg_3p3v: regulator@0 {
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
};
|
};
|
||||||
|
|
||||||
reg_usb_otg_vbus: regulator@1 {
|
reg_usb_otg_switch: regulator@1 {
|
||||||
compatible = "regulator-fixed";
|
compatible = "regulator-fixed";
|
||||||
reg = <1>;
|
reg = <1>;
|
||||||
regulator-name = "usb_otg_vbus";
|
regulator-name = "usb_otg_switch";
|
||||||
regulator-min-microvolt = <5000000>;
|
regulator-min-microvolt = <5000000>;
|
||||||
regulator-max-microvolt = <5000000>;
|
regulator-max-microvolt = <5000000>;
|
||||||
gpio = <&gpio7 12 0>;
|
gpio = <&gpio7 12 0>;
|
||||||
|
regulator-boot-on;
|
||||||
|
regulator-always-on;
|
||||||
};
|
};
|
||||||
|
|
||||||
reg_usb_host1: regulator@2 {
|
reg_usb_host1: regulator@2 {
|
||||||
|
@ -65,23 +70,23 @@ gpio-leds {
|
||||||
|
|
||||||
led-blue {
|
led-blue {
|
||||||
label = "blue";
|
label = "blue";
|
||||||
gpios = <&stmpe_gpio 8 GPIO_ACTIVE_HIGH>;
|
gpios = <&stmpe_gpio1 8 GPIO_ACTIVE_HIGH>;
|
||||||
linux,default-trigger = "heartbeat";
|
linux,default-trigger = "heartbeat";
|
||||||
};
|
};
|
||||||
|
|
||||||
led-green {
|
led-green {
|
||||||
label = "green";
|
label = "green";
|
||||||
gpios = <&stmpe_gpio 9 GPIO_ACTIVE_HIGH>;
|
gpios = <&stmpe_gpio1 9 GPIO_ACTIVE_HIGH>;
|
||||||
};
|
};
|
||||||
|
|
||||||
led-pink {
|
led-pink {
|
||||||
label = "pink";
|
label = "pink";
|
||||||
gpios = <&stmpe_gpio 10 GPIO_ACTIVE_HIGH>;
|
gpios = <&stmpe_gpio1 10 GPIO_ACTIVE_HIGH>;
|
||||||
};
|
};
|
||||||
|
|
||||||
led-red {
|
led-red {
|
||||||
label = "red";
|
label = "red";
|
||||||
gpios = <&stmpe_gpio 11 GPIO_ACTIVE_HIGH>;
|
gpios = <&stmpe_gpio1 11 GPIO_ACTIVE_HIGH>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -99,7 +104,8 @@ &i2c2 {
|
||||||
clock-frequency = <100000>;
|
clock-frequency = <100000>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_i2c2
|
pinctrl-0 = <&pinctrl_i2c2
|
||||||
&pinctrl_stmpe>;
|
&pinctrl_stmpe1
|
||||||
|
&pinctrl_stmpe2>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
pmic: pfuze100@08 {
|
pmic: pfuze100@08 {
|
||||||
|
@ -205,13 +211,25 @@ vgen6_reg: vgen6 {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
stmpe: stmpe1601@40 {
|
stmpe1: stmpe1601@40 {
|
||||||
compatible = "st,stmpe1601";
|
compatible = "st,stmpe1601";
|
||||||
reg = <0x40>;
|
reg = <0x40>;
|
||||||
interrupts = <30 0>;
|
interrupts = <30 0>;
|
||||||
interrupt-parent = <&gpio3>;
|
interrupt-parent = <&gpio3>;
|
||||||
|
|
||||||
stmpe_gpio: stmpe_gpio {
|
stmpe_gpio1: stmpe_gpio {
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
compatible = "st,stmpe-gpio";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
stmpe2: stmpe1601@44 {
|
||||||
|
compatible = "st,stmpe1601";
|
||||||
|
reg = <0x44>;
|
||||||
|
interrupts = <2 0>;
|
||||||
|
interrupt-parent = <&gpio5>;
|
||||||
|
|
||||||
|
stmpe_gpio2: stmpe_gpio {
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
compatible = "st,stmpe-gpio";
|
compatible = "st,stmpe-gpio";
|
||||||
};
|
};
|
||||||
|
@ -273,10 +291,14 @@ MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
|
||||||
>;
|
>;
|
||||||
};
|
};
|
||||||
|
|
||||||
pinctrl_stmpe: stmpegrp {
|
pinctrl_stmpe1: stmpe1grp {
|
||||||
fsl,pins = <MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x80000000>;
|
fsl,pins = <MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x80000000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pinctrl_stmpe2: stmpe2grp {
|
||||||
|
fsl,pins = <MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x80000000>;
|
||||||
|
};
|
||||||
|
|
||||||
pinctrl_uart1: uart1grp {
|
pinctrl_uart1: uart1grp {
|
||||||
fsl,pins = <
|
fsl,pins = <
|
||||||
MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1
|
MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1
|
||||||
|
@ -293,7 +315,7 @@ MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1
|
||||||
|
|
||||||
pinctrl_usbotg: usbotggrp {
|
pinctrl_usbotg: usbotggrp {
|
||||||
fsl,pins = <
|
fsl,pins = <
|
||||||
MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
|
MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
|
||||||
>;
|
>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -344,11 +366,11 @@ &uart2 {
|
||||||
&usbh1 {
|
&usbh1 {
|
||||||
vbus-supply = <®_usb_host1>;
|
vbus-supply = <®_usb_host1>;
|
||||||
disable-over-current;
|
disable-over-current;
|
||||||
|
dr_mode = "host";
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&usbotg {
|
&usbotg {
|
||||||
vbus-supply = <®_usb_otg_vbus>;
|
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_usbotg>;
|
pinctrl-0 = <&pinctrl_usbotg>;
|
||||||
disable-over-current;
|
disable-over-current;
|
||||||
|
|
|
@ -487,9 +487,6 @@ MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
|
||||||
|
|
||||||
&ldb {
|
&ldb {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
lvds-channel@0 {
|
|
||||||
crtcs = <&ipu1 0>, <&ipu1 1>, <&ipu2 0>, <&ipu2 1>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&pcie {
|
&pcie {
|
||||||
|
|
|
@ -436,9 +436,6 @@ MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
|
||||||
|
|
||||||
&ldb {
|
&ldb {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
lvds-channel@0 {
|
|
||||||
crtcs = <&ipu1 0>, <&ipu1 1>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&pcie {
|
&pcie {
|
||||||
|
|
|
@ -26,25 +26,25 @@ MX6QDL_PAD_DI0_PIN2__GPIO4_IO18 0x80000000
|
||||||
/* GPIO16 -> AR8035 25MHz */
|
/* GPIO16 -> AR8035 25MHz */
|
||||||
MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0xc0000000
|
MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0xc0000000
|
||||||
MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x80000000
|
MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x80000000
|
||||||
MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
|
MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b030
|
||||||
MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
|
MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b030
|
||||||
MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
|
MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b030
|
||||||
MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
|
MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b030
|
||||||
MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
|
MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b030
|
||||||
/* AR8035 CLK_25M --> ENET_REF_CLK (V22) */
|
/* AR8035 CLK_25M --> ENET_REF_CLK (V22) */
|
||||||
MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x0a0b1
|
MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x0a0b1
|
||||||
/* AR8035 pin strapping: IO voltage: pull up */
|
/* AR8035 pin strapping: IO voltage: pull up */
|
||||||
MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
|
MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b030
|
||||||
/* AR8035 pin strapping: PHYADDR#0: pull down */
|
/* AR8035 pin strapping: PHYADDR#0: pull down */
|
||||||
MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x130b0
|
MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x13030
|
||||||
/* AR8035 pin strapping: PHYADDR#1: pull down */
|
/* AR8035 pin strapping: PHYADDR#1: pull down */
|
||||||
MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x130b0
|
MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x13030
|
||||||
/* AR8035 pin strapping: MODE#1: pull up */
|
/* AR8035 pin strapping: MODE#1: pull up */
|
||||||
MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
|
MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b030
|
||||||
/* AR8035 pin strapping: MODE#3: pull up */
|
/* AR8035 pin strapping: MODE#3: pull up */
|
||||||
MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
|
MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b030
|
||||||
/* AR8035 pin strapping: MODE#0: pull down */
|
/* AR8035 pin strapping: MODE#0: pull down */
|
||||||
MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x130b0
|
MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x13030
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* As the RMII pins are also connected to RGMII
|
* As the RMII pins are also connected to RGMII
|
||||||
|
|
|
@ -10,6 +10,8 @@
|
||||||
* http://www.gnu.org/copyleft/gpl.html
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
|
||||||
#include "skeleton.dtsi"
|
#include "skeleton.dtsi"
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
|
@ -46,8 +48,6 @@ aliases {
|
||||||
intc: interrupt-controller@00a01000 {
|
intc: interrupt-controller@00a01000 {
|
||||||
compatible = "arm,cortex-a9-gic";
|
compatible = "arm,cortex-a9-gic";
|
||||||
#interrupt-cells = <3>;
|
#interrupt-cells = <3>;
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <1>;
|
|
||||||
interrupt-controller;
|
interrupt-controller;
|
||||||
reg = <0x00a01000 0x1000>,
|
reg = <0x00a01000 0x1000>,
|
||||||
<0x00a00100 0x100>;
|
<0x00a00100 0x100>;
|
||||||
|
@ -59,16 +59,19 @@ clocks {
|
||||||
|
|
||||||
ckil {
|
ckil {
|
||||||
compatible = "fsl,imx-ckil", "fixed-clock";
|
compatible = "fsl,imx-ckil", "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <32768>;
|
clock-frequency = <32768>;
|
||||||
};
|
};
|
||||||
|
|
||||||
ckih1 {
|
ckih1 {
|
||||||
compatible = "fsl,imx-ckih1", "fixed-clock";
|
compatible = "fsl,imx-ckih1", "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <0>;
|
clock-frequency = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
osc {
|
osc {
|
||||||
compatible = "fsl,imx-osc", "fixed-clock";
|
compatible = "fsl,imx-osc", "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <24000000>;
|
clock-frequency = <24000000>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -138,6 +141,12 @@ pcie: pcie@0x01000000 {
|
||||||
0x82000000 0 0x01000000 0x01000000 0 0x00f00000>; /* non-prefetchable memory */
|
0x82000000 0 0x01000000 0x01000000 0 0x00f00000>; /* non-prefetchable memory */
|
||||||
num-lanes = <1>;
|
num-lanes = <1>;
|
||||||
interrupts = <0 123 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <0 123 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
#interrupt-cells = <1>;
|
||||||
|
interrupt-map-mask = <0 0 0 0x7>;
|
||||||
|
interrupt-map = <0 0 0 1 &intc GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<0 0 0 2 &intc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<0 0 0 3 &intc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<0 0 0 4 &intc GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&clks 189>, <&clks 187>, <&clks 206>, <&clks 144>;
|
clocks = <&clks 189>, <&clks 187>, <&clks 206>, <&clks 144>;
|
||||||
clock-names = "pcie_ref_125m", "sata_ref_100m", "lvds_gate", "pcie_axi";
|
clock-names = "pcie_ref_125m", "sata_ref_100m", "lvds_gate", "pcie_axi";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
|
|
@ -282,6 +282,7 @@ pinctrl_ecspi1: ecspi1grp {
|
||||||
MX6SL_PAD_ECSPI1_MISO__ECSPI1_MISO 0x100b1
|
MX6SL_PAD_ECSPI1_MISO__ECSPI1_MISO 0x100b1
|
||||||
MX6SL_PAD_ECSPI1_MOSI__ECSPI1_MOSI 0x100b1
|
MX6SL_PAD_ECSPI1_MOSI__ECSPI1_MOSI 0x100b1
|
||||||
MX6SL_PAD_ECSPI1_SCLK__ECSPI1_SCLK 0x100b1
|
MX6SL_PAD_ECSPI1_SCLK__ECSPI1_SCLK 0x100b1
|
||||||
|
MX6SL_PAD_ECSPI1_SS0__GPIO4_IO11 0x80000000
|
||||||
>;
|
>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -68,8 +68,6 @@ cpu@0 {
|
||||||
intc: interrupt-controller@00a01000 {
|
intc: interrupt-controller@00a01000 {
|
||||||
compatible = "arm,cortex-a9-gic";
|
compatible = "arm,cortex-a9-gic";
|
||||||
#interrupt-cells = <3>;
|
#interrupt-cells = <3>;
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <1>;
|
|
||||||
interrupt-controller;
|
interrupt-controller;
|
||||||
reg = <0x00a01000 0x1000>,
|
reg = <0x00a01000 0x1000>,
|
||||||
<0x00a00100 0x100>;
|
<0x00a00100 0x100>;
|
||||||
|
@ -81,11 +79,13 @@ clocks {
|
||||||
|
|
||||||
ckil {
|
ckil {
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <32768>;
|
clock-frequency = <32768>;
|
||||||
};
|
};
|
||||||
|
|
||||||
osc {
|
osc {
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <24000000>;
|
clock-frequency = <24000000>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -75,7 +75,7 @@ spi@10600 {
|
||||||
m25p16@0 {
|
m25p16@0 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
compatible = "m25p16";
|
compatible = "st,m25p16";
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
spi-max-frequency = <40000000>;
|
spi-max-frequency = <40000000>;
|
||||||
mode = <0>;
|
mode = <0>;
|
||||||
|
|
|
@ -46,7 +46,7 @@ spi@10600 {
|
||||||
flash@0 {
|
flash@0 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
compatible = "mx25l4005a";
|
compatible = "mxicy,mx25l4005a";
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
spi-max-frequency = <20000000>;
|
spi-max-frequency = <20000000>;
|
||||||
mode = <0>;
|
mode = <0>;
|
||||||
|
|
|
@ -43,7 +43,7 @@ spi@10600 {
|
||||||
m25p40@0 {
|
m25p40@0 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
compatible = "mx25l1606e";
|
compatible = "mxicy,mx25l1606e";
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
spi-max-frequency = <50000000>;
|
spi-max-frequency = <50000000>;
|
||||||
mode = <0>;
|
mode = <0>;
|
||||||
|
|
|
@ -48,7 +48,7 @@ i2c@11000 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
eeprom@50 {
|
eeprom@50 {
|
||||||
compatible = "at,24c04";
|
compatible = "atmel,24c04";
|
||||||
pagesize = <16>;
|
pagesize = <16>;
|
||||||
reg = <0x50>;
|
reg = <0x50>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -56,7 +56,7 @@ spi@10600 {
|
||||||
flash@0 {
|
flash@0 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
compatible = "mx25l12805d";
|
compatible = "mxicy,mx25l12805d";
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
spi-max-frequency = <50000000>;
|
spi-max-frequency = <50000000>;
|
||||||
mode = <0>;
|
mode = <0>;
|
||||||
|
|
|
@ -32,7 +32,7 @@ spi@10600 {
|
||||||
flash@0 {
|
flash@0 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
compatible = "mx25l4005a";
|
compatible = "mxicy,mx25l4005a";
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
spi-max-frequency = <20000000>;
|
spi-max-frequency = <20000000>;
|
||||||
mode = <0>;
|
mode = <0>;
|
||||||
|
@ -50,7 +50,7 @@ i2c@11000 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
eeprom@50 {
|
eeprom@50 {
|
||||||
compatible = "at,24c04";
|
compatible = "atmel,24c04";
|
||||||
pagesize = <16>;
|
pagesize = <16>;
|
||||||
reg = <0x50>;
|
reg = <0x50>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -104,7 +104,7 @@ i2c@11000 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
adt7476: adt7476a@2e {
|
adt7476: adt7476a@2e {
|
||||||
compatible = "adt7476";
|
compatible = "adi,adt7476";
|
||||||
reg = <0x2e>;
|
reg = <0x2e>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -94,7 +94,7 @@ i2c@11000 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
lm85: lm85@2e {
|
lm85: lm85@2e {
|
||||||
compatible = "lm85";
|
compatible = "national,lm85";
|
||||||
reg = <0x2e>;
|
reg = <0x2e>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -40,7 +40,7 @@ i2c@11100 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
|
|
||||||
s35390a: s35390a@30 {
|
s35390a: s35390a@30 {
|
||||||
compatible = "s35390a";
|
compatible = "sii,s35390a";
|
||||||
reg = <0x30>;
|
reg = <0x30>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -52,7 +52,7 @@ i2c@11100 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
|
|
||||||
s24c02: s24c02@50 {
|
s24c02: s24c02@50 {
|
||||||
compatible = "24c02";
|
compatible = "atmel,24c02";
|
||||||
reg = <0x50>;
|
reg = <0x50>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
16
arch/arm/boot/dts/omap3-beagle-xm-ab.dts
Normal file
16
arch/arm/boot/dts/omap3-beagle-xm-ab.dts
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "omap3-beagle-xm.dts"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
/* HS USB Port 2 Power enable was inverted with the xM C */
|
||||||
|
hsusb2_power: hsusb2_power_reg {
|
||||||
|
enable-active-high;
|
||||||
|
};
|
||||||
|
};
|
|
@ -112,7 +112,6 @@ nand@0,0 {
|
||||||
reg = <0 0 0>; /* CS0, offset 0 */
|
reg = <0 0 0>; /* CS0, offset 0 */
|
||||||
nand-bus-width = <16>;
|
nand-bus-width = <16>;
|
||||||
|
|
||||||
gpmc,device-nand;
|
|
||||||
gpmc,sync-clk-ps = <0>;
|
gpmc,sync-clk-ps = <0>;
|
||||||
gpmc,cs-on-ns = <0>;
|
gpmc,cs-on-ns = <0>;
|
||||||
gpmc,cs-rd-off-ns = <44>;
|
gpmc,cs-rd-off-ns = <44>;
|
||||||
|
|
|
@ -368,7 +368,6 @@ nand@0,0 {
|
||||||
/* no elm on omap3 */
|
/* no elm on omap3 */
|
||||||
|
|
||||||
gpmc,mux-add-data = <0>;
|
gpmc,mux-add-data = <0>;
|
||||||
gpmc,device-nand;
|
|
||||||
gpmc,device-width = <2>;
|
gpmc,device-width = <2>;
|
||||||
gpmc,wait-pin = <0>;
|
gpmc,wait-pin = <0>;
|
||||||
gpmc,wait-monitoring-ns = <0>;
|
gpmc,wait-monitoring-ns = <0>;
|
||||||
|
|
|
@ -74,7 +74,7 @@ dsp {
|
||||||
/*
|
/*
|
||||||
* XXX: Use a flat representation of the OMAP3 interconnect.
|
* XXX: Use a flat representation of the OMAP3 interconnect.
|
||||||
* The real OMAP interconnect network is quite complex.
|
* The real OMAP interconnect network is quite complex.
|
||||||
* Since that will not bring real advantage to represent that in DT for
|
* Since it will not bring real advantage to represent that in DT for
|
||||||
* the moment, just use a fake OCP bus entry to represent the whole bus
|
* the moment, just use a fake OCP bus entry to represent the whole bus
|
||||||
* hierarchy.
|
* hierarchy.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -72,7 +72,7 @@ local-timer@48240600 {
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The soc node represents the soc top level view. It is uses for IPs
|
* The soc node represents the soc top level view. It is used for IPs
|
||||||
* that are not memory mapped in the MPU view or for the MPU itself.
|
* that are not memory mapped in the MPU view or for the MPU itself.
|
||||||
*/
|
*/
|
||||||
soc {
|
soc {
|
||||||
|
@ -96,7 +96,7 @@ iva {
|
||||||
/*
|
/*
|
||||||
* XXX: Use a flat representation of the OMAP4 interconnect.
|
* XXX: Use a flat representation of the OMAP4 interconnect.
|
||||||
* The real OMAP interconnect network is quite complex.
|
* The real OMAP interconnect network is quite complex.
|
||||||
* Since that will not bring real advantage to represent that in DT for
|
* Since it will not bring real advantage to represent that in DT for
|
||||||
* the moment, just use a fake OCP bus entry to represent the whole bus
|
* the moment, just use a fake OCP bus entry to represent the whole bus
|
||||||
* hierarchy.
|
* hierarchy.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -93,7 +93,7 @@ gic: interrupt-controller@48211000 {
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The soc node represents the soc top level view. It is uses for IPs
|
* The soc node represents the soc top level view. It is used for IPs
|
||||||
* that are not memory mapped in the MPU view or for the MPU itself.
|
* that are not memory mapped in the MPU view or for the MPU itself.
|
||||||
*/
|
*/
|
||||||
soc {
|
soc {
|
||||||
|
@ -107,7 +107,7 @@ mpu {
|
||||||
/*
|
/*
|
||||||
* XXX: Use a flat representation of the OMAP3 interconnect.
|
* XXX: Use a flat representation of the OMAP3 interconnect.
|
||||||
* The real OMAP interconnect network is quite complex.
|
* The real OMAP interconnect network is quite complex.
|
||||||
* Since that will not bring real advantage to represent that in DT for
|
* Since it will not bring real advantage to represent that in DT for
|
||||||
* the moment, just use a fake OCP bus entry to represent the whole bus
|
* the moment, just use a fake OCP bus entry to represent the whole bus
|
||||||
* hierarchy.
|
* hierarchy.
|
||||||
*/
|
*/
|
||||||
|
@ -813,6 +813,12 @@ usb3_phy: usb3phy@4a084400 {
|
||||||
<0x4a084c00 0x40>;
|
<0x4a084c00 0x40>;
|
||||||
reg-names = "phy_rx", "phy_tx", "pll_ctrl";
|
reg-names = "phy_rx", "phy_tx", "pll_ctrl";
|
||||||
ctrl-module = <&omap_control_usb3phy>;
|
ctrl-module = <&omap_control_usb3phy>;
|
||||||
|
clocks = <&usb_phy_cm_clk32k>,
|
||||||
|
<&sys_clkin>,
|
||||||
|
<&usb_otg_ss_refclk960m>;
|
||||||
|
clock-names = "wkupclk",
|
||||||
|
"sysclk",
|
||||||
|
"refclk";
|
||||||
#phy-cells = <0>;
|
#phy-cells = <0>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -28,7 +28,6 @@ cpu@0 {
|
||||||
gic: interrupt-controller@c2800000 {
|
gic: interrupt-controller@c2800000 {
|
||||||
compatible = "arm,cortex-a9-gic";
|
compatible = "arm,cortex-a9-gic";
|
||||||
#interrupt-cells = <3>;
|
#interrupt-cells = <3>;
|
||||||
#address-cells = <1>;
|
|
||||||
interrupt-controller;
|
interrupt-controller;
|
||||||
reg = <0xc2800000 0x1000>,
|
reg = <0xc2800000 0x1000>,
|
||||||
<0xc2000000 0x1000>;
|
<0xc2000000 0x1000>;
|
||||||
|
|
|
@ -141,12 +141,12 @@ scif1_pins: serial1 {
|
||||||
};
|
};
|
||||||
|
|
||||||
sdhi0_pins: sd0 {
|
sdhi0_pins: sd0 {
|
||||||
renesas,gpios = "sdhi0_data4", "sdhi0_ctrl";
|
renesas,groups = "sdhi0_data4", "sdhi0_ctrl";
|
||||||
renesas,function = "sdhi0";
|
renesas,function = "sdhi0";
|
||||||
};
|
};
|
||||||
|
|
||||||
sdhi2_pins: sd2 {
|
sdhi2_pins: sd2 {
|
||||||
renesas,gpios = "sdhi2_data4", "sdhi2_ctrl";
|
renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
|
||||||
renesas,function = "sdhi2";
|
renesas,function = "sdhi2";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -230,17 +230,17 @@ phy1_pins: phy1 {
|
||||||
};
|
};
|
||||||
|
|
||||||
sdhi0_pins: sd0 {
|
sdhi0_pins: sd0 {
|
||||||
renesas,gpios = "sdhi0_data4", "sdhi0_ctrl";
|
renesas,groups = "sdhi0_data4", "sdhi0_ctrl";
|
||||||
renesas,function = "sdhi0";
|
renesas,function = "sdhi0";
|
||||||
};
|
};
|
||||||
|
|
||||||
sdhi1_pins: sd1 {
|
sdhi1_pins: sd1 {
|
||||||
renesas,gpios = "sdhi1_data4", "sdhi1_ctrl";
|
renesas,groups = "sdhi1_data4", "sdhi1_ctrl";
|
||||||
renesas,function = "sdhi1";
|
renesas,function = "sdhi1";
|
||||||
};
|
};
|
||||||
|
|
||||||
sdhi2_pins: sd2 {
|
sdhi2_pins: sd2 {
|
||||||
renesas,gpios = "sdhi2_data4", "sdhi2_ctrl";
|
renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
|
||||||
renesas,function = "sdhi2";
|
renesas,function = "sdhi2";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -149,7 +149,7 @@ pcfg_pull_none: pcfg_pull_none {
|
||||||
|
|
||||||
uart0 {
|
uart0 {
|
||||||
uart0_xfer: uart0-xfer {
|
uart0_xfer: uart0-xfer {
|
||||||
rockchip,pins = <RK_GPIO1 0 RK_FUNC_1 &pcfg_pull_none>,
|
rockchip,pins = <RK_GPIO1 0 RK_FUNC_1 &pcfg_pull_up>,
|
||||||
<RK_GPIO1 1 RK_FUNC_1 &pcfg_pull_none>;
|
<RK_GPIO1 1 RK_FUNC_1 &pcfg_pull_none>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -164,7 +164,7 @@ uart0_rts: uart0-rts {
|
||||||
|
|
||||||
uart1 {
|
uart1 {
|
||||||
uart1_xfer: uart1-xfer {
|
uart1_xfer: uart1-xfer {
|
||||||
rockchip,pins = <RK_GPIO1 4 RK_FUNC_1 &pcfg_pull_none>,
|
rockchip,pins = <RK_GPIO1 4 RK_FUNC_1 &pcfg_pull_up>,
|
||||||
<RK_GPIO1 5 RK_FUNC_1 &pcfg_pull_none>;
|
<RK_GPIO1 5 RK_FUNC_1 &pcfg_pull_none>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -179,7 +179,7 @@ uart1_rts: uart1-rts {
|
||||||
|
|
||||||
uart2 {
|
uart2 {
|
||||||
uart2_xfer: uart2-xfer {
|
uart2_xfer: uart2-xfer {
|
||||||
rockchip,pins = <RK_GPIO1 8 RK_FUNC_1 &pcfg_pull_none>,
|
rockchip,pins = <RK_GPIO1 8 RK_FUNC_1 &pcfg_pull_up>,
|
||||||
<RK_GPIO1 9 RK_FUNC_1 &pcfg_pull_none>;
|
<RK_GPIO1 9 RK_FUNC_1 &pcfg_pull_none>;
|
||||||
};
|
};
|
||||||
/* no rts / cts for uart2 */
|
/* no rts / cts for uart2 */
|
||||||
|
@ -187,7 +187,7 @@ uart2_xfer: uart2-xfer {
|
||||||
|
|
||||||
uart3 {
|
uart3 {
|
||||||
uart3_xfer: uart3-xfer {
|
uart3_xfer: uart3-xfer {
|
||||||
rockchip,pins = <RK_GPIO1 10 RK_FUNC_1 &pcfg_pull_none>,
|
rockchip,pins = <RK_GPIO1 10 RK_FUNC_1 &pcfg_pull_up>,
|
||||||
<RK_GPIO1 11 RK_FUNC_1 &pcfg_pull_none>;
|
<RK_GPIO1 11 RK_FUNC_1 &pcfg_pull_none>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,6 @@ cpu@1 {
|
||||||
gic: interrupt-controller@f0001000 {
|
gic: interrupt-controller@f0001000 {
|
||||||
compatible = "arm,cortex-a9-gic";
|
compatible = "arm,cortex-a9-gic";
|
||||||
#interrupt-cells = <3>;
|
#interrupt-cells = <3>;
|
||||||
#address-cells = <1>;
|
|
||||||
interrupt-controller;
|
interrupt-controller;
|
||||||
reg = <0xf0001000 0x1000>,
|
reg = <0xf0001000 0x1000>,
|
||||||
<0xf0000100 0x100>;
|
<0xf0000100 0x100>;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* DTS file for SPEAr320 Evaluation Baord
|
* DTS file for SPEAr320 Evaluation Baord
|
||||||
*
|
*
|
||||||
* Copyright 2012 Shiraz Hashim <shiraz.hashim@st.com>
|
* Copyright 2012 Shiraz Hashim <shiraz.linux.kernel@gmail.com>
|
||||||
*
|
*
|
||||||
* The code contained herein is licensed under the GNU General Public
|
* The code contained herein is licensed under the GNU General Public
|
||||||
* License. You may obtain a copy of the GNU General Public License
|
* License. You may obtain a copy of the GNU General Public License
|
||||||
|
|
|
@ -49,7 +49,7 @@ pin-controller-sbc {
|
||||||
reg = <0xfe61f080 0x4>;
|
reg = <0xfe61f080 0x4>;
|
||||||
reg-names = "irqmux";
|
reg-names = "irqmux";
|
||||||
interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
interrupts-names = "irqmux";
|
interrupt-names = "irqmux";
|
||||||
ranges = <0 0xfe610000 0x5000>;
|
ranges = <0 0xfe610000 0x5000>;
|
||||||
|
|
||||||
PIO0: gpio@fe610000 {
|
PIO0: gpio@fe610000 {
|
||||||
|
@ -187,7 +187,7 @@ pin-controller-front {
|
||||||
reg = <0xfee0f080 0x4>;
|
reg = <0xfee0f080 0x4>;
|
||||||
reg-names = "irqmux";
|
reg-names = "irqmux";
|
||||||
interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
interrupts-names = "irqmux";
|
interrupt-names = "irqmux";
|
||||||
ranges = <0 0xfee00000 0x8000>;
|
ranges = <0 0xfee00000 0x8000>;
|
||||||
|
|
||||||
PIO5: gpio@fee00000 {
|
PIO5: gpio@fee00000 {
|
||||||
|
@ -282,7 +282,7 @@ pin-controller-rear {
|
||||||
reg = <0xfe82f080 0x4>;
|
reg = <0xfe82f080 0x4>;
|
||||||
reg-names = "irqmux";
|
reg-names = "irqmux";
|
||||||
interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
interrupts-names = "irqmux";
|
interrupt-names = "irqmux";
|
||||||
ranges = <0 0xfe820000 0x8000>;
|
ranges = <0 0xfe820000 0x8000>;
|
||||||
|
|
||||||
PIO13: gpio@fe820000 {
|
PIO13: gpio@fe820000 {
|
||||||
|
@ -423,7 +423,7 @@ pin-controller-left {
|
||||||
reg = <0xfd6bf080 0x4>;
|
reg = <0xfd6bf080 0x4>;
|
||||||
reg-names = "irqmux";
|
reg-names = "irqmux";
|
||||||
interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
interrupts-names = "irqmux";
|
interrupt-names = "irqmux";
|
||||||
ranges = <0 0xfd6b0000 0x3000>;
|
ranges = <0 0xfd6b0000 0x3000>;
|
||||||
|
|
||||||
PIO100: gpio@fd6b0000 {
|
PIO100: gpio@fd6b0000 {
|
||||||
|
@ -460,7 +460,7 @@ pin-controller-right {
|
||||||
reg = <0xfd33f080 0x4>;
|
reg = <0xfd33f080 0x4>;
|
||||||
reg-names = "irqmux";
|
reg-names = "irqmux";
|
||||||
interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
interrupts-names = "irqmux";
|
interrupt-names = "irqmux";
|
||||||
ranges = <0 0xfd330000 0x5000>;
|
ranges = <0 0xfd330000 0x5000>;
|
||||||
|
|
||||||
PIO103: gpio@fd330000 {
|
PIO103: gpio@fd330000 {
|
||||||
|
|
|
@ -53,7 +53,7 @@ pin-controller-sbc {
|
||||||
reg = <0xfe61f080 0x4>;
|
reg = <0xfe61f080 0x4>;
|
||||||
reg-names = "irqmux";
|
reg-names = "irqmux";
|
||||||
interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
interrupts-names = "irqmux";
|
interrupt-names = "irqmux";
|
||||||
ranges = <0 0xfe610000 0x6000>;
|
ranges = <0 0xfe610000 0x6000>;
|
||||||
|
|
||||||
PIO0: gpio@fe610000 {
|
PIO0: gpio@fe610000 {
|
||||||
|
@ -201,7 +201,7 @@ pin-controller-front {
|
||||||
reg = <0xfee0f080 0x4>;
|
reg = <0xfee0f080 0x4>;
|
||||||
reg-names = "irqmux";
|
reg-names = "irqmux";
|
||||||
interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
interrupts-names = "irqmux";
|
interrupt-names = "irqmux";
|
||||||
ranges = <0 0xfee00000 0x10000>;
|
ranges = <0 0xfee00000 0x10000>;
|
||||||
|
|
||||||
PIO5: gpio@fee00000 {
|
PIO5: gpio@fee00000 {
|
||||||
|
@ -333,7 +333,7 @@ pin-controller-rear {
|
||||||
reg = <0xfe82f080 0x4>;
|
reg = <0xfe82f080 0x4>;
|
||||||
reg-names = "irqmux";
|
reg-names = "irqmux";
|
||||||
interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
interrupts-names = "irqmux";
|
interrupt-names = "irqmux";
|
||||||
ranges = <0 0xfe820000 0x6000>;
|
ranges = <0 0xfe820000 0x6000>;
|
||||||
|
|
||||||
PIO13: gpio@fe820000 {
|
PIO13: gpio@fe820000 {
|
||||||
|
@ -461,7 +461,7 @@ pin-controller-fvdp-fe {
|
||||||
reg = <0xfd6bf080 0x4>;
|
reg = <0xfd6bf080 0x4>;
|
||||||
reg-names = "irqmux";
|
reg-names = "irqmux";
|
||||||
interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
interrupts-names = "irqmux";
|
interrupt-names = "irqmux";
|
||||||
ranges = <0 0xfd6b0000 0x3000>;
|
ranges = <0 0xfd6b0000 0x3000>;
|
||||||
|
|
||||||
PIO100: gpio@fd6b0000 {
|
PIO100: gpio@fd6b0000 {
|
||||||
|
@ -498,7 +498,7 @@ pin-controller-fvdp-lite {
|
||||||
reg = <0xfd33f080 0x4>;
|
reg = <0xfd33f080 0x4>;
|
||||||
reg-names = "irqmux";
|
reg-names = "irqmux";
|
||||||
interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
interrupts-names = "irqmux";
|
interrupt-names = "irqmux";
|
||||||
ranges = <0 0xfd330000 0x5000>;
|
ranges = <0 0xfd330000 0x5000>;
|
||||||
|
|
||||||
PIO103: gpio@fd330000 {
|
PIO103: gpio@fd330000 {
|
||||||
|
|
|
@ -233,19 +233,6 @@ serial@0,70006300 {
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
serial@0,70006400 {
|
|
||||||
compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
|
|
||||||
reg = <0x0 0x70006400 0x0 0x40>;
|
|
||||||
reg-shift = <2>;
|
|
||||||
interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
|
|
||||||
clocks = <&tegra_car TEGRA124_CLK_UARTE>;
|
|
||||||
resets = <&tegra_car 66>;
|
|
||||||
reset-names = "serial";
|
|
||||||
dmas = <&apbdma 20>, <&apbdma 20>;
|
|
||||||
dma-names = "rx", "tx";
|
|
||||||
status = "disabled";
|
|
||||||
};
|
|
||||||
|
|
||||||
pwm@0,7000a000 {
|
pwm@0,7000a000 {
|
||||||
compatible = "nvidia,tegra124-pwm", "nvidia,tegra20-pwm";
|
compatible = "nvidia,tegra124-pwm", "nvidia,tegra20-pwm";
|
||||||
reg = <0x0 0x7000a000 0x0 0x100>;
|
reg = <0x0 0x7000a000 0x0 0x100>;
|
||||||
|
|
|
@ -25,11 +25,13 @@ memory {
|
||||||
clocks {
|
clocks {
|
||||||
audio_ext {
|
audio_ext {
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <24576000>;
|
clock-frequency = <24576000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
enet_ext {
|
enet_ext {
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <50000000>;
|
clock-frequency = <50000000>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -45,11 +45,13 @@ clocks {
|
||||||
|
|
||||||
sxosc {
|
sxosc {
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <32768>;
|
clock-frequency = <32768>;
|
||||||
};
|
};
|
||||||
|
|
||||||
fxosc {
|
fxosc {
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
clock-frequency = <24000000>;
|
clock-frequency = <24000000>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -72,8 +74,6 @@ aips0: aips-bus@40000000 {
|
||||||
intc: interrupt-controller@40002000 {
|
intc: interrupt-controller@40002000 {
|
||||||
compatible = "arm,cortex-a9-gic";
|
compatible = "arm,cortex-a9-gic";
|
||||||
#interrupt-cells = <3>;
|
#interrupt-cells = <3>;
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <1>;
|
|
||||||
interrupt-controller;
|
interrupt-controller;
|
||||||
reg = <0x40003000 0x1000>,
|
reg = <0x40003000 0x1000>,
|
||||||
<0x40002100 0x100>;
|
<0x40002100 0x100>;
|
||||||
|
|
|
@ -24,6 +24,7 @@ cpu@0 {
|
||||||
device_type = "cpu";
|
device_type = "cpu";
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
clocks = <&clkc 3>;
|
clocks = <&clkc 3>;
|
||||||
|
clock-latency = <1000>;
|
||||||
operating-points = <
|
operating-points = <
|
||||||
/* kHz uV */
|
/* kHz uV */
|
||||||
666667 1000000
|
666667 1000000
|
||||||
|
@ -54,6 +55,28 @@ amba {
|
||||||
interrupt-parent = <&intc>;
|
interrupt-parent = <&intc>;
|
||||||
ranges;
|
ranges;
|
||||||
|
|
||||||
|
i2c0: zynq-i2c@e0004000 {
|
||||||
|
compatible = "cdns,i2c-r1p10";
|
||||||
|
status = "disabled";
|
||||||
|
clocks = <&clkc 38>;
|
||||||
|
interrupt-parent = <&intc>;
|
||||||
|
interrupts = <0 25 4>;
|
||||||
|
reg = <0xe0004000 0x1000>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c1: zynq-i2c@e0005000 {
|
||||||
|
compatible = "cdns,i2c-r1p10";
|
||||||
|
status = "disabled";
|
||||||
|
clocks = <&clkc 39>;
|
||||||
|
interrupt-parent = <&intc>;
|
||||||
|
interrupts = <0 48 4>;
|
||||||
|
reg = <0xe0005000 0x1000>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
intc: interrupt-controller@f8f01000 {
|
intc: interrupt-controller@f8f01000 {
|
||||||
compatible = "arm,cortex-a9-gic";
|
compatible = "arm,cortex-a9-gic";
|
||||||
#interrupt-cells = <3>;
|
#interrupt-cells = <3>;
|
||||||
|
|
|
@ -34,6 +34,82 @@ &gem0 {
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&i2c0 {
|
||||||
|
status = "okay";
|
||||||
|
clock-frequency = <400000>;
|
||||||
|
|
||||||
|
i2cswitch@74 {
|
||||||
|
compatible = "nxp,pca9548";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0x74>;
|
||||||
|
|
||||||
|
i2c@0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0>;
|
||||||
|
si570: clock-generator@5d {
|
||||||
|
#clock-cells = <0>;
|
||||||
|
compatible = "silabs,si570";
|
||||||
|
temperature-stability = <50>;
|
||||||
|
reg = <0x5d>;
|
||||||
|
factory-fout = <156250000>;
|
||||||
|
clock-frequency = <148500000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c@2 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <2>;
|
||||||
|
eeprom@54 {
|
||||||
|
compatible = "at,24c08";
|
||||||
|
reg = <0x54>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c@3 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <3>;
|
||||||
|
gpio@21 {
|
||||||
|
compatible = "ti,tca6416";
|
||||||
|
reg = <0x21>;
|
||||||
|
gpio-controller;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c@4 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <4>;
|
||||||
|
rtc@51 {
|
||||||
|
compatible = "nxp,pcf8563";
|
||||||
|
reg = <0x51>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c@7 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <7>;
|
||||||
|
hwmon@52 {
|
||||||
|
compatible = "ti,ucd9248";
|
||||||
|
reg = <52>;
|
||||||
|
};
|
||||||
|
hwmon@53 {
|
||||||
|
compatible = "ti,ucd9248";
|
||||||
|
reg = <53>;
|
||||||
|
};
|
||||||
|
hwmon@54 {
|
||||||
|
compatible = "ti,ucd9248";
|
||||||
|
reg = <54>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&sdhci0 {
|
&sdhci0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
|
@ -35,6 +35,74 @@ &gem0 {
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&i2c0 {
|
||||||
|
status = "okay";
|
||||||
|
clock-frequency = <400000>;
|
||||||
|
|
||||||
|
i2cswitch@74 {
|
||||||
|
compatible = "nxp,pca9548";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0x74>;
|
||||||
|
|
||||||
|
i2c@0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0>;
|
||||||
|
si570: clock-generator@5d {
|
||||||
|
#clock-cells = <0>;
|
||||||
|
compatible = "silabs,si570";
|
||||||
|
temperature-stability = <50>;
|
||||||
|
reg = <0x5d>;
|
||||||
|
factory-fout = <156250000>;
|
||||||
|
clock-frequency = <148500000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c@2 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <2>;
|
||||||
|
eeprom@54 {
|
||||||
|
compatible = "at,24c08";
|
||||||
|
reg = <0x54>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c@3 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <3>;
|
||||||
|
gpio@21 {
|
||||||
|
compatible = "ti,tca6416";
|
||||||
|
reg = <0x21>;
|
||||||
|
gpio-controller;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c@4 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <4>;
|
||||||
|
rtc@51 {
|
||||||
|
compatible = "nxp,pcf8563";
|
||||||
|
reg = <0x51>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c@7 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <7>;
|
||||||
|
ucd90120@65 {
|
||||||
|
compatible = "ti,ucd90120";
|
||||||
|
reg = <0x65>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&sdhci0 {
|
&sdhci0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
|
@ -797,10 +797,8 @@ static int __init bL_switcher_init(void)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (MAX_NR_CLUSTERS != 2) {
|
if (!mcpm_is_available())
|
||||||
pr_err("%s: only dual cluster systems are supported\n", __func__);
|
return -ENODEV;
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
|
|
||||||
cpu_notifier(bL_switcher_hotplug_callback, 0);
|
cpu_notifier(bL_switcher_hotplug_callback, 0);
|
||||||
|
|
||||||
|
|
|
@ -48,6 +48,11 @@ int __init mcpm_platform_register(const struct mcpm_platform_ops *ops)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool mcpm_is_available(void)
|
||||||
|
{
|
||||||
|
return (platform_ops) ? true : false;
|
||||||
|
}
|
||||||
|
|
||||||
int mcpm_cpu_power_up(unsigned int cpu, unsigned int cluster)
|
int mcpm_cpu_power_up(unsigned int cpu, unsigned int cluster)
|
||||||
{
|
{
|
||||||
if (!platform_ops)
|
if (!platform_ops)
|
||||||
|
|
|
@ -226,7 +226,7 @@ CONFIG_USB_DWC3=m
|
||||||
CONFIG_USB_TEST=y
|
CONFIG_USB_TEST=y
|
||||||
CONFIG_NOP_USB_XCEIV=y
|
CONFIG_NOP_USB_XCEIV=y
|
||||||
CONFIG_OMAP_USB2=y
|
CONFIG_OMAP_USB2=y
|
||||||
CONFIG_OMAP_USB3=y
|
CONFIG_TI_PIPE3=y
|
||||||
CONFIG_AM335X_PHY_USB=y
|
CONFIG_AM335X_PHY_USB=y
|
||||||
CONFIG_USB_GADGET=y
|
CONFIG_USB_GADGET=y
|
||||||
CONFIG_USB_GADGET_DEBUG=y
|
CONFIG_USB_GADGET_DEBUG=y
|
||||||
|
|
|
@ -11,6 +11,7 @@ CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
# CONFIG_LBDAF is not set
|
# CONFIG_LBDAF is not set
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
|
CONFIG_PARTITION_ADVANCED=y
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
# CONFIG_ARCH_MULTI_V7 is not set
|
# CONFIG_ARCH_MULTI_V7 is not set
|
||||||
CONFIG_ARCH_U300=y
|
CONFIG_ARCH_U300=y
|
||||||
|
@ -21,7 +22,6 @@ CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||||
CONFIG_CMDLINE="root=/dev/ram0 rw rootfstype=rootfs console=ttyAMA0,115200n8 lpj=515072"
|
CONFIG_CMDLINE="root=/dev/ram0 rw rootfstype=rootfs console=ttyAMA0,115200n8 lpj=515072"
|
||||||
CONFIG_CPU_IDLE=y
|
CONFIG_CPU_IDLE=y
|
||||||
CONFIG_FPE_NWFPE=y
|
|
||||||
# CONFIG_SUSPEND is not set
|
# CONFIG_SUSPEND is not set
|
||||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||||
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
||||||
|
@ -64,8 +64,8 @@ CONFIG_TMPFS=y
|
||||||
CONFIG_NLS_CODEPAGE_437=y
|
CONFIG_NLS_CODEPAGE_437=y
|
||||||
CONFIG_NLS_ISO8859_1=y
|
CONFIG_NLS_ISO8859_1=y
|
||||||
CONFIG_PRINTK_TIME=y
|
CONFIG_PRINTK_TIME=y
|
||||||
|
CONFIG_DEBUG_INFO=y
|
||||||
CONFIG_DEBUG_FS=y
|
CONFIG_DEBUG_FS=y
|
||||||
# CONFIG_SCHED_DEBUG is not set
|
# CONFIG_SCHED_DEBUG is not set
|
||||||
CONFIG_TIMER_STATS=y
|
CONFIG_TIMER_STATS=y
|
||||||
# CONFIG_DEBUG_PREEMPT is not set
|
# CONFIG_DEBUG_PREEMPT is not set
|
||||||
CONFIG_DEBUG_INFO=y
|
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
# CONFIG_SWAP is not set
|
# CONFIG_SWAP is not set
|
||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_NO_HZ=y
|
CONFIG_NO_HZ_IDLE=y
|
||||||
CONFIG_HIGH_RES_TIMERS=y
|
CONFIG_HIGH_RES_TIMERS=y
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_KALLSYMS_ALL=y
|
CONFIG_KALLSYMS_ALL=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
|
CONFIG_PARTITION_ADVANCED=y
|
||||||
CONFIG_ARCH_U8500=y
|
CONFIG_ARCH_U8500=y
|
||||||
CONFIG_MACH_HREFV60=y
|
CONFIG_MACH_HREFV60=y
|
||||||
CONFIG_MACH_SNOWBALL=y
|
CONFIG_MACH_SNOWBALL=y
|
||||||
CONFIG_MACH_UX500_DT=y
|
|
||||||
CONFIG_SMP=y
|
CONFIG_SMP=y
|
||||||
CONFIG_NR_CPUS=2
|
CONFIG_NR_CPUS=2
|
||||||
CONFIG_PREEMPT=y
|
CONFIG_PREEMPT=y
|
||||||
|
@ -34,16 +34,22 @@ CONFIG_IP_PNP=y
|
||||||
CONFIG_IP_PNP_DHCP=y
|
CONFIG_IP_PNP_DHCP=y
|
||||||
CONFIG_NETFILTER=y
|
CONFIG_NETFILTER=y
|
||||||
CONFIG_PHONET=y
|
CONFIG_PHONET=y
|
||||||
# CONFIG_WIRELESS is not set
|
CONFIG_CFG80211=y
|
||||||
|
CONFIG_CFG80211_DEBUGFS=y
|
||||||
|
CONFIG_MAC80211=y
|
||||||
|
CONFIG_MAC80211_LEDS=y
|
||||||
CONFIG_CAIF=y
|
CONFIG_CAIF=y
|
||||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||||
|
CONFIG_DEVTMPFS=y
|
||||||
|
CONFIG_DEVTMPFS_MOUNT=y
|
||||||
CONFIG_BLK_DEV_RAM=y
|
CONFIG_BLK_DEV_RAM=y
|
||||||
CONFIG_BLK_DEV_RAM_SIZE=65536
|
CONFIG_BLK_DEV_RAM_SIZE=65536
|
||||||
CONFIG_SENSORS_BH1780=y
|
CONFIG_SENSORS_BH1780=y
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
CONFIG_SMSC911X=y
|
CONFIG_SMSC911X=y
|
||||||
CONFIG_SMSC_PHY=y
|
CONFIG_SMSC_PHY=y
|
||||||
# CONFIG_WLAN is not set
|
CONFIG_CW1200=y
|
||||||
|
CONFIG_CW1200_WLAN_SDIO=y
|
||||||
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
|
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
|
||||||
CONFIG_INPUT_EVDEV=y
|
CONFIG_INPUT_EVDEV=y
|
||||||
# CONFIG_KEYBOARD_ATKBD is not set
|
# CONFIG_KEYBOARD_ATKBD is not set
|
||||||
|
@ -85,15 +91,12 @@ CONFIG_AB8500_USB=y
|
||||||
CONFIG_USB_GADGET=y
|
CONFIG_USB_GADGET=y
|
||||||
CONFIG_USB_ETH=m
|
CONFIG_USB_ETH=m
|
||||||
CONFIG_MMC=y
|
CONFIG_MMC=y
|
||||||
CONFIG_MMC_UNSAFE_RESUME=y
|
|
||||||
# CONFIG_MMC_BLOCK_BOUNCE is not set
|
|
||||||
CONFIG_MMC_ARMMMCI=y
|
CONFIG_MMC_ARMMMCI=y
|
||||||
CONFIG_NEW_LEDS=y
|
CONFIG_NEW_LEDS=y
|
||||||
CONFIG_LEDS_CLASS=y
|
CONFIG_LEDS_CLASS=y
|
||||||
CONFIG_LEDS_LM3530=y
|
CONFIG_LEDS_LM3530=y
|
||||||
CONFIG_LEDS_GPIO=y
|
CONFIG_LEDS_GPIO=y
|
||||||
CONFIG_LEDS_LP5521=y
|
CONFIG_LEDS_LP5521=y
|
||||||
CONFIG_LEDS_TRIGGERS=y
|
|
||||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||||
CONFIG_RTC_CLASS=y
|
CONFIG_RTC_CLASS=y
|
||||||
CONFIG_RTC_DRV_AB8500=y
|
CONFIG_RTC_DRV_AB8500=y
|
||||||
|
@ -103,6 +106,11 @@ CONFIG_STE_DMA40=y
|
||||||
CONFIG_STAGING=y
|
CONFIG_STAGING=y
|
||||||
CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=y
|
CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=y
|
||||||
CONFIG_HSEM_U8500=y
|
CONFIG_HSEM_U8500=y
|
||||||
|
CONFIG_IIO=y
|
||||||
|
CONFIG_IIO_ST_ACCEL_3AXIS=y
|
||||||
|
CONFIG_IIO_ST_GYRO_3AXIS=y
|
||||||
|
CONFIG_IIO_ST_MAGN_3AXIS=y
|
||||||
|
CONFIG_IIO_ST_PRESS=y
|
||||||
CONFIG_EXT2_FS=y
|
CONFIG_EXT2_FS=y
|
||||||
CONFIG_EXT2_FS_XATTR=y
|
CONFIG_EXT2_FS_XATTR=y
|
||||||
CONFIG_EXT2_FS_POSIX_ACL=y
|
CONFIG_EXT2_FS_POSIX_ACL=y
|
||||||
|
@ -110,8 +118,6 @@ CONFIG_EXT2_FS_SECURITY=y
|
||||||
CONFIG_EXT3_FS=y
|
CONFIG_EXT3_FS=y
|
||||||
CONFIG_EXT4_FS=y
|
CONFIG_EXT4_FS=y
|
||||||
CONFIG_VFAT_FS=y
|
CONFIG_VFAT_FS=y
|
||||||
CONFIG_DEVTMPFS=y
|
|
||||||
CONFIG_DEVTMPFS_MOUNT=y
|
|
||||||
CONFIG_TMPFS=y
|
CONFIG_TMPFS=y
|
||||||
CONFIG_TMPFS_POSIX_ACL=y
|
CONFIG_TMPFS_POSIX_ACL=y
|
||||||
# CONFIG_MISC_FILESYSTEMS is not set
|
# CONFIG_MISC_FILESYSTEMS is not set
|
||||||
|
|
|
@ -222,22 +222,22 @@ static inline int cpu_is_xsc3(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Marvell's PJ4 core is based on V7 version. It has some modification
|
* Marvell's PJ4 and PJ4B cores are based on V7 version,
|
||||||
* for coprocessor setting. For this reason, we need a way to distinguish
|
* but require a specical sequence for enabling coprocessors.
|
||||||
* it.
|
* For this reason, we need a way to distinguish them.
|
||||||
*/
|
*/
|
||||||
#ifndef CONFIG_CPU_PJ4
|
#if defined(CONFIG_CPU_PJ4) || defined(CONFIG_CPU_PJ4B)
|
||||||
#define cpu_is_pj4() 0
|
|
||||||
#else
|
|
||||||
static inline int cpu_is_pj4(void)
|
static inline int cpu_is_pj4(void)
|
||||||
{
|
{
|
||||||
unsigned int id;
|
unsigned int id;
|
||||||
|
|
||||||
id = read_cpuid_id();
|
id = read_cpuid_id();
|
||||||
if ((id & 0xfffffff0) == 0x562f5840)
|
if ((id & 0xff0fff00) == 0x560f5800)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define cpu_is_pj4() 0
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -156,7 +156,7 @@
|
||||||
/* Select the best insn combination to perform the */ \
|
/* Select the best insn combination to perform the */ \
|
||||||
/* actual __m * __n / (__p << 64) operation. */ \
|
/* actual __m * __n / (__p << 64) operation. */ \
|
||||||
if (!__c) { \
|
if (!__c) { \
|
||||||
asm ( "umull %Q0, %R0, %1, %Q2\n\t" \
|
asm ( "umull %Q0, %R0, %Q1, %Q2\n\t" \
|
||||||
"mov %Q0, #0" \
|
"mov %Q0, #0" \
|
||||||
: "=&r" (__res) \
|
: "=&r" (__res) \
|
||||||
: "r" (__m), "r" (__n) \
|
: "r" (__m), "r" (__n) \
|
||||||
|
|
|
@ -53,6 +53,13 @@ void mcpm_set_early_poke(unsigned cpu, unsigned cluster,
|
||||||
* CPU/cluster power operations API for higher subsystems to use.
|
* CPU/cluster power operations API for higher subsystems to use.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* mcpm_is_available - returns whether MCPM is initialized and available
|
||||||
|
*
|
||||||
|
* This returns true or false accordingly.
|
||||||
|
*/
|
||||||
|
bool mcpm_is_available(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* mcpm_cpu_power_up - make given CPU in given cluster runable
|
* mcpm_cpu_power_up - make given CPU in given cluster runable
|
||||||
*
|
*
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue