Lines Matching +full:on +full:- +full:soc

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
68 * interrupt controller, which is for use when the chip is in deep-sleep mode.
69 * We don't support deep sleep or have a GPC-PIC driver; we need all interrupts
73 * parent for the soc node and letting that get inherited by all other devices
75 * set the world right by just changing the interrupt-parent property of the soc
79 * 2020/11/25: The tempmon and pmu nodes are siblings (not children) of the soc
81 * for the soc node.
84 * - SOC node exists and has GPC as its interrupt parent.
85 * - GPC node exists and has GIC as its interrupt parent.
86 * - GIC node exists and is its own interrupt parent or has no parent.
89 * involved at the same addresses on the same buses, so we don't need any
90 * per-soc logic. We handle this at platform attach time rather than via the
91 * fdt_fixup_table, because the latter requires matching on the FDT "model"
94 * This just in: as of the import of dts files from linux 4.15 on 2018-02-10,
96 * zeroes in the @address qualifiers on node names. Since we have to find those
104 static const char *propname = "interrupt-parent"; in fix_node_iparent()
107 if ((node = OF_finddevice(nodepath)) == -1) in fix_node_iparent()
124 /* GIC node may be child of soc node, or appear directly at root. */ in fix_fdt_interrupt_data()
125 gicnode = OF_finddevice("/soc/interrupt-controller@00a01000"); in fix_fdt_interrupt_data()
126 if (gicnode == -1) in fix_fdt_interrupt_data()
127 gicnode = OF_finddevice("/soc/interrupt-controller@a01000"); in fix_fdt_interrupt_data()
128 if (gicnode == -1) { in fix_fdt_interrupt_data()
129 gicnode = OF_finddevice("/interrupt-controller@00a01000"); in fix_fdt_interrupt_data()
130 if (gicnode == -1) in fix_fdt_interrupt_data()
131 gicnode = OF_finddevice("/interrupt-controller@a01000"); in fix_fdt_interrupt_data()
132 if (gicnode == -1) in fix_fdt_interrupt_data()
138 result = OF_getencprop(gicnode, "interrupt-parent", &gicipar, in fix_fdt_interrupt_data()
143 gpcnode = OF_finddevice("/soc/aips-bus@02000000/gpc@020dc000"); in fix_fdt_interrupt_data()
144 if (gpcnode == -1) in fix_fdt_interrupt_data()
145 gpcnode = OF_finddevice("/soc/aips-bus@2000000/gpc@20dc000"); in fix_fdt_interrupt_data()
146 if (gpcnode == -1) in fix_fdt_interrupt_data()
147 gpcnode = OF_finddevice("/soc/bus@2000000/gpc@20dc000"); in fix_fdt_interrupt_data()
148 if (gpcnode == -1) in fix_fdt_interrupt_data()
150 result = OF_getencprop(gpcnode, "interrupt-parent", &gpcipar, in fix_fdt_interrupt_data()
160 fix_node_iparent("/soc", gpcxref, gicxref); in fix_fdt_interrupt_data()
172 * iomuxc-gpr and the regular iomuxc. The -grp node is a simple_mfd and in fix_fdt_iomuxc_data()
177 * range because it partially overlaps with the -gpr range. in fix_fdt_iomuxc_data()
180 * just disable the iomuxc-gpr node because we don't have a driver for in fix_fdt_iomuxc_data()
183 * If we ever write a -gpr driver, this code should probably switch to in fix_fdt_iomuxc_data()
185 * regs, then the -gpr driver can be a regular syscon driver that iomuxc in fix_fdt_iomuxc_data()
188 node = OF_finddevice("/soc/aips-bus@2000000/iomuxc-gpr@20e0000"); in fix_fdt_iomuxc_data()
189 if (node == -1) in fix_fdt_iomuxc_data()
190 node = OF_finddevice("/soc/bus@2000000/iomuxc-gpr@20e0000"); in fix_fdt_iomuxc_data()
191 if (node != -1) in fix_fdt_iomuxc_data()
199 /* Fix soc interrupt-parent property. */ in imx6_attach()
202 /* Fix iomuxc-gpr and iomuxc nodes both using the same mmio range. */ in imx6_attach()
222 * This attempts to cover the most-used devices with 1MB section mappings, which
228 * AIPS1/AIPS2 cover most of the on-chip devices such as uart, spi, i2c, etc.
261 * Determine what flavor of imx6 we're running on.
263 * This code is based on the way u-boot does it. Information found on the web
266 * register, which is apparently needed on some revisions of the SOLO.
269 * (non-lite flavor). However, Freescale doesn't seem to have assigned it a
275 * register may be ncpu-1.
277 * This hasn't been tested yet on a dual[-lite].
279 * On a solo:
283 * On a quad:
359 * duplicate symbol to be eliminated on the path to a generic kernel.