Loading arch/arm/boot/dts/qcom/sdxpoorwills-smp2p.dtsi 0 → 100644 +109 −0 Original line number Diff line number Diff line /* Copyright (c) 2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * 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. */ #include <dt-bindings/interrupt-controller/arm-gic.h> &soc { qcom,smp2p-modem@17811008 { compatible = "qcom,smp2p"; reg = <0x17811008 0x4>; qcom,remote-pid = <1>; qcom,irq-bitmask = <0x4000>; interrupts = <GIC_SPI 113 IRQ_TYPE_EDGE_RISING>; }; smp2pgpio_smp2p_15_in: qcom,smp2pgpio-smp2p-15-in { compatible = "qcom,smp2pgpio"; qcom,entry-name = "smp2p"; qcom,remote-pid = <15>; qcom,is-inbound; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; qcom,smp2pgpio_test_smp2p_15_in { compatible = "qcom,smp2pgpio_test_smp2p_15_in"; gpios = <&smp2pgpio_smp2p_15_in 0 0>; }; smp2pgpio_smp2p_15_out: qcom,smp2pgpio-smp2p-15-out { compatible = "qcom,smp2pgpio"; qcom,entry-name = "smp2p"; qcom,remote-pid = <15>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; qcom,smp2pgpio_test_smp2p_15_out { compatible = "qcom,smp2pgpio_test_smp2p_15_out"; gpios = <&smp2pgpio_smp2p_15_out 0 0>; }; smp2pgpio_smp2p_1_in: qcom,smp2pgpio-smp2p-1-in { compatible = "qcom,smp2pgpio"; qcom,entry-name = "smp2p"; qcom,remote-pid = <1>; qcom,is-inbound; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; qcom,smp2pgpio_test_smp2p_1_in { compatible = "qcom,smp2pgpio_test_smp2p_1_in"; gpios = <&smp2pgpio_smp2p_1_in 0 0>; }; smp2pgpio_smp2p_1_out: qcom,smp2pgpio-smp2p-1-out { compatible = "qcom,smp2pgpio"; qcom,entry-name = "smp2p"; qcom,remote-pid = <1>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; qcom,smp2pgpio_test_smp2p_1_out { compatible = "qcom,smp2pgpio_test_smp2p_1_out"; gpios = <&smp2pgpio_smp2p_1_out 0 0>; }; /* ssr - inbound entry from mss */ smp2pgpio_ssr_smp2p_1_in: qcom,smp2pgpio-ssr-smp2p-1-in { compatible = "qcom,smp2pgpio"; qcom,entry-name = "slave-kernel"; qcom,remote-pid = <1>; qcom,is-inbound; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; /* ssr - outbound entry to mss */ smp2pgpio_ssr_smp2p_1_out: qcom,smp2pgpio-ssr-smp2p-1-out { compatible = "qcom,smp2pgpio"; qcom,entry-name = "master-kernel"; qcom,remote-pid = <1>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; }; arch/arm/boot/dts/qcom/sdxpoorwills.dtsi +133 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,13 @@ reg = <0x8fd00000 0x300000>; label = "peripheral2_mem"; }; mss_mem: mss_region@87800000 { compatible = "removed-dma-pool"; no-map; reg = <0x87800000 0x8000000>; label = "mss_mem"; }; }; cpus { Loading Loading @@ -324,8 +331,134 @@ #interrupt-cells = <4>; cell-index = <0>; }; qcom,ipc-spinlock@1f40000 { compatible = "qcom,ipc-spinlock-sfpb"; reg = <0x1f40000 0x8000>; qcom,num-locks = <8>; }; qcom,smem@8fe40000 { compatible = "qcom,smem"; reg = <0x8fe40000 0xc0000>, <0x17811008 0x4>, <0x1fd4000 0x8>; reg-names = "smem", "irq-reg-base", "smem_targ_info_reg"; qcom,mpu-enabled; }; qcom,glink-smem-native-xprt-modem@8fe40000 { compatible = "qcom,glink-smem-native-xprt"; reg = <0x8fe40000 0xc0000>, <0x17811008 0x4>; reg-names = "smem", "irq-reg-base"; qcom,irq-mask = <0x1000>; interrupts = <GIC_SPI 111 IRQ_TYPE_EDGE_RISING>; label = "mpss"; }; qcom,ipc_router { compatible = "qcom,ipc_router"; qcom,node-id = <1>; }; qcom,ipc_router_modem_xprt { compatible = "qcom,ipc_router_glink_xprt"; qcom,ch-name = "IPCRTR"; qcom,xprt-remote = "mpss"; qcom,glink-xprt = "smem"; qcom,xprt-linkid = <1>; qcom,xprt-version = <1>; qcom,fragmented-data; }; qcom,glink_pkt { compatible = "qcom,glinkpkt"; qcom,glinkpkt-at-mdm0 { qcom,glinkpkt-transport = "smem"; qcom,glinkpkt-edge = "mpss"; qcom,glinkpkt-ch-name = "DS"; qcom,glinkpkt-dev-name = "at_mdm0"; }; qcom,glinkpkt-loopback_cntl { qcom,glinkpkt-transport = "lloop"; qcom,glinkpkt-edge = "local"; qcom,glinkpkt-ch-name = "LOCAL_LOOPBACK_CLNT"; qcom,glinkpkt-dev-name = "glink_pkt_loopback_ctrl"; }; qcom,glinkpkt-loopback_data { qcom,glinkpkt-transport = "lloop"; qcom,glinkpkt-edge = "local"; qcom,glinkpkt-ch-name = "glink_pkt_lloop_CLNT"; qcom,glinkpkt-dev-name = "glink_pkt_loopback"; }; qcom,glinkpkt-data40-cntl { qcom,glinkpkt-transport = "smem"; qcom,glinkpkt-edge = "mpss"; qcom,glinkpkt-ch-name = "DATA40_CNTL"; qcom,glinkpkt-dev-name = "smdcntl8"; }; qcom,glinkpkt-data1 { qcom,glinkpkt-transport = "smem"; qcom,glinkpkt-edge = "mpss"; qcom,glinkpkt-ch-name = "DATA1"; qcom,glinkpkt-dev-name = "smd7"; }; qcom,glinkpkt-data4 { qcom,glinkpkt-transport = "smem"; qcom,glinkpkt-edge = "mpss"; qcom,glinkpkt-ch-name = "DATA4"; qcom,glinkpkt-dev-name = "smd8"; }; qcom,glinkpkt-data11 { qcom,glinkpkt-transport = "smem"; qcom,glinkpkt-edge = "mpss"; qcom,glinkpkt-ch-name = "DATA11"; qcom,glinkpkt-dev-name = "smd11"; }; }; pil_modem: qcom,mss@4080000 { compatible = "qcom,pil-tz-generic"; reg = <0x4080000 0x100>; interrupts = <0 250 1>; clocks = <&clock_rpmh RPMH_CXO_CLK>; clock-names = "xo"; qcom,proxy-clock-names = "xo"; vdd_cx-supply = <&pmxpoorwills_s5_level>; qcom,proxy-reg-names = "vdd_cx"; qcom,pas-id = <0>; qcom,smem-id = <421>; qcom,proxy-timeout-ms = <10000>; qcom,sysmon-id = <0>; qcom,ssctl-instance-id = <0x12>; qcom,firmware-name = "modem"; memory-region = <&mss_mem>; status = "ok"; /* GPIO inputs from mss */ qcom,gpio-err-fatal = <&smp2pgpio_ssr_smp2p_1_in 0 0>; qcom,gpio-err-ready = <&smp2pgpio_ssr_smp2p_1_in 1 0>; qcom,gpio-proxy-unvote = <&smp2pgpio_ssr_smp2p_1_in 2 0>; qcom,gpio-stop-ack = <&smp2pgpio_ssr_smp2p_1_in 3 0>; /* GPIO output to mss */ qcom,gpio-force-stop = <&smp2pgpio_ssr_smp2p_1_out 0 0>; }; }; #include "pmxpoorwills.dtsi" #include "sdxpoorwills-regulator.dtsi" #include "sdxpoorwills-smp2p.dtsi" #include "sdxpoorwills-usb.dtsi" arch/arm/configs/sdxpoorwills-perf_defconfig +5 −0 Original line number Diff line number Diff line Loading @@ -280,10 +280,15 @@ CONFIG_MAILBOX=y CONFIG_QCOM_SCM=y CONFIG_MSM_BOOT_STATS=y CONFIG_MSM_SMEM=y CONFIG_MSM_GLINK=y CONFIG_MSM_GLINK_LOOPBACK_SERVER=y CONFIG_MSM_GLINK_SMEM_NATIVE_XPRT=y CONFIG_TRACER_PKT=y CONFIG_MSM_SMP2P=y CONFIG_MSM_SMP2P_TEST=y CONFIG_MSM_IPC_ROUTER_GLINK_XPRT=y CONFIG_MSM_QMI_INTERFACE=y CONFIG_MSM_GLINK_PKT=y CONFIG_MSM_SUBSYSTEM_RESTART=y CONFIG_MSM_PIL=y CONFIG_MSM_PIL_SSR_GENERIC=y Loading arch/arm/configs/sdxpoorwills_defconfig +10 −3 Original line number Diff line number Diff line Loading @@ -204,6 +204,7 @@ CONFIG_QCOM_DLOAD_MODE=y CONFIG_POWER_SUPPLY=y CONFIG_THERMAL=y CONFIG_THERMAL_TSENS=y CONFIG_MFD_SYSCON=y CONFIG_MSM_CDC_PINCTRL=y CONFIG_MSM_CDC_SUPPLY=y CONFIG_REGULATOR=y Loading Loading @@ -272,14 +273,20 @@ CONFIG_RNDIS_IPA=y CONFIG_IPA_UT=y CONFIG_SPS=y CONFIG_SPS_SUPPORT_NDP_BAM=y CONFIG_HWSPINLOCK_QCOM=y CONFIG_REMOTE_SPINLOCK_MSM=y CONFIG_MAILBOX=y CONFIG_QCOM_SMEM=y CONFIG_QCOM_SMD=y CONFIG_QCOM_SCM=y CONFIG_MSM_BOOT_STATS=y CONFIG_MSM_SMEM=y CONFIG_MSM_GLINK=y CONFIG_MSM_GLINK_LOOPBACK_SERVER=y CONFIG_MSM_GLINK_SMEM_NATIVE_XPRT=y CONFIG_TRACER_PKT=y CONFIG_MSM_SMP2P=y CONFIG_MSM_SMP2P_TEST=y CONFIG_MSM_IPC_ROUTER_GLINK_XPRT=y CONFIG_MSM_QMI_INTERFACE=y CONFIG_MSM_GLINK_PKT=y CONFIG_MSM_SUBSYSTEM_RESTART=y CONFIG_MSM_PIL=y CONFIG_MSM_PIL_SSR_GENERIC=y Loading Loading
arch/arm/boot/dts/qcom/sdxpoorwills-smp2p.dtsi 0 → 100644 +109 −0 Original line number Diff line number Diff line /* Copyright (c) 2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * 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. */ #include <dt-bindings/interrupt-controller/arm-gic.h> &soc { qcom,smp2p-modem@17811008 { compatible = "qcom,smp2p"; reg = <0x17811008 0x4>; qcom,remote-pid = <1>; qcom,irq-bitmask = <0x4000>; interrupts = <GIC_SPI 113 IRQ_TYPE_EDGE_RISING>; }; smp2pgpio_smp2p_15_in: qcom,smp2pgpio-smp2p-15-in { compatible = "qcom,smp2pgpio"; qcom,entry-name = "smp2p"; qcom,remote-pid = <15>; qcom,is-inbound; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; qcom,smp2pgpio_test_smp2p_15_in { compatible = "qcom,smp2pgpio_test_smp2p_15_in"; gpios = <&smp2pgpio_smp2p_15_in 0 0>; }; smp2pgpio_smp2p_15_out: qcom,smp2pgpio-smp2p-15-out { compatible = "qcom,smp2pgpio"; qcom,entry-name = "smp2p"; qcom,remote-pid = <15>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; qcom,smp2pgpio_test_smp2p_15_out { compatible = "qcom,smp2pgpio_test_smp2p_15_out"; gpios = <&smp2pgpio_smp2p_15_out 0 0>; }; smp2pgpio_smp2p_1_in: qcom,smp2pgpio-smp2p-1-in { compatible = "qcom,smp2pgpio"; qcom,entry-name = "smp2p"; qcom,remote-pid = <1>; qcom,is-inbound; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; qcom,smp2pgpio_test_smp2p_1_in { compatible = "qcom,smp2pgpio_test_smp2p_1_in"; gpios = <&smp2pgpio_smp2p_1_in 0 0>; }; smp2pgpio_smp2p_1_out: qcom,smp2pgpio-smp2p-1-out { compatible = "qcom,smp2pgpio"; qcom,entry-name = "smp2p"; qcom,remote-pid = <1>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; qcom,smp2pgpio_test_smp2p_1_out { compatible = "qcom,smp2pgpio_test_smp2p_1_out"; gpios = <&smp2pgpio_smp2p_1_out 0 0>; }; /* ssr - inbound entry from mss */ smp2pgpio_ssr_smp2p_1_in: qcom,smp2pgpio-ssr-smp2p-1-in { compatible = "qcom,smp2pgpio"; qcom,entry-name = "slave-kernel"; qcom,remote-pid = <1>; qcom,is-inbound; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; /* ssr - outbound entry to mss */ smp2pgpio_ssr_smp2p_1_out: qcom,smp2pgpio-ssr-smp2p-1-out { compatible = "qcom,smp2pgpio"; qcom,entry-name = "master-kernel"; qcom,remote-pid = <1>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; };
arch/arm/boot/dts/qcom/sdxpoorwills.dtsi +133 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,13 @@ reg = <0x8fd00000 0x300000>; label = "peripheral2_mem"; }; mss_mem: mss_region@87800000 { compatible = "removed-dma-pool"; no-map; reg = <0x87800000 0x8000000>; label = "mss_mem"; }; }; cpus { Loading Loading @@ -324,8 +331,134 @@ #interrupt-cells = <4>; cell-index = <0>; }; qcom,ipc-spinlock@1f40000 { compatible = "qcom,ipc-spinlock-sfpb"; reg = <0x1f40000 0x8000>; qcom,num-locks = <8>; }; qcom,smem@8fe40000 { compatible = "qcom,smem"; reg = <0x8fe40000 0xc0000>, <0x17811008 0x4>, <0x1fd4000 0x8>; reg-names = "smem", "irq-reg-base", "smem_targ_info_reg"; qcom,mpu-enabled; }; qcom,glink-smem-native-xprt-modem@8fe40000 { compatible = "qcom,glink-smem-native-xprt"; reg = <0x8fe40000 0xc0000>, <0x17811008 0x4>; reg-names = "smem", "irq-reg-base"; qcom,irq-mask = <0x1000>; interrupts = <GIC_SPI 111 IRQ_TYPE_EDGE_RISING>; label = "mpss"; }; qcom,ipc_router { compatible = "qcom,ipc_router"; qcom,node-id = <1>; }; qcom,ipc_router_modem_xprt { compatible = "qcom,ipc_router_glink_xprt"; qcom,ch-name = "IPCRTR"; qcom,xprt-remote = "mpss"; qcom,glink-xprt = "smem"; qcom,xprt-linkid = <1>; qcom,xprt-version = <1>; qcom,fragmented-data; }; qcom,glink_pkt { compatible = "qcom,glinkpkt"; qcom,glinkpkt-at-mdm0 { qcom,glinkpkt-transport = "smem"; qcom,glinkpkt-edge = "mpss"; qcom,glinkpkt-ch-name = "DS"; qcom,glinkpkt-dev-name = "at_mdm0"; }; qcom,glinkpkt-loopback_cntl { qcom,glinkpkt-transport = "lloop"; qcom,glinkpkt-edge = "local"; qcom,glinkpkt-ch-name = "LOCAL_LOOPBACK_CLNT"; qcom,glinkpkt-dev-name = "glink_pkt_loopback_ctrl"; }; qcom,glinkpkt-loopback_data { qcom,glinkpkt-transport = "lloop"; qcom,glinkpkt-edge = "local"; qcom,glinkpkt-ch-name = "glink_pkt_lloop_CLNT"; qcom,glinkpkt-dev-name = "glink_pkt_loopback"; }; qcom,glinkpkt-data40-cntl { qcom,glinkpkt-transport = "smem"; qcom,glinkpkt-edge = "mpss"; qcom,glinkpkt-ch-name = "DATA40_CNTL"; qcom,glinkpkt-dev-name = "smdcntl8"; }; qcom,glinkpkt-data1 { qcom,glinkpkt-transport = "smem"; qcom,glinkpkt-edge = "mpss"; qcom,glinkpkt-ch-name = "DATA1"; qcom,glinkpkt-dev-name = "smd7"; }; qcom,glinkpkt-data4 { qcom,glinkpkt-transport = "smem"; qcom,glinkpkt-edge = "mpss"; qcom,glinkpkt-ch-name = "DATA4"; qcom,glinkpkt-dev-name = "smd8"; }; qcom,glinkpkt-data11 { qcom,glinkpkt-transport = "smem"; qcom,glinkpkt-edge = "mpss"; qcom,glinkpkt-ch-name = "DATA11"; qcom,glinkpkt-dev-name = "smd11"; }; }; pil_modem: qcom,mss@4080000 { compatible = "qcom,pil-tz-generic"; reg = <0x4080000 0x100>; interrupts = <0 250 1>; clocks = <&clock_rpmh RPMH_CXO_CLK>; clock-names = "xo"; qcom,proxy-clock-names = "xo"; vdd_cx-supply = <&pmxpoorwills_s5_level>; qcom,proxy-reg-names = "vdd_cx"; qcom,pas-id = <0>; qcom,smem-id = <421>; qcom,proxy-timeout-ms = <10000>; qcom,sysmon-id = <0>; qcom,ssctl-instance-id = <0x12>; qcom,firmware-name = "modem"; memory-region = <&mss_mem>; status = "ok"; /* GPIO inputs from mss */ qcom,gpio-err-fatal = <&smp2pgpio_ssr_smp2p_1_in 0 0>; qcom,gpio-err-ready = <&smp2pgpio_ssr_smp2p_1_in 1 0>; qcom,gpio-proxy-unvote = <&smp2pgpio_ssr_smp2p_1_in 2 0>; qcom,gpio-stop-ack = <&smp2pgpio_ssr_smp2p_1_in 3 0>; /* GPIO output to mss */ qcom,gpio-force-stop = <&smp2pgpio_ssr_smp2p_1_out 0 0>; }; }; #include "pmxpoorwills.dtsi" #include "sdxpoorwills-regulator.dtsi" #include "sdxpoorwills-smp2p.dtsi" #include "sdxpoorwills-usb.dtsi"
arch/arm/configs/sdxpoorwills-perf_defconfig +5 −0 Original line number Diff line number Diff line Loading @@ -280,10 +280,15 @@ CONFIG_MAILBOX=y CONFIG_QCOM_SCM=y CONFIG_MSM_BOOT_STATS=y CONFIG_MSM_SMEM=y CONFIG_MSM_GLINK=y CONFIG_MSM_GLINK_LOOPBACK_SERVER=y CONFIG_MSM_GLINK_SMEM_NATIVE_XPRT=y CONFIG_TRACER_PKT=y CONFIG_MSM_SMP2P=y CONFIG_MSM_SMP2P_TEST=y CONFIG_MSM_IPC_ROUTER_GLINK_XPRT=y CONFIG_MSM_QMI_INTERFACE=y CONFIG_MSM_GLINK_PKT=y CONFIG_MSM_SUBSYSTEM_RESTART=y CONFIG_MSM_PIL=y CONFIG_MSM_PIL_SSR_GENERIC=y Loading
arch/arm/configs/sdxpoorwills_defconfig +10 −3 Original line number Diff line number Diff line Loading @@ -204,6 +204,7 @@ CONFIG_QCOM_DLOAD_MODE=y CONFIG_POWER_SUPPLY=y CONFIG_THERMAL=y CONFIG_THERMAL_TSENS=y CONFIG_MFD_SYSCON=y CONFIG_MSM_CDC_PINCTRL=y CONFIG_MSM_CDC_SUPPLY=y CONFIG_REGULATOR=y Loading Loading @@ -272,14 +273,20 @@ CONFIG_RNDIS_IPA=y CONFIG_IPA_UT=y CONFIG_SPS=y CONFIG_SPS_SUPPORT_NDP_BAM=y CONFIG_HWSPINLOCK_QCOM=y CONFIG_REMOTE_SPINLOCK_MSM=y CONFIG_MAILBOX=y CONFIG_QCOM_SMEM=y CONFIG_QCOM_SMD=y CONFIG_QCOM_SCM=y CONFIG_MSM_BOOT_STATS=y CONFIG_MSM_SMEM=y CONFIG_MSM_GLINK=y CONFIG_MSM_GLINK_LOOPBACK_SERVER=y CONFIG_MSM_GLINK_SMEM_NATIVE_XPRT=y CONFIG_TRACER_PKT=y CONFIG_MSM_SMP2P=y CONFIG_MSM_SMP2P_TEST=y CONFIG_MSM_IPC_ROUTER_GLINK_XPRT=y CONFIG_MSM_QMI_INTERFACE=y CONFIG_MSM_GLINK_PKT=y CONFIG_MSM_SUBSYSTEM_RESTART=y CONFIG_MSM_PIL=y CONFIG_MSM_PIL_SSR_GENERIC=y Loading