brcm2708: update linux 4.4 patches to latest version
[oweals/openwrt.git] / target / linux / brcm2708 / patches-4.4 / 0491-overlays-added-sc16is750-UART-over-I2C-1617.patch
1 From 0f34b495557223c0d129bf97a1fb89990cfd83ed 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 +};