[U-Boot] [PATCH RFC 3/7] omap3630: Copy Device tree from Linux 4.9.y stable

Lokesh Vutla lokeshvutla at ti.com
Tue Apr 11 02:03:59 UTC 2017



On Tuesday 11 April 2017 03:42 AM, Adam Ford wrote:
> Add device tree support to allow for CONFIG_OF_CONTROL in OMAP3630 boards.
> DM3730 can use this same device tree.
> 
> Signed-off-by: Adam Ford <aford173 at gmail.com>

Reviewed-by: Lokesh Vutla <lokeshvutla at ti.com>

Thanks and regards,
Lokesh

> 
> diff --git a/arch/arm/dts/omap34xx-omap36xx-clocks.dtsi b/arch/arm/dts/omap34xx-omap36xx-clocks.dtsi
> new file mode 100644
> index 0000000..db47f12
> --- /dev/null
> +++ b/arch/arm/dts/omap34xx-omap36xx-clocks.dtsi
> @@ -0,0 +1,268 @@
> +/*
> + * Device Tree Source for OMAP34XX/OMAP36XX clock data
> + *
> + * Copyright (C) 2013 Texas Instruments, Inc.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + */
> +&cm_clocks {
> +       security_l4_ick2: security_l4_ick2 {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&l4_ick>;
> +               clock-mult = <1>;
> +               clock-div = <1>;
> +       };
> +
> +       aes1_ick: aes1_ick at a14 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-interface-clock";
> +               clocks = <&security_l4_ick2>;
> +               ti,bit-shift = <3>;
> +               reg = <0x0a14>;
> +       };
> +
> +       rng_ick: rng_ick at a14 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-interface-clock";
> +               clocks = <&security_l4_ick2>;
> +               reg = <0x0a14>;
> +               ti,bit-shift = <2>;
> +       };
> +
> +       sha11_ick: sha11_ick at a14 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-interface-clock";
> +               clocks = <&security_l4_ick2>;
> +               reg = <0x0a14>;
> +               ti,bit-shift = <1>;
> +       };
> +
> +       des1_ick: des1_ick at a14 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-interface-clock";
> +               clocks = <&security_l4_ick2>;
> +               reg = <0x0a14>;
> +               ti,bit-shift = <0>;
> +       };
> +
> +       cam_mclk: cam_mclk at f00 {
> +               #clock-cells = <0>;
> +               compatible = "ti,gate-clock";
> +               clocks = <&dpll4_m5x2_ck>;
> +               ti,bit-shift = <0>;
> +               reg = <0x0f00>;
> +               ti,set-rate-parent;
> +       };
> +
> +       cam_ick: cam_ick at f10 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-no-wait-interface-clock";
> +               clocks = <&l4_ick>;
> +               reg = <0x0f10>;
> +               ti,bit-shift = <0>;
> +       };
> +
> +       csi2_96m_fck: csi2_96m_fck at f00 {
> +               #clock-cells = <0>;
> +               compatible = "ti,gate-clock";
> +               clocks = <&core_96m_fck>;
> +               reg = <0x0f00>;
> +               ti,bit-shift = <1>;
> +       };
> +
> +       security_l3_ick: security_l3_ick {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&l3_ick>;
> +               clock-mult = <1>;
> +               clock-div = <1>;
> +       };
> +
> +       pka_ick: pka_ick at a14 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-interface-clock";
> +               clocks = <&security_l3_ick>;
> +               reg = <0x0a14>;
> +               ti,bit-shift = <4>;
> +       };
> +
> +       icr_ick: icr_ick at a10 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-interface-clock";
> +               clocks = <&core_l4_ick>;
> +               reg = <0x0a10>;
> +               ti,bit-shift = <29>;
> +       };
> +
> +       des2_ick: des2_ick at a10 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-interface-clock";
> +               clocks = <&core_l4_ick>;
> +               reg = <0x0a10>;
> +               ti,bit-shift = <26>;
> +       };
> +
> +       mspro_ick: mspro_ick at a10 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-interface-clock";
> +               clocks = <&core_l4_ick>;
> +               reg = <0x0a10>;
> +               ti,bit-shift = <23>;
> +       };
> +
> +       mailboxes_ick: mailboxes_ick at a10 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-interface-clock";
> +               clocks = <&core_l4_ick>;
> +               reg = <0x0a10>;
> +               ti,bit-shift = <7>;
> +       };
> +
> +       ssi_l4_ick: ssi_l4_ick {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&l4_ick>;
> +               clock-mult = <1>;
> +               clock-div = <1>;
> +       };
> +
> +       sr1_fck: sr1_fck at c00 {
> +               #clock-cells = <0>;
> +               compatible = "ti,wait-gate-clock";
> +               clocks = <&sys_ck>;
> +               reg = <0x0c00>;
> +               ti,bit-shift = <6>;
> +       };
> +
> +       sr2_fck: sr2_fck at c00 {
> +               #clock-cells = <0>;
> +               compatible = "ti,wait-gate-clock";
> +               clocks = <&sys_ck>;
> +               reg = <0x0c00>;
> +               ti,bit-shift = <7>;
> +       };
> +
> +       sr_l4_ick: sr_l4_ick {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&l4_ick>;
> +               clock-mult = <1>;
> +               clock-div = <1>;
> +       };
> +
> +       dpll2_fck: dpll2_fck at 40 {
> +               #clock-cells = <0>;
> +               compatible = "ti,divider-clock";
> +               clocks = <&core_ck>;
> +               ti,bit-shift = <19>;
> +               ti,max-div = <7>;
> +               reg = <0x0040>;
> +               ti,index-starts-at-one;
> +       };
> +
> +       dpll2_ck: dpll2_ck at 4 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-dpll-clock";
> +               clocks = <&sys_ck>, <&dpll2_fck>;
> +               reg = <0x0004>, <0x0024>, <0x0040>, <0x0034>;
> +               ti,low-power-stop;
> +               ti,lock;
> +               ti,low-power-bypass;
> +       };
> +
> +       dpll2_m2_ck: dpll2_m2_ck at 44 {
> +               #clock-cells = <0>;
> +               compatible = "ti,divider-clock";
> +               clocks = <&dpll2_ck>;
> +               ti,max-div = <31>;
> +               reg = <0x0044>;
> +               ti,index-starts-at-one;
> +       };
> +
> +       iva2_ck: iva2_ck at 0 {
> +               #clock-cells = <0>;
> +               compatible = "ti,wait-gate-clock";
> +               clocks = <&dpll2_m2_ck>;
> +               reg = <0x0000>;
> +               ti,bit-shift = <0>;
> +       };
> +
> +       modem_fck: modem_fck at a00 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-interface-clock";
> +               clocks = <&sys_ck>;
> +               reg = <0x0a00>;
> +               ti,bit-shift = <31>;
> +       };
> +
> +       sad2d_ick: sad2d_ick at a10 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-interface-clock";
> +               clocks = <&l3_ick>;
> +               reg = <0x0a10>;
> +               ti,bit-shift = <3>;
> +       };
> +
> +       mad2d_ick: mad2d_ick at a18 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-interface-clock";
> +               clocks = <&l3_ick>;
> +               reg = <0x0a18>;
> +               ti,bit-shift = <3>;
> +       };
> +
> +       mspro_fck: mspro_fck at a00 {
> +               #clock-cells = <0>;
> +               compatible = "ti,wait-gate-clock";
> +               clocks = <&core_96m_fck>;
> +               reg = <0x0a00>;
> +               ti,bit-shift = <23>;
> +       };
> +};
> +
> +&cm_clockdomains {
> +       cam_clkdm: cam_clkdm {
> +               compatible = "ti,clockdomain";
> +               clocks = <&cam_ick>, <&csi2_96m_fck>;
> +       };
> +
> +       iva2_clkdm: iva2_clkdm {
> +               compatible = "ti,clockdomain";
> +               clocks = <&iva2_ck>;
> +       };
> +
> +       dpll2_clkdm: dpll2_clkdm {
> +               compatible = "ti,clockdomain";
> +               clocks = <&dpll2_ck>;
> +       };
> +
> +       wkup_clkdm: wkup_clkdm {
> +               compatible = "ti,clockdomain";
> +               clocks = <&gpio1_dbck>, <&wdt2_fck>, <&wdt2_ick>, <&wdt1_ick>,
> +                        <&gpio1_ick>, <&omap_32ksync_ick>, <&gpt12_ick>,
> +                        <&gpt1_ick>, <&sr1_fck>, <&sr2_fck>;
> +       };
> +
> +       d2d_clkdm: d2d_clkdm {
> +               compatible = "ti,clockdomain";
> +               clocks = <&modem_fck>, <&sad2d_ick>, <&mad2d_ick>;
> +       };
> +
> +       core_l4_clkdm: core_l4_clkdm {
> +               compatible = "ti,clockdomain";
> +               clocks = <&mmchs2_fck>, <&mmchs1_fck>, <&i2c3_fck>, <&i2c2_fck>,
> +                        <&i2c1_fck>, <&mcspi4_fck>, <&mcspi3_fck>,
> +                        <&mcspi2_fck>, <&mcspi1_fck>, <&uart2_fck>,
> +                        <&uart1_fck>, <&hdq_fck>, <&mmchs2_ick>, <&mmchs1_ick>,
> +                        <&hdq_ick>, <&mcspi4_ick>, <&mcspi3_ick>,
> +                        <&mcspi2_ick>, <&mcspi1_ick>, <&i2c3_ick>, <&i2c2_ick>,
> +                        <&i2c1_ick>, <&uart2_ick>, <&uart1_ick>, <&gpt11_ick>,
> +                        <&gpt10_ick>, <&mcbsp5_ick>, <&mcbsp1_ick>,
> +                        <&omapctrl_ick>, <&aes2_ick>, <&sha12_ick>, <&icr_ick>,
> +                        <&des2_ick>, <&mspro_ick>, <&mailboxes_ick>,
> +                        <&mspro_fck>;
> +       };
> +};
> diff --git a/arch/arm/dts/omap36xx-am35xx-omap3430es2plus-clocks.dtsi b/arch/arm/dts/omap36xx-am35xx-omap3430es2plus-clocks.dtsi
> new file mode 100644
> index 0000000..572cb53
> --- /dev/null
> +++ b/arch/arm/dts/omap36xx-am35xx-omap3430es2plus-clocks.dtsi
> @@ -0,0 +1,242 @@
> +/*
> + * Device Tree Source for OMAP36xx/AM35xx/OMAP34xx clock data
> + *
> + * Copyright (C) 2013 Texas Instruments, Inc.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + */
> +&prm_clocks {
> +       corex2_d3_fck: corex2_d3_fck {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&corex2_fck>;
> +               clock-mult = <1>;
> +               clock-div = <3>;
> +       };
> +
> +       corex2_d5_fck: corex2_d5_fck {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&corex2_fck>;
> +               clock-mult = <1>;
> +               clock-div = <5>;
> +       };
> +};
> +&cm_clocks {
> +       dpll5_ck: dpll5_ck at d04 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-dpll-clock";
> +               clocks = <&sys_ck>, <&sys_ck>;
> +               reg = <0x0d04>, <0x0d24>, <0x0d4c>, <0x0d34>;
> +               ti,low-power-stop;
> +               ti,lock;
> +       };
> +
> +       dpll5_m2_ck: dpll5_m2_ck at d50 {
> +               #clock-cells = <0>;
> +               compatible = "ti,divider-clock";
> +               clocks = <&dpll5_ck>;
> +               ti,max-div = <31>;
> +               reg = <0x0d50>;
> +               ti,index-starts-at-one;
> +       };
> +
> +       sgx_gate_fck: sgx_gate_fck at b00 {
> +               #clock-cells = <0>;
> +               compatible = "ti,composite-gate-clock";
> +               clocks = <&core_ck>;
> +               ti,bit-shift = <1>;
> +               reg = <0x0b00>;
> +       };
> +
> +       core_d3_ck: core_d3_ck {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&core_ck>;
> +               clock-mult = <1>;
> +               clock-div = <3>;
> +       };
> +
> +       core_d4_ck: core_d4_ck {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&core_ck>;
> +               clock-mult = <1>;
> +               clock-div = <4>;
> +       };
> +
> +       core_d6_ck: core_d6_ck {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&core_ck>;
> +               clock-mult = <1>;
> +               clock-div = <6>;
> +       };
> +
> +       omap_192m_alwon_fck: omap_192m_alwon_fck {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&dpll4_m2x2_ck>;
> +               clock-mult = <1>;
> +               clock-div = <1>;
> +       };
> +
> +       core_d2_ck: core_d2_ck {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&core_ck>;
> +               clock-mult = <1>;
> +               clock-div = <2>;
> +       };
> +
> +       sgx_mux_fck: sgx_mux_fck at b40 {
> +               #clock-cells = <0>;
> +               compatible = "ti,composite-mux-clock";
> +               clocks = <&core_d3_ck>, <&core_d4_ck>, <&core_d6_ck>, <&cm_96m_fck>, <&omap_192m_alwon_fck>, <&core_d2_ck>, <&corex2_d3_fck>, <&corex2_d5_fck>;
> +               reg = <0x0b40>;
> +       };
> +
> +       sgx_fck: sgx_fck {
> +               #clock-cells = <0>;
> +               compatible = "ti,composite-clock";
> +               clocks = <&sgx_gate_fck>, <&sgx_mux_fck>;
> +       };
> +
> +       sgx_ick: sgx_ick at b10 {
> +               #clock-cells = <0>;
> +               compatible = "ti,wait-gate-clock";
> +               clocks = <&l3_ick>;
> +               reg = <0x0b10>;
> +               ti,bit-shift = <0>;
> +       };
> +
> +       cpefuse_fck: cpefuse_fck at a08 {
> +               #clock-cells = <0>;
> +               compatible = "ti,gate-clock";
> +               clocks = <&sys_ck>;
> +               reg = <0x0a08>;
> +               ti,bit-shift = <0>;
> +       };
> +
> +       ts_fck: ts_fck at a08 {
> +               #clock-cells = <0>;
> +               compatible = "ti,gate-clock";
> +               clocks = <&omap_32k_fck>;
> +               reg = <0x0a08>;
> +               ti,bit-shift = <1>;
> +       };
> +
> +       usbtll_fck: usbtll_fck at a08 {
> +               #clock-cells = <0>;
> +               compatible = "ti,wait-gate-clock";
> +               clocks = <&dpll5_m2_ck>;
> +               reg = <0x0a08>;
> +               ti,bit-shift = <2>;
> +       };
> +
> +       usbtll_ick: usbtll_ick at a18 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-interface-clock";
> +               clocks = <&core_l4_ick>;
> +               reg = <0x0a18>;
> +               ti,bit-shift = <2>;
> +       };
> +
> +       mmchs3_ick: mmchs3_ick at a10 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-interface-clock";
> +               clocks = <&core_l4_ick>;
> +               reg = <0x0a10>;
> +               ti,bit-shift = <30>;
> +       };
> +
> +       mmchs3_fck: mmchs3_fck at a00 {
> +               #clock-cells = <0>;
> +               compatible = "ti,wait-gate-clock";
> +               clocks = <&core_96m_fck>;
> +               reg = <0x0a00>;
> +               ti,bit-shift = <30>;
> +       };
> +
> +       dss1_alwon_fck: dss1_alwon_fck_3430es2 at e00 {
> +               #clock-cells = <0>;
> +               compatible = "ti,dss-gate-clock";
> +               clocks = <&dpll4_m4x2_ck>;
> +               ti,bit-shift = <0>;
> +               reg = <0x0e00>;
> +               ti,set-rate-parent;
> +       };
> +
> +       dss_ick: dss_ick_3430es2 at e10 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-dss-interface-clock";
> +               clocks = <&l4_ick>;
> +               reg = <0x0e10>;
> +               ti,bit-shift = <0>;
> +       };
> +
> +       usbhost_120m_fck: usbhost_120m_fck at 1400 {
> +               #clock-cells = <0>;
> +               compatible = "ti,gate-clock";
> +               clocks = <&dpll5_m2_ck>;
> +               reg = <0x1400>;
> +               ti,bit-shift = <1>;
> +       };
> +
> +       usbhost_48m_fck: usbhost_48m_fck at 1400 {
> +               #clock-cells = <0>;
> +               compatible = "ti,dss-gate-clock";
> +               clocks = <&omap_48m_fck>;
> +               reg = <0x1400>;
> +               ti,bit-shift = <0>;
> +       };
> +
> +       usbhost_ick: usbhost_ick at 1410 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-dss-interface-clock";
> +               clocks = <&l4_ick>;
> +               reg = <0x1410>;
> +               ti,bit-shift = <0>;
> +       };
> +};
> +
> +&cm_clockdomains {
> +       dpll5_clkdm: dpll5_clkdm {
> +               compatible = "ti,clockdomain";
> +               clocks = <&dpll5_ck>;
> +       };
> +
> +       sgx_clkdm: sgx_clkdm {
> +               compatible = "ti,clockdomain";
> +               clocks = <&sgx_ick>;
> +       };
> +
> +       dss_clkdm: dss_clkdm {
> +               compatible = "ti,clockdomain";
> +               clocks = <&dss_tv_fck>, <&dss_96m_fck>, <&dss2_alwon_fck>,
> +                        <&dss1_alwon_fck>, <&dss_ick>;
> +       };
> +
> +       core_l4_clkdm: core_l4_clkdm {
> +               compatible = "ti,clockdomain";
> +               clocks = <&mmchs2_fck>, <&mmchs1_fck>, <&i2c3_fck>, <&i2c2_fck>,
> +                        <&i2c1_fck>, <&mcspi4_fck>, <&mcspi3_fck>,
> +                        <&mcspi2_fck>, <&mcspi1_fck>, <&uart2_fck>,
> +                        <&uart1_fck>, <&hdq_fck>, <&mmchs2_ick>, <&mmchs1_ick>,
> +                        <&hdq_ick>, <&mcspi4_ick>, <&mcspi3_ick>,
> +                        <&mcspi2_ick>, <&mcspi1_ick>, <&i2c3_ick>, <&i2c2_ick>,
> +                        <&i2c1_ick>, <&uart2_ick>, <&uart1_ick>, <&gpt11_ick>,
> +                        <&gpt10_ick>, <&mcbsp5_ick>, <&mcbsp1_ick>,
> +                        <&omapctrl_ick>, <&aes2_ick>, <&sha12_ick>,
> +                        <&cpefuse_fck>, <&ts_fck>, <&usbtll_fck>,
> +                        <&usbtll_ick>, <&mmchs3_ick>, <&mmchs3_fck>;
> +       };
> +
> +       usbhost_clkdm: usbhost_clkdm {
> +               compatible = "ti,clockdomain";
> +               clocks = <&usbhost_120m_fck>, <&usbhost_48m_fck>,
> +                        <&usbhost_ick>;
> +       };
> +};
> diff --git a/arch/arm/dts/omap36xx-clocks.dtsi b/arch/arm/dts/omap36xx-clocks.dtsi
> new file mode 100644
> index 0000000..9c7ed03
> --- /dev/null
> +++ b/arch/arm/dts/omap36xx-clocks.dtsi
> @@ -0,0 +1,110 @@
> +/*
> + * Device Tree Source for OMAP36xx clock data
> + *
> + * Copyright (C) 2013 Texas Instruments, Inc.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + */
> +&cm_clocks {
> +       dpll4_ck: dpll4_ck at d00 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-dpll-per-j-type-clock";
> +               clocks = <&sys_ck>, <&sys_ck>;
> +               reg = <0x0d00>, <0x0d20>, <0x0d44>, <0x0d30>;
> +       };
> +
> +       dpll4_m5x2_ck: dpll4_m5x2_ck at d00 {
> +               #clock-cells = <0>;
> +               compatible = "ti,hsdiv-gate-clock";
> +               clocks = <&dpll4_m5x2_mul_ck>;
> +               ti,bit-shift = <0x1e>;
> +               reg = <0x0d00>;
> +               ti,set-rate-parent;
> +               ti,set-bit-to-disable;
> +       };
> +
> +       dpll4_m2x2_ck: dpll4_m2x2_ck at d00 {
> +               #clock-cells = <0>;
> +               compatible = "ti,hsdiv-gate-clock";
> +               clocks = <&dpll4_m2x2_mul_ck>;
> +               ti,bit-shift = <0x1b>;
> +               reg = <0x0d00>;
> +               ti,set-bit-to-disable;
> +       };
> +
> +       dpll3_m3x2_ck: dpll3_m3x2_ck at d00 {
> +               #clock-cells = <0>;
> +               compatible = "ti,hsdiv-gate-clock";
> +               clocks = <&dpll3_m3x2_mul_ck>;
> +               ti,bit-shift = <0xc>;
> +               reg = <0x0d00>;
> +               ti,set-bit-to-disable;
> +       };
> +
> +       dpll4_m3x2_ck: dpll4_m3x2_ck at d00 {
> +               #clock-cells = <0>;
> +               compatible = "ti,hsdiv-gate-clock";
> +               clocks = <&dpll4_m3x2_mul_ck>;
> +               ti,bit-shift = <0x1c>;
> +               reg = <0x0d00>;
> +               ti,set-bit-to-disable;
> +       };
> +
> +       dpll4_m6x2_ck: dpll4_m6x2_ck at d00 {
> +               #clock-cells = <0>;
> +               compatible = "ti,hsdiv-gate-clock";
> +               clocks = <&dpll4_m6x2_mul_ck>;
> +               ti,bit-shift = <0x1f>;
> +               reg = <0x0d00>;
> +               ti,set-bit-to-disable;
> +       };
> +
> +       uart4_fck: uart4_fck at 1000 {
> +               #clock-cells = <0>;
> +               compatible = "ti,wait-gate-clock";
> +               clocks = <&per_48m_fck>;
> +               reg = <0x1000>;
> +               ti,bit-shift = <18>;
> +       };
> +};
> +
> +&dpll4_m2x2_mul_ck {
> +       clock-mult = <1>;
> +};
> +
> +&dpll4_m3x2_mul_ck {
> +       clock-mult = <1>;
> +};
> +
> +&dpll4_m4x2_mul_ck {
> +       ti,clock-mult = <1>;
> +};
> +
> +&dpll4_m5x2_mul_ck {
> +       ti,clock-mult = <1>;
> +};
> +
> +&dpll4_m6x2_mul_ck {
> +       clock-mult = <1>;
> +};
> +
> +&cm_clockdomains {
> +       dpll4_clkdm: dpll4_clkdm {
> +               compatible = "ti,clockdomain";
> +               clocks = <&dpll4_ck>;
> +       };
> +
> +       per_clkdm: per_clkdm {
> +               compatible = "ti,clockdomain";
> +               clocks = <&uart3_fck>, <&gpio6_dbck>, <&gpio5_dbck>,
> +                        <&gpio4_dbck>, <&gpio3_dbck>, <&gpio2_dbck>,
> +                        <&wdt3_fck>, <&gpio6_ick>, <&gpio5_ick>, <&gpio4_ick>,
> +                        <&gpio3_ick>, <&gpio2_ick>, <&wdt3_ick>, <&uart3_ick>,
> +                        <&uart4_ick>, <&gpt9_ick>, <&gpt8_ick>, <&gpt7_ick>,
> +                        <&gpt6_ick>, <&gpt5_ick>, <&gpt4_ick>, <&gpt3_ick>,
> +                        <&gpt2_ick>, <&mcbsp2_ick>, <&mcbsp3_ick>,
> +                        <&mcbsp4_ick>, <&uart4_fck>;
> +       };
> +};
> diff --git a/arch/arm/dts/omap36xx-omap3430es2plus-clocks.dtsi b/arch/arm/dts/omap36xx-omap3430es2plus-clocks.dtsi
> new file mode 100644
> index 0000000..a9eec1b
> --- /dev/null
> +++ b/arch/arm/dts/omap36xx-omap3430es2plus-clocks.dtsi
> @@ -0,0 +1,198 @@
> +/*
> + * Device Tree Source for OMAP34xx/OMAP36xx clock data
> + *
> + * Copyright (C) 2013 Texas Instruments, Inc.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + */
> +&cm_clocks {
> +       ssi_ssr_gate_fck_3430es2: ssi_ssr_gate_fck_3430es2 at a00 {
> +               #clock-cells = <0>;
> +               compatible = "ti,composite-no-wait-gate-clock";
> +               clocks = <&corex2_fck>;
> +               ti,bit-shift = <0>;
> +               reg = <0x0a00>;
> +       };
> +
> +       ssi_ssr_div_fck_3430es2: ssi_ssr_div_fck_3430es2 at a40 {
> +               #clock-cells = <0>;
> +               compatible = "ti,composite-divider-clock";
> +               clocks = <&corex2_fck>;
> +               ti,bit-shift = <8>;
> +               reg = <0x0a40>;
> +               ti,dividers = <0>, <1>, <2>, <3>, <4>, <0>, <6>, <0>, <8>;
> +       };
> +
> +       ssi_ssr_fck: ssi_ssr_fck_3430es2 {
> +               #clock-cells = <0>;
> +               compatible = "ti,composite-clock";
> +               clocks = <&ssi_ssr_gate_fck_3430es2>, <&ssi_ssr_div_fck_3430es2>;
> +       };
> +
> +       ssi_sst_fck: ssi_sst_fck_3430es2 {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&ssi_ssr_fck>;
> +               clock-mult = <1>;
> +               clock-div = <2>;
> +       };
> +
> +       hsotgusb_ick_3430es2: hsotgusb_ick_3430es2 at a10 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-hsotgusb-interface-clock";
> +               clocks = <&core_l3_ick>;
> +               reg = <0x0a10>;
> +               ti,bit-shift = <4>;
> +       };
> +
> +       ssi_l4_ick: ssi_l4_ick {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&l4_ick>;
> +               clock-mult = <1>;
> +               clock-div = <1>;
> +       };
> +
> +       ssi_ick: ssi_ick_3430es2 at a10 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-ssi-interface-clock";
> +               clocks = <&ssi_l4_ick>;
> +               reg = <0x0a10>;
> +               ti,bit-shift = <0>;
> +       };
> +
> +       usim_gate_fck: usim_gate_fck at c00 {
> +               #clock-cells = <0>;
> +               compatible = "ti,composite-gate-clock";
> +               clocks = <&omap_96m_fck>;
> +               ti,bit-shift = <9>;
> +               reg = <0x0c00>;
> +       };
> +
> +       sys_d2_ck: sys_d2_ck {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&sys_ck>;
> +               clock-mult = <1>;
> +               clock-div = <2>;
> +       };
> +
> +       omap_96m_d2_fck: omap_96m_d2_fck {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&omap_96m_fck>;
> +               clock-mult = <1>;
> +               clock-div = <2>;
> +       };
> +
> +       omap_96m_d4_fck: omap_96m_d4_fck {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&omap_96m_fck>;
> +               clock-mult = <1>;
> +               clock-div = <4>;
> +       };
> +
> +       omap_96m_d8_fck: omap_96m_d8_fck {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&omap_96m_fck>;
> +               clock-mult = <1>;
> +               clock-div = <8>;
> +       };
> +
> +       omap_96m_d10_fck: omap_96m_d10_fck {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&omap_96m_fck>;
> +               clock-mult = <1>;
> +               clock-div = <10>;
> +       };
> +
> +       dpll5_m2_d4_ck: dpll5_m2_d4_ck {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&dpll5_m2_ck>;
> +               clock-mult = <1>;
> +               clock-div = <4>;
> +       };
> +
> +       dpll5_m2_d8_ck: dpll5_m2_d8_ck {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&dpll5_m2_ck>;
> +               clock-mult = <1>;
> +               clock-div = <8>;
> +       };
> +
> +       dpll5_m2_d16_ck: dpll5_m2_d16_ck {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&dpll5_m2_ck>;
> +               clock-mult = <1>;
> +               clock-div = <16>;
> +       };
> +
> +       dpll5_m2_d20_ck: dpll5_m2_d20_ck {
> +               #clock-cells = <0>;
> +               compatible = "fixed-factor-clock";
> +               clocks = <&dpll5_m2_ck>;
> +               clock-mult = <1>;
> +               clock-div = <20>;
> +       };
> +
> +       usim_mux_fck: usim_mux_fck at c40 {
> +               #clock-cells = <0>;
> +               compatible = "ti,composite-mux-clock";
> +               clocks = <&sys_ck>, <&sys_d2_ck>, <&omap_96m_d2_fck>, <&omap_96m_d4_fck>, <&omap_96m_d8_fck>, <&omap_96m_d10_fck>, <&dpll5_m2_d4_ck>, <&dpll5_m2_d8_ck>, <&dpll5_m2_d16_ck>, <&dpll5_m2_d20_ck>;
> +               ti,bit-shift = <3>;
> +               reg = <0x0c40>;
> +               ti,index-starts-at-one;
> +       };
> +
> +       usim_fck: usim_fck {
> +               #clock-cells = <0>;
> +               compatible = "ti,composite-clock";
> +               clocks = <&usim_gate_fck>, <&usim_mux_fck>;
> +       };
> +
> +       usim_ick: usim_ick at c10 {
> +               #clock-cells = <0>;
> +               compatible = "ti,omap3-interface-clock";
> +               clocks = <&wkup_l4_ick>;
> +               reg = <0x0c10>;
> +               ti,bit-shift = <9>;
> +       };
> +};
> +
> +&cm_clockdomains {
> +       core_l3_clkdm: core_l3_clkdm {
> +               compatible = "ti,clockdomain";
> +               clocks = <&sdrc_ick>, <&hsotgusb_ick_3430es2>;
> +       };
> +
> +       wkup_clkdm: wkup_clkdm {
> +               compatible = "ti,clockdomain";
> +               clocks = <&gpio1_dbck>, <&wdt2_fck>, <&wdt2_ick>, <&wdt1_ick>,
> +                        <&gpio1_ick>, <&omap_32ksync_ick>, <&gpt12_ick>,
> +                        <&gpt1_ick>, <&usim_ick>;
> +       };
> +
> +       core_l4_clkdm: core_l4_clkdm {
> +               compatible = "ti,clockdomain";
> +               clocks = <&cpefuse_fck>, <&ts_fck>, <&usbtll_fck>,
> +                        <&usbtll_ick>, <&mmchs3_ick>, <&mmchs3_fck>,
> +                        <&mmchs2_fck>, <&mmchs1_fck>, <&i2c3_fck>, <&i2c2_fck>,
> +                        <&i2c1_fck>, <&mcspi4_fck>, <&mcspi3_fck>,
> +                        <&mcspi2_fck>, <&mcspi1_fck>, <&uart2_fck>,
> +                        <&uart1_fck>, <&hdq_fck>, <&mmchs2_ick>, <&mmchs1_ick>,
> +                        <&hdq_ick>, <&mcspi4_ick>, <&mcspi3_ick>,
> +                        <&mcspi2_ick>, <&mcspi1_ick>, <&i2c3_ick>, <&i2c2_ick>,
> +                        <&i2c1_ick>, <&uart2_ick>, <&uart1_ick>, <&gpt11_ick>,
> +                        <&gpt10_ick>, <&mcbsp5_ick>, <&mcbsp1_ick>,
> +                        <&omapctrl_ick>, <&aes2_ick>, <&sha12_ick>,
> +                        <&ssi_ick>;
> +       };
> +};
> diff --git a/arch/arm/dts/omap36xx.dtsi b/arch/arm/dts/omap36xx.dtsi
> new file mode 100644
> index 0000000..fc22f0d
> --- /dev/null
> +++ b/arch/arm/dts/omap36xx.dtsi
> @@ -0,0 +1,118 @@
> +/*
> + * Device Tree Source for OMAP3 SoC
> + *
> + * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
> + *
> + * This file is licensed under the terms of the GNU General Public License
> + * version 2.  This program is licensed "as is" without any warranty of any
> + * kind, whether express or implied.
> + */
> +
> +#include <dt-bindings/media/omap3-isp.h>
> +
> +#include "omap3.dtsi"
> +
> +/ {
> +       aliases {
> +               serial3 = &uart4;
> +       };
> +
> +       cpus {
> +               /* OMAP3630/OMAP37xx 'standard device' variants OPP50 to OPP130 */
> +               cpu at 0 {
> +                       operating-points = <
> +                               /* kHz    uV */
> +                               300000  1012500
> +                               600000  1200000
> +                               800000  1325000
> +                       >;
> +                       clock-latency = <300000>; /* From legacy driver */
> +               };
> +       };
> +
> +       ocp at 68000000 {
> +               uart4: serial at 49042000 {
> +                       compatible = "ti,omap3-uart";
> +                       reg = <0x49042000 0x400>;
> +                       interrupts = <80>;
> +                       dmas = <&sdma 81 &sdma 82>;
> +                       dma-names = "tx", "rx";
> +                       ti,hwmods = "uart4";
> +                       clock-frequency = <48000000>;
> +               };
> +
> +               abb_mpu_iva: regulator-abb-mpu {
> +                       compatible = "ti,abb-v1";
> +                       regulator-name = "abb_mpu_iva";
> +                       #address-cells = <0>;
> +                       #size-cells = <0>;
> +                       reg = <0x483072f0 0x8>, <0x48306818 0x4>;
> +                       reg-names = "base-address", "int-address";
> +                       ti,tranxdone-status-mask = <0x4000000>;
> +                       clocks = <&sys_ck>;
> +                       ti,settling-time = <30>;
> +                       ti,clock-cycles = <8>;
> +                       ti,abb_info = <
> +                       /*uV            ABB     efuse   rbb_m   fbb_m   vset_m*/
> +                       1012500         0       0       0       0       0
> +                       1200000         0       0       0       0       0
> +                       1325000         0       0       0       0       0
> +                       1375000         1       0       0       0       0
> +                       >;
> +               };
> +
> +               omap3_pmx_core2: pinmux at 480025a0 {
> +                       compatible = "ti,omap3-padconf", "pinctrl-single";
> +                       reg = <0x480025a0 0x5c>;
> +                       #address-cells = <1>;
> +                       #size-cells = <0>;
> +                       #interrupt-cells = <1>;
> +                       interrupt-controller;
> +                       pinctrl-single,register-width = <16>;
> +                       pinctrl-single,function-mask = <0xff1f>;
> +               };
> +
> +               isp: isp at 480bc000 {
> +                       compatible = "ti,omap3-isp";
> +                       reg = <0x480bc000 0x12fc
> +                              0x480bd800 0x0600>;
> +                       interrupts = <24>;
> +                       iommus = <&mmu_isp>;
> +                       syscon = <&scm_conf 0x2f0>;
> +                       ti,phy-type = <OMAP3ISP_PHY_TYPE_CSIPHY>;
> +                       #clock-cells = <1>;
> +                       ports {
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +                       };
> +               };
> +
> +               bandgap at 48002524 {
> +                       reg = <0x48002524 0x4>;
> +                       compatible = "ti,omap36xx-bandgap";
> +                       #thermal-sensor-cells = <0>;
> +               };
> +       };
> +};
> +
> +/* OMAP3630 needs dss_96m_fck for VENC */
> +&venc {
> +       clocks = <&dss_tv_fck>, <&dss_96m_fck>;
> +       clock-names = "fck", "tv_dac_clk";
> +};
> +
> +&ssi {
> +       status = "ok";
> +
> +       clocks = <&ssi_ssr_fck>,
> +                <&ssi_sst_fck>,
> +                <&ssi_ick>;
> +       clock-names = "ssi_ssr_fck",
> +                     "ssi_sst_fck",
> +                     "ssi_ick";
> +};
> +
> +/include/ "omap34xx-omap36xx-clocks.dtsi"
> +/include/ "omap36xx-omap3430es2plus-clocks.dtsi"
> +/include/ "omap36xx-am35xx-omap3430es2plus-clocks.dtsi"
> +/include/ "omap36xx-clocks.dtsi"
> diff --git a/include/dt-bindings/media/omap3-isp.h b/include/dt-bindings/media/omap3-isp.h
> new file mode 100644
> index 0000000..4e42084
> --- /dev/null
> +++ b/include/dt-bindings/media/omap3-isp.h
> @@ -0,0 +1,22 @@
> +/*
> + * include/dt-bindings/media/omap3-isp.h
> + *
> + * Copyright (C) 2015 Sakari Ailus
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License
> + * 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.
> + */
> +
> +#ifndef __DT_BINDINGS_OMAP3_ISP_H__
> +#define __DT_BINDINGS_OMAP3_ISP_H__
> +
> +#define OMAP3ISP_PHY_TYPE_COMPLEX_IO   0
> +#define OMAP3ISP_PHY_TYPE_CSIPHY       1
> +
> +#endif /* __DT_BINDINGS_OMAP3_ISP_H__ */
> 


More information about the U-Boot mailing list