freescale imx6 sata code can be modified to use msata interface?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

freescale imx6 sata code can be modified to use msata interface?

Jump to solution
1,204 Views
陳冠儒
Contributor IV

Hi,All:

freescale imx6 sata code can be modified to use msata interface?

Because the sata code was written dead. (for linux 3.10.53 BSP)

I want to be able to modify MSATA_DEVSLP, MSATA_PWR_EN signal to someone pin.

Able to do it?

please help me,thanks.

(中譯: freescale imx6 sata code 能修改成msata 介面來用嗎?

           因為sata code被寫死了。(針對linux3.10.53 BSP的code)

           我想要能夠修改MSATA_DEVSLP, MSATA_PWR_EN信號到某一支pin上。

           能夠做到嗎?

)

Labels (4)
0 Kudos
Reply
1 Solution
838 Views
BiyongSUN
NXP Employee
NXP Employee

Mr Chen,

It is called fixed regulator.   "compatible = "regulator-fixed";"

You should have device tree knowledge to read the dts file.

It's got nothing to do with sata. it is power supply.


For the MSATA_PWR_EN

Please follow binding guide Documentation\devicetree\bindings\regulator fixed-regulator.txt, add your gpio regulator.

And gpio regulator is part of linux.  i.MX just provide control.

For the MSATA_DEVSLP, you need to consider about tie to  PMIC_ON_REQ or PMIC_STBY_REQ depending on your design and your system design.

It is a customization scope, you need to figure out a way in your design.

View solution in original post

0 Kudos
Reply
7 Replies
838 Views
art
NXP Employee
NXP Employee

mSATA differs from regular SATA only by form factor, so, basically, no driver code modification is required. The MSATA_DEVSLP, MSATA_PWR_EN signals you're talking about are non-standartized ones, so, they can be implemented by using any available GPIO.


Have a great day,
Artur

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply
838 Views
陳冠儒
Contributor IV

hi,Artur Petukhov:

thank u answer.

yes,

I want to make GPIO to control, but he did not offer the following section control pin design to me, how do I make him self-control action to 0 or 1, for example, I want to MSATA_PWR_EN control to GPIO_16  and low to high signal, how do I do?

Please help me,thanks.

So I just think it wrote dead. (for imx6q.dtsi code)

I want a similar code as follows:

imx6qdl-sabresd.dtsi:

reg_usb_h1_vbus: usb_h1_vbus {

                        compatible = "regulator-fixed";

                        regulator-name = "usb_h1_vbus";

                        regulator-min-microvolt = <5000000>;

                        regulator-max-microvolt = <5000000>;

                        gpio = <&gpio3 31 0>;      -->    Control the way I want,control 0/1

                        enable-active-high;

                };

imx6q.dtsi:

sata: sata@02200000 {

   compatible = "fsl,imx6q-ahci";

   reg = <0x02200000 0x4000>;

   interrupts = <0 39 0x04>;

   clocks =  <&clks 154>, <&clks 187>, <&clks 105>;

   clock-names = "sata", "sata_ref", "ahb";

   status = "disabled";

  };

0 Kudos
Reply
838 Views
BiyongSUN
NXP Employee
NXP Employee

You need to create a fixed regulator.

0 Kudos
Reply
838 Views
BiyongSUN
NXP Employee
NXP Employee

Assume you mentioned  "written dead" is hard coding.

Where it is?  What is MSATA_DEVSLP, MSATA_PWR_EN you mentioned in your hardware design?

If they are control by gpio, BSP is source code, you can modify anything you want. 

BTW, MSATA_DEVSLP, MSATA_PWR_EN are the signals in the mSATA standard. Or they are just the name in you schematic. please confirm.

0 Kudos
Reply
838 Views
陳冠儒
Contributor IV

Hi,Biyong Sun:

yes,

I want to make GPIO to control, but he did not offer the following section control pin design to me, how do I make him self-control action to 0 or 1, for example, I want to MSATA_PWR_EN control to GPIO_16  and low to high signal, how do I do?

Please help me,thanks.

So I just think it wrote dead. (for imx6q.dtsi code)

I want a similar code as follows:

imx6qdl-sabresd.dtsi:

reg_usb_h1_vbus: usb_h1_vbus {

                        compatible = "regulator-fixed";

                        regulator-name = "usb_h1_vbus";

                        regulator-min-microvolt = <5000000>;

                        regulator-max-microvolt = <5000000>;

                        gpio = <&gpio3 31 0>;      -->    Control the way I want,control 0/1

                        enable-active-high;

                };

imx6q.dtsi:

sata: sata@02200000 {

   compatible = "fsl,imx6q-ahci";

   reg = <0x02200000 0x4000>;

   interrupts = <0 39 0x04>;

   clocks =  <&clks 154>, <&clks 187>, <&clks 105>;

   clock-names = "sata", "sata_ref", "ahb";

   status = "disabled";

  };

MSATA_DEVSLP(or call MSATA_DET), MSATA_PWR_EN is  schematic name (cpu to issue).

MSATA_DEVSLP access Pin51 (mSATA interface).

MSATA_PWR_EN access another controller.

0 Kudos
Reply
839 Views
BiyongSUN
NXP Employee
NXP Employee

Mr Chen,

It is called fixed regulator.   "compatible = "regulator-fixed";"

You should have device tree knowledge to read the dts file.

It's got nothing to do with sata. it is power supply.


For the MSATA_PWR_EN

Please follow binding guide Documentation\devicetree\bindings\regulator fixed-regulator.txt, add your gpio regulator.

And gpio regulator is part of linux.  i.MX just provide control.

For the MSATA_DEVSLP, you need to consider about tie to  PMIC_ON_REQ or PMIC_STBY_REQ depending on your design and your system design.

It is a customization scope, you need to figure out a way in your design.

0 Kudos
Reply
838 Views
陳冠儒
Contributor IV

Hi,Biyong Sun:

thank u answer.

I tried to do and if i have a problem, ask you again.

thanks!!!

0 Kudos
Reply