summaryrefslogtreecommitdiffstats
path: root/sys/boot
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2014-05-15 22:03:24 +0000
committerian <ian@FreeBSD.org>2014-05-15 22:03:24 +0000
commit2adbcd85c257d4cef2f521b431059e80c05f4d57 (patch)
treead43ebb893df8b629c10eba7081a65653d281d9d /sys/boot
parent4742b38bad2021d36f17b02ec7f94799806ac558 (diff)
downloadFreeBSD-src-2adbcd85c257d4cef2f521b431059e80c05f4d57.zip
FreeBSD-src-2adbcd85c257d4cef2f521b431059e80c05f4d57.tar.gz
MFC r261803, r261808, r261814, r261815, r261816, r261817, r261818, r261826,
r261848, r261855 On armv6 and later, use the WriteNotRead bit of the fault status register to decide what protections are required by the faulting access. Use the right symbols for determining arm architecture. Include the necessary header file which has the new FAULT_WNR symbol defined in it. Allow the kernel to be loaded at any 1MiB address. This requirement is because we use the 1MiB section maps as they only need a single pagetable. Add function for configuring Vybrid PLL4 (Audio) clock frequency output. imx6 changes ... - Fix the definition of the SDHCI_STATE_DAT and SDHCI_STATE_CMD fields, and add SDHCI_RETUNE_REQUEST. None of these are actually used in the code yet. - Write translation code for the SDHCI_PRESENT_STATE register. Freescale moved some bits around in their version of the register, adjust things so that the sdhci code sees the standard layout. - Add standard non-removable and cd-gpios properties to the usdhc devices. That generates references to gpio devices, so uncomment them even though there isn't a gpio driver to do anything with them yet. - Add handling of standard "non-removable" property, and also some workaround code so that if card detect is wired to a gpio pin, for now we just treat it the same as non-removable (because there isn't a gpio driver yet). - Enable both sdcard slots, but not the sdio-based wifi that we don't yet have a driver for. - Remove a couple obsolete function declarations.
Diffstat (limited to 'sys/boot')
-rw-r--r--sys/boot/fdt/dts/imx6.dtsi124
-rw-r--r--sys/boot/fdt/dts/wandboard-dual.dts4
-rw-r--r--sys/boot/fdt/dts/wandboard-quad.dts4
-rw-r--r--sys/boot/fdt/dts/wandboard-solo.dts4
4 files changed, 78 insertions, 58 deletions
diff --git a/sys/boot/fdt/dts/imx6.dtsi b/sys/boot/fdt/dts/imx6.dtsi
index a1aeaf2..e46c55b 100644
--- a/sys/boot/fdt/dts/imx6.dtsi
+++ b/sys/boot/fdt/dts/imx6.dtsi
@@ -112,58 +112,75 @@
// status = "disabled";
// };
-// /*
-// * GPIO modules moved up - to have it attached for
-// * drivers which rely on GPIO
-// */
-// gpio1: gpio@0209C000 {
-// compatible = "fsl,imx51-gpio", "fsl,imx31-gpio";
-// reg = <0x0209C000 0x4000>;
-// interrupt-parent = <&gic>;
-// interrupts = <50 51 42 43 44 45 46 47 48 49>;
-// /* TODO: use <> also */
-// gpio-controller;
-// #gpio-cells = <2>;
-// interrupt-controller;
-// #interrupt-cells = <1>;
-// status = "disabled";
-// };
-//
-// gpio2: gpio@020A0000 {
-// compatible = "fsl,imx51-gpio", "fsl,imx31-gpio";
-// reg = <0x020A0000 0x4000>;
-// interrupt-parent = <&gic>;
-// interrupts = <52 53>;
-// gpio-controller;
-// #gpio-cells = <2>;
-// interrupt-controller;
-// #interrupt-cells = <1>;
-// status = "disabled";
-// };
-//
-// gpio3: gpio@020A4000 {
-// compatible = "fsl,imx51-gpio", "fsl,imx31-gpio";
-// reg = <0x020A4000 0x4000>;
-// interrupt-parent = <&gic>;
-// interrupts = <54 55>;
-// gpio-controller;
-// #gpio-cells = <2>;
-// interrupt-controller;
-// #interrupt-cells = <1>;
-// status = "disabled";
-// };
-//
-// gpio4: gpio@020A8000 {
-// compatible = "fsl,imx51-gpio", "fsl,imx31-gpio";
-// reg = <0x020A8000 0x4000>;
-// interrupt-parent = <&gic>;
-// interrupts = <56 57>;
-// gpio-controller;
-// #gpio-cells = <2>;
-// interrupt-controller;
-// #interrupt-cells = <1>;
-// status = "disabled";
-// };
+ gpio1: gpio@0209c000 {
+ compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
+ reg = <0x0209c000 0x4000>;
+ interrupts = <0 66 0x04 0 67 0x04>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ gpio2: gpio@020a0000 {
+ compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
+ reg = <0x020a0000 0x4000>;
+ interrupts = <0 68 0x04 0 69 0x04>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ gpio3: gpio@020a4000 {
+ compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
+ reg = <0x020a4000 0x4000>;
+ interrupts = <0 70 0x04 0 71 0x04>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ gpio4: gpio@020a8000 {
+ compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
+ reg = <0x020a8000 0x4000>;
+ interrupts = <0 72 0x04 0 73 0x04>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ gpio5: gpio@020ac000 {
+ compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
+ reg = <0x020ac000 0x4000>;
+ interrupts = <0 74 0x04 0 75 0x04>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ gpio6: gpio@020b0000 {
+ compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
+ reg = <0x020b0000 0x4000>;
+ interrupts = <0 76 0x04 0 77 0x04>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ gpio7: gpio@020b4000 {
+ compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
+ reg = <0x020b4000 0x4000>;
+ interrupts = <0 78 0x04 0 79 0x04>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
uart1: serial@02020000 {
compatible = "fsl,imx6q-uart";
@@ -287,6 +304,7 @@
reg = <0x02190000 0x4000>;
interrupt-parent = <&gic>;
interrupts = <54>;
+ cd-gpios = <&gpio1 2 0>;
bus-width = <0x4>;
status ="disabled";
};
@@ -296,6 +314,7 @@
reg = <0x02194000 0x4000>;
interrupt-parent = <&gic>;
interrupts = <55>;
+ non-removable;
bus-width = <0x4>;
status ="disabled";
};
@@ -305,6 +324,7 @@
reg = <0x02198000 0x4000>;
interrupt-parent = <&gic>;
interrupts = <56>;
+ cd-gpios = <&gpio3 9 0>;
bus-width = <0x4>;
status ="disabled";
};
diff --git a/sys/boot/fdt/dts/wandboard-dual.dts b/sys/boot/fdt/dts/wandboard-dual.dts
index 3ffdd69..65a88c4 100644
--- a/sys/boot/fdt/dts/wandboard-dual.dts
+++ b/sys/boot/fdt/dts/wandboard-dual.dts
@@ -67,8 +67,8 @@
usb@02184200 { status = "okay"; };
usb@02184400 { status = "disabled"; };
usb@02184600 { status = "disabled"; };
- usdhc@02190000 { status = "disabled"; };
- usdhc@02194000 { status = "okay"; };
+ usdhc@02190000 { status = "okay"; };
+ usdhc@02194000 { status = "disabled"; };
usdhc@02198000 { status = "okay"; };
usdhc@0219c000 { status = "disabled"; };
};
diff --git a/sys/boot/fdt/dts/wandboard-quad.dts b/sys/boot/fdt/dts/wandboard-quad.dts
index 9b447ac..71c5156 100644
--- a/sys/boot/fdt/dts/wandboard-quad.dts
+++ b/sys/boot/fdt/dts/wandboard-quad.dts
@@ -67,8 +67,8 @@
usb@02184200 { status = "okay"; };
usb@02184400 { status = "disabled"; };
usb@02184600 { status = "disabled"; };
- usdhc@02190000 { status = "disabled"; };
- usdhc@02194000 { status = "okay"; };
+ usdhc@02190000 { status = "okay"; };
+ usdhc@02194000 { status = "disabled"; };
usdhc@02198000 { status = "okay"; };
usdhc@0219c000 { status = "disabled"; };
};
diff --git a/sys/boot/fdt/dts/wandboard-solo.dts b/sys/boot/fdt/dts/wandboard-solo.dts
index 21e1ad8..70e05e0 100644
--- a/sys/boot/fdt/dts/wandboard-solo.dts
+++ b/sys/boot/fdt/dts/wandboard-solo.dts
@@ -67,8 +67,8 @@
usb@02184200 { status = "okay"; };
usb@02184400 { status = "disabled"; };
usb@02184600 { status = "disabled"; };
- usdhc@02190000 { status = "disabled"; };
- usdhc@02194000 { status = "okay"; };
+ usdhc@02190000 { status = "okay"; };
+ usdhc@02194000 { status = "disabled"; };
usdhc@02198000 { status = "okay"; };
usdhc@0219c000 { status = "disabled"; };
};
OpenPOWER on IntegriCloud