brcm2708: update linux 4.4 patches to latest version
[openwrt/staging/wigyori.git] / target / linux / brcm2708 / patches-4.4 / 0491-overlays-added-sc16is750-UART-over-I2C-1617.patch
1 From 81d6acbdeecbca2db335d5c8362898df3d4fa8a3 Mon Sep 17 00:00:00 2001
2 From: Georgii Staroselskii <gosha371@gmail.com>
3 Date: Tue, 23 Aug 2016 17:40:05 +0400
4 Subject: [PATCH] overlays: added sc16is750 UART over I2C (#1617)
5
6 ---
7 arch/arm/boot/dts/overlays/Makefile | 1 +
8 arch/arm/boot/dts/overlays/README | 10 ++++++
9 .../boot/dts/overlays/sc16is750-i2c-overlay.dts | 37 ++++++++++++++++++++++
10 3 files changed, 48 insertions(+)
11 create mode 100644 arch/arm/boot/dts/overlays/sc16is750-i2c-overlay.dts
12
13 --- a/arch/arm/boot/dts/overlays/Makefile
14 +++ b/arch/arm/boot/dts/overlays/Makefile
15 @@ -75,6 +75,7 @@ dtbo-$(RPI_DT_OVERLAYS) += rpi-ft5406.dt
16 dtbo-$(RPI_DT_OVERLAYS) += rpi-proto.dtbo
17 dtbo-$(RPI_DT_OVERLAYS) += rpi-sense.dtbo
18 dtbo-$(RPI_DT_OVERLAYS) += rra-digidac1-wm8741-audio.dtbo
19 +dtbo-$(RPI_DT_OVERLAYS) += sc16is750-i2c.dtbo
20 dtbo-$(RPI_DT_OVERLAYS) += sc16is752-spi1.dtbo
21 dtbo-$(RPI_DT_OVERLAYS) += sdhost.dtbo
22 dtbo-$(RPI_DT_OVERLAYS) += sdio.dtbo
23 --- a/arch/arm/boot/dts/overlays/README
24 +++ b/arch/arm/boot/dts/overlays/README
25 @@ -935,6 +935,16 @@ Load: dtoverlay=rra-digidac1-wm8741-au
26 Params: <None>
27
28
29 +Name: sc16is750-i2c
30 +Info: Overlay for the NXP SC16IS750 UART with I2C Interface
31 + Enables the chip on I2C1 at 0x48. To select another address,
32 + please refer to table 10 in reference manual.
33 +
34 +Load: dtoverlay=sc16is750-i2c,<param>=<val>
35 +Params: int_pin GPIO used for IRQ (default 24)
36 + addr Address (default 0x48)
37 +
38 +
39 Name: sc16is752-spi1
40 Info: Overlay for the NXP SC16IS752 Dual UART with SPI Interface
41 Enables the chip on SPI1.
42 --- /dev/null
43 +++ b/arch/arm/boot/dts/overlays/sc16is750-i2c-overlay.dts
44 @@ -0,0 +1,37 @@
45 +/dts-v1/;
46 +/plugin/;
47 +
48 +/ {
49 + compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709";
50 +
51 + fragment@0 {
52 + target = <&i2c_arm>;
53 + __overlay__ {
54 + #address-cells = <1>;
55 + #size-cells = <0>;
56 + status = "okay";
57 +
58 + sc16is750: sc16is750@48 {
59 + compatible = "nxp,sc16is750";
60 + reg = <0x48>; /* address */
61 + clocks = <&sc16is750_clk>;
62 + interrupt-parent = <&gpio>;
63 + interrupts = <24 2>; /* IRQ_TYPE_EDGE_FALLING */
64 + #gpio-cells = <2>;
65 +
66 + sc16is750_clk: sc16is750_clk {
67 + compatible = "fixed-clock";
68 + #clock-cells = <0>;
69 + clock-frequency = <14745600>;
70 + };
71 + };
72 + };
73 + };
74 +
75 +
76 + __overrides__ {
77 + int_pin = <&sc16is750>,"interrupts:0";
78 + addr = <&sc16is750>,"reg:0";
79 + };
80 +
81 +};