diff options
author | ian <ian@FreeBSD.org> | 2014-05-15 22:03:24 +0000 |
---|---|---|
committer | ian <ian@FreeBSD.org> | 2014-05-15 22:03:24 +0000 |
commit | 2adbcd85c257d4cef2f521b431059e80c05f4d57 (patch) | |
tree | ad43ebb893df8b629c10eba7081a65653d281d9d /sys/boot | |
parent | 4742b38bad2021d36f17b02ec7f94799806ac558 (diff) | |
download | FreeBSD-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.dtsi | 124 | ||||
-rw-r--r-- | sys/boot/fdt/dts/wandboard-dual.dts | 4 | ||||
-rw-r--r-- | sys/boot/fdt/dts/wandboard-quad.dts | 4 | ||||
-rw-r--r-- | sys/boot/fdt/dts/wandboard-solo.dts | 4 |
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"; }; }; |