mirror of
https://github.com/torvalds/linux.git
synced 2024-12-14 23:25:54 +00:00
This adds support for the mediatek sysirq and the uarts for the following SoCs:
- mt8135 - mt8127 - mt6598 For mt6592 only the sysirq support was added. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJUsuCiAAoJELQ5Ylss8dNDRd4P/3MIYZpFs2uFVn5zeixAjfpI OJQhA8M8XTsa4cO7pI1wcpJsCQJtor+gyQSAgHtTIX0haVDIzBs9hn5zpHk52/lW e4jTGsovGhQGFubHjiX9579ej3gZN58bjEkvSmRSvlKMon572VR/TTshbz1GA0b9 QbvsA8r+HF34jPinh7aDNq67CjS38E4ge9GOda8apgLKgDhM/oUEnTIrDakqZgcg 2FRl/mymO25mAtuJi4Jlk6ecaAZ1kbdL+c4YGAjM9/cCCASPhHJE7fMujrwRiZfY kCwcOMZ/aW5Vi2MviJQY63CH/iBcjj8zvqom080QXWU7XHys6osw3J1OoqVtAivr t+aGhYn86tGcL5mD84c4yXXVMero9SGiJoQXjouusJmbNNOsOReqVpATHdhFMFK0 7DCtHX+Wjg/VKYdQ52cxzdnf1yOv1NiFH4oY+nW/taGVYH2dj6+wvtL7D5kvqlOy UNtNMPgz6gU4BN33xu6LjWHM1q8WmCabYT59ViXNx2z78tJWubxy7GrqqWlRyhPt ghHbMt1kUYOtGmI3EBXaZpxE/wWwsaGGWDEiMQN+sqFD73wOEc40nKh6q7XinhRB PeWywT65UPUsQkR/WiD2s0uqE6UDC3NVFBVyZVpFcGRG+6rNcxt8lnXSuMwzxxBi 2BZHvFXQdwUQhO6QtfKG =Idho -----END PGP SIGNATURE----- Merge tag 'v3.20-next-dts' of https://github.com/mbgg/linux-mediatek into next/dt Merge "ARM: mediatek: DT changes for v3.20 (round 1)" from Matthias Brugger: This adds support for the mediatek sysirq and the uarts for the following SoCs: - mt8135 - mt8127 - mt6598 For mt6592 only the sysirq support was added. * tag 'v3.20-next-dts' of https://github.com/mbgg/linux-mediatek: ARM: mediatek: dts: Add uart to Aquaris5 ARM: mediatek: dts: Add uart to mt6589 dt-bindings: add mt6592 compatible string for mediatek sysirq ARM: mediatek: Add sysirq device node to mt6592 dtsi ARM: mediatek: dts: Add UART dts for MT8127 and MT8135 boards DTS: serial: Add bindings document for the Mediatek UARTs ARM: mediatek: add UART dts for mt8127 and mt8135 ARM: mediatek: Add sysirq in mt6589/mt8135/mt8127 dtsi Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
commit
9a7b711e0c
@ -7,6 +7,7 @@ Required properties:
|
|||||||
- compatible: should be one of:
|
- compatible: should be one of:
|
||||||
"mediatek,mt8135-sysirq"
|
"mediatek,mt8135-sysirq"
|
||||||
"mediatek,mt8127-sysirq"
|
"mediatek,mt8127-sysirq"
|
||||||
|
"mediatek,mt6592-sysirq"
|
||||||
"mediatek,mt6589-sysirq"
|
"mediatek,mt6589-sysirq"
|
||||||
"mediatek,mt6582-sysirq"
|
"mediatek,mt6582-sysirq"
|
||||||
"mediatek,mt6577-sysirq"
|
"mediatek,mt6577-sysirq"
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible should contain:
|
- compatible should contain:
|
||||||
|
* "mediatek,mt8135-uart" for MT8135 compatible UARTS
|
||||||
|
* "mediatek,mt8127-uart" for MT8127 compatible UARTS
|
||||||
* "mediatek,mt6589-uart" for MT6589 compatible UARTS
|
* "mediatek,mt6589-uart" for MT6589 compatible UARTS
|
||||||
* "mediatek,mt6582-uart" for MT6582 compatible UARTS
|
* "mediatek,mt6582-uart" for MT6582 compatible UARTS
|
||||||
* "mediatek,mt6577-uart" for all compatible UARTS (MT6589, MT6582, MT6577)
|
* "mediatek,mt6577-uart" for all compatible UARTS (MT6589, MT6582, MT6577)
|
||||||
|
@ -21,10 +21,20 @@
|
|||||||
compatible = "mundoreader,bq-aquaris5", "mediatek,mt6589";
|
compatible = "mundoreader,bq-aquaris5", "mediatek,mt6589";
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
bootargs = "earlyprintk";
|
bootargs = "console=ttyS0,921600n8 earlyprintk";
|
||||||
|
stdout-path = &uart0;
|
||||||
};
|
};
|
||||||
|
|
||||||
memory {
|
memory {
|
||||||
reg = <0x80000000 0x40000000>;
|
reg = <0x80000000 0x40000000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart3 {
|
||||||
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
/ {
|
/ {
|
||||||
compatible = "mediatek,mt6589";
|
compatible = "mediatek,mt6589";
|
||||||
interrupt-parent = <&gic>;
|
interrupt-parent = <&sysirq>;
|
||||||
|
|
||||||
cpus {
|
cpus {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
@ -65,6 +65,12 @@
|
|||||||
clock-frequency = <32000>;
|
clock-frequency = <32000>;
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
uart_clk: dummy26m {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
clock-frequency = <26000000>;
|
||||||
|
#clock-cells = <0>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
soc {
|
soc {
|
||||||
@ -76,19 +82,61 @@
|
|||||||
timer: timer@10008000 {
|
timer: timer@10008000 {
|
||||||
compatible = "mediatek,mt6577-timer";
|
compatible = "mediatek,mt6577-timer";
|
||||||
reg = <0x10008000 0x80>;
|
reg = <0x10008000 0x80>;
|
||||||
interrupts = <GIC_SPI 113 IRQ_TYPE_EDGE_RISING>;
|
interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_LOW>;
|
||||||
clocks = <&system_clk>, <&rtc_clk>;
|
clocks = <&system_clk>, <&rtc_clk>;
|
||||||
clock-names = "system-clk", "rtc-clk";
|
clock-names = "system-clk", "rtc-clk";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sysirq: interrupt-controller@10200100 {
|
||||||
|
compatible = "mediatek,mt6589-sysirq",
|
||||||
|
"mediatek,mt6577-sysirq";
|
||||||
|
interrupt-controller;
|
||||||
|
#interrupt-cells = <3>;
|
||||||
|
interrupt-parent = <&gic>;
|
||||||
|
reg = <0x10200100 0x1c>;
|
||||||
|
};
|
||||||
|
|
||||||
gic: interrupt-controller@10211000 {
|
gic: interrupt-controller@10211000 {
|
||||||
compatible = "arm,cortex-a7-gic";
|
compatible = "arm,cortex-a7-gic";
|
||||||
interrupt-controller;
|
interrupt-controller;
|
||||||
#interrupt-cells = <3>;
|
#interrupt-cells = <3>;
|
||||||
|
interrupt-parent = <&gic>;
|
||||||
reg = <0x10211000 0x1000>,
|
reg = <0x10211000 0x1000>,
|
||||||
<0x10212000 0x1000>,
|
<0x10212000 0x1000>,
|
||||||
<0x10214000 0x2000>,
|
<0x10214000 0x2000>,
|
||||||
<0x10216000 0x2000>;
|
<0x10216000 0x2000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
uart0: serial@11006000 {
|
||||||
|
compatible = "mediatek,mt6577-uart";
|
||||||
|
reg = <0x11006000 0x400>;
|
||||||
|
interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
clocks = <&uart_clk>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
uart1: serial@11007000 {
|
||||||
|
compatible = "mediatek,mt6577-uart";
|
||||||
|
reg = <0x11007000 0x400>;
|
||||||
|
interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
clocks = <&uart_clk>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
uart2: serial@11008000 {
|
||||||
|
compatible = "mediatek,mt6577-uart";
|
||||||
|
reg = <0x11008000 0x400>;
|
||||||
|
interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
clocks = <&uart_clk>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
uart3: serial@11009000 {
|
||||||
|
compatible = "mediatek,mt6577-uart";
|
||||||
|
reg = <0x11009000 0x400>;
|
||||||
|
interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
clocks = <&uart_clk>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
/ {
|
/ {
|
||||||
compatible = "mediatek,mt6592";
|
compatible = "mediatek,mt6592";
|
||||||
interrupt-parent = <&gic>;
|
interrupt-parent = <&sysirq>;
|
||||||
|
|
||||||
cpus {
|
cpus {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
@ -81,18 +81,25 @@
|
|||||||
timer: timer@10008000 {
|
timer: timer@10008000 {
|
||||||
compatible = "mediatek,mt6577-timer";
|
compatible = "mediatek,mt6577-timer";
|
||||||
reg = <0x10008000 0x80>;
|
reg = <0x10008000 0x80>;
|
||||||
interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_LOW>;
|
||||||
clocks = <&system_clk>, <&rtc_clk>;
|
clocks = <&system_clk>, <&rtc_clk>;
|
||||||
clock-names = "system-clk", "rtc-clk";
|
clock-names = "system-clk", "rtc-clk";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sysirq: interrupt-controller@10200220 {
|
||||||
|
compatible = "mediatek,mt6592-sysirq", "mediatek,mt6577-sysirq";
|
||||||
|
interrupt-controller;
|
||||||
|
#interrupt-cells = <3>;
|
||||||
|
interrupt-parent = <&gic>;
|
||||||
|
reg = <0x10200220 0x1c>;
|
||||||
|
};
|
||||||
|
|
||||||
gic: interrupt-controller@10211000 {
|
gic: interrupt-controller@10211000 {
|
||||||
compatible = "arm,cortex-a7-gic";
|
compatible = "arm,cortex-a7-gic";
|
||||||
interrupt-controller;
|
interrupt-controller;
|
||||||
#interrupt-cells = <3>;
|
#interrupt-cells = <3>;
|
||||||
|
interrupt-parent = <&gic>;
|
||||||
reg = <0x10211000 0x1000>,
|
reg = <0x10211000 0x1000>,
|
||||||
<0x10212000 0x1000>;
|
<0x10212000 0x1000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -23,3 +23,7 @@
|
|||||||
reg = <0 0x80000000 0 0x40000000>;
|
reg = <0 0x80000000 0 0x40000000>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
/ {
|
/ {
|
||||||
compatible = "mediatek,mt8127";
|
compatible = "mediatek,mt8127";
|
||||||
interrupt-parent = <&gic>;
|
interrupt-parent = <&sysirq>;
|
||||||
|
|
||||||
cpus {
|
cpus {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
@ -64,6 +64,12 @@
|
|||||||
clock-frequency = <32000>;
|
clock-frequency = <32000>;
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
uart_clk: dummy26m {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
clock-frequency = <26000000>;
|
||||||
|
#clock-cells = <0>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
soc {
|
soc {
|
||||||
@ -76,19 +82,61 @@
|
|||||||
compatible = "mediatek,mt8127-timer",
|
compatible = "mediatek,mt8127-timer",
|
||||||
"mediatek,mt6577-timer";
|
"mediatek,mt6577-timer";
|
||||||
reg = <0 0x10008000 0 0x80>;
|
reg = <0 0x10008000 0 0x80>;
|
||||||
interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_LOW>;
|
||||||
clocks = <&system_clk>, <&rtc_clk>;
|
clocks = <&system_clk>, <&rtc_clk>;
|
||||||
clock-names = "system-clk", "rtc-clk";
|
clock-names = "system-clk", "rtc-clk";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sysirq: interrupt-controller@10200100 {
|
||||||
|
compatible = "mediatek,mt8127-sysirq",
|
||||||
|
"mediatek,mt6577-sysirq";
|
||||||
|
interrupt-controller;
|
||||||
|
#interrupt-cells = <3>;
|
||||||
|
interrupt-parent = <&gic>;
|
||||||
|
reg = <0 0x10200100 0 0x1c>;
|
||||||
|
};
|
||||||
|
|
||||||
gic: interrupt-controller@10211000 {
|
gic: interrupt-controller@10211000 {
|
||||||
compatible = "arm,cortex-a7-gic";
|
compatible = "arm,cortex-a7-gic";
|
||||||
interrupt-controller;
|
interrupt-controller;
|
||||||
#interrupt-cells = <3>;
|
#interrupt-cells = <3>;
|
||||||
|
interrupt-parent = <&gic>;
|
||||||
reg = <0 0x10211000 0 0x1000>,
|
reg = <0 0x10211000 0 0x1000>,
|
||||||
<0 0x10212000 0 0x1000>,
|
<0 0x10212000 0 0x1000>,
|
||||||
<0 0x10214000 0 0x2000>,
|
<0 0x10214000 0 0x2000>,
|
||||||
<0 0x10216000 0 0x2000>;
|
<0 0x10216000 0 0x2000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
uart0: serial@11006000 {
|
||||||
|
compatible = "mediatek,mt8127-uart","mediatek,mt6577-uart";
|
||||||
|
reg = <0 0x11002000 0 0x400>;
|
||||||
|
interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
clocks = <&uart_clk>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
uart1: serial@11007000 {
|
||||||
|
compatible = "mediatek,mt8127-uart","mediatek,mt6577-uart";
|
||||||
|
reg = <0 0x11003000 0 0x400>;
|
||||||
|
interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
clocks = <&uart_clk>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
uart2: serial@11008000 {
|
||||||
|
compatible = "mediatek,mt8127-uart","mediatek,mt6577-uart";
|
||||||
|
reg = <0 0x11004000 0 0x400>;
|
||||||
|
interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
clocks = <&uart_clk>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
uart3: serial@11009000 {
|
||||||
|
compatible = "mediatek,mt8127-uart","mediatek,mt6577-uart";
|
||||||
|
reg = <0 0x11005000 0 0x400>;
|
||||||
|
interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
clocks = <&uart_clk>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -23,3 +23,7 @@
|
|||||||
reg = <0 0x80000000 0 0x40000000>;
|
reg = <0 0x80000000 0 0x40000000>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&uart3 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
/ {
|
/ {
|
||||||
compatible = "mediatek,mt8135";
|
compatible = "mediatek,mt8135";
|
||||||
interrupt-parent = <&gic>;
|
interrupt-parent = <&sysirq>;
|
||||||
|
|
||||||
cpu-map {
|
cpu-map {
|
||||||
cluster0 {
|
cluster0 {
|
||||||
@ -86,6 +86,13 @@
|
|||||||
clock-frequency = <32000>;
|
clock-frequency = <32000>;
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
uart_clk: dummy26m {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
clock-frequency = <26000000>;
|
||||||
|
#clock-cells = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
soc {
|
soc {
|
||||||
@ -98,19 +105,62 @@
|
|||||||
compatible = "mediatek,mt8135-timer",
|
compatible = "mediatek,mt8135-timer",
|
||||||
"mediatek,mt6577-timer";
|
"mediatek,mt6577-timer";
|
||||||
reg = <0 0x10008000 0 0x80>;
|
reg = <0 0x10008000 0 0x80>;
|
||||||
interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_LOW>;
|
||||||
clocks = <&system_clk>, <&rtc_clk>;
|
clocks = <&system_clk>, <&rtc_clk>;
|
||||||
clock-names = "system-clk", "rtc-clk";
|
clock-names = "system-clk", "rtc-clk";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sysirq: interrupt-controller@10200030 {
|
||||||
|
compatible = "mediatek,mt8135-sysirq",
|
||||||
|
"mediatek,mt6577-sysirq";
|
||||||
|
interrupt-controller;
|
||||||
|
#interrupt-cells = <3>;
|
||||||
|
interrupt-parent = <&gic>;
|
||||||
|
reg = <0 0x10200030 0 0x1c>;
|
||||||
|
};
|
||||||
|
|
||||||
gic: interrupt-controller@10211000 {
|
gic: interrupt-controller@10211000 {
|
||||||
compatible = "arm,cortex-a15-gic";
|
compatible = "arm,cortex-a15-gic";
|
||||||
interrupt-controller;
|
interrupt-controller;
|
||||||
#interrupt-cells = <3>;
|
#interrupt-cells = <3>;
|
||||||
|
interrupt-parent = <&gic>;
|
||||||
reg = <0 0x10211000 0 0x1000>,
|
reg = <0 0x10211000 0 0x1000>,
|
||||||
<0 0x10212000 0 0x1000>,
|
<0 0x10212000 0 0x1000>,
|
||||||
<0 0x10214000 0 0x2000>,
|
<0 0x10214000 0 0x2000>,
|
||||||
<0 0x10216000 0 0x2000>;
|
<0 0x10216000 0 0x2000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
uart0: serial@11006000 {
|
||||||
|
compatible = "mediatek,mt8135-uart","mediatek,mt6577-uart";
|
||||||
|
reg = <0 0x11006000 0 0x400>;
|
||||||
|
interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
clocks = <&uart_clk>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
uart1: serial@11007000 {
|
||||||
|
compatible = "mediatek,mt8135-uart","mediatek,mt6577-uart";
|
||||||
|
reg = <0 0x11007000 0 0x400>;
|
||||||
|
interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
clocks = <&uart_clk>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
uart2: serial@11008000 {
|
||||||
|
compatible = "mediatek,mt8135-uart","mediatek,mt6577-uart";
|
||||||
|
reg = <0 0x11008000 0 0x400>;
|
||||||
|
interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
clocks = <&uart_clk>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
uart3: serial@11009000 {
|
||||||
|
compatible = "mediatek,mt8135-uart","mediatek,mt6577-uart";
|
||||||
|
reg = <0 0x11009000 0 0x400>;
|
||||||
|
interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
clocks = <&uart_clk>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user