NXP / i3c-slave-design

MIPI I3C Basic v1.0 communication Slave source code in Verilog with BSD license to support use in sensors and other devices.
Other
114 stars 35 forks source link

I3C TIMING CONTROL #18

Closed Jiahua-Gong closed 5 years ago

Jiahua-Gong commented 5 years ago

This source do not have

pkimelman-nxp commented 5 years ago

Correct. The free version does not include either of the timing control blocks, nor hdr-ddr, nor dma.

Sent from my iPhone

On Oct 16, 2019, at 5:54 PM, Jiahua notifications@github.com wrote:



Caution: EXT Email

This source do not have

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FNXP%2Fi3c-slave-design%2Fissues%2F18%3Femail_source%3Dnotifications%26email_token%3DAFNELXYVZAE2XRCDGQ3H4R3QO6ZSVA5CNFSM4JBSXP3KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HSKDBLQ&data=02%7C01%7Cpaul.kimelman%40nxp.com%7Ce59992caffc24f98961108d7529c8157%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637068704441981494&sdata=2pQbva9KM%2FfZIslDfLlWZ6S%2FdDGfoeNAsctEWWI21m4%3D&reserved=0, or unsubscribehttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFNELXYPIKPBPM5LVIEIR6TQO6ZSVANCNFSM4JBSXP3A&data=02%7C01%7Cpaul.kimelman%40nxp.com%7Ce59992caffc24f98961108d7529c8157%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637068704441981494&sdata=AMi989rGxVuJKDLvGPeeBYKc8nSczuHDldWbV9VLZpk%3D&reserved=0.

ggpf320 commented 5 years ago

Hi Paul Can it be understood that the IBI with Mandatory Data Byte is not supported in free version?

pkimelman-nxp commented 5 years ago

It is supported. The CTRL reg is active to support in the APB version, and the autonomous makes available as well. Only the time stamp adder is not supported.

Sent from my iPhone

On Oct 16, 2019, at 8:22 PM, ggpf320 notifications@github.com wrote:



Caution: EXT Email

Hi Paul Can it be understood that the IBI with Mandatory Data Byte is not supported in free version?

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FNXP%2Fi3c-slave-design%2Fissues%2F18%3Femail_source%3Dnotifications%26email_token%3DAFNELXY4YNG5IVSF4AJAJODQO7K6VA5CNFSM4JBSXP3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBOTXEI%23issuecomment-542981009&data=02%7C01%7Cpaul.kimelman%40nxp.com%7Cd4c65541fb8e4bc1154408d752b13829%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637068793411136981&sdata=AEf4JU2K6GEmOqS9cgvwJOrcFx2otnhCJrIv9Hl0UZE%3D&reserved=0, or unsubscribehttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFNELX3IKCAI2ZMZB776623QO7K6VANCNFSM4JBSXP3A&data=02%7C01%7Cpaul.kimelman%40nxp.com%7Cd4c65541fb8e4bc1154408d752b13829%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637068793411146973&sdata=jUmjQ9n5h5EcSWT0D0BBM6vlGyNOlAe2MvjcQgr8gGI%3D&reserved=0.

Jiahua-Gong commented 5 years ago

I have verified the coded.It’s very good!But I’m confused about IBI generation.Why the IBI generation is the clock slow domain?Thank you! 

发自我的iPhone

------------------ Original ------------------ From: Paul Kimelman <notifications@github.com> Date: Thu,Oct 17,2019 0:22 PM To: NXP/i3c-slave-design <i3c-slave-design@noreply.github.com> Cc: Jiahua <1016765625@qq.com>, Author <author@noreply.github.com> Subject: Re: [NXP/i3c-slave-design] I3C TIMING CONTROL (#18)

It is supported. The CTRL reg is active to support in the APB version, and the autonomous makes available as well. Only the time stamp adder is not supported.

Sent from my iPhone

On Oct 16, 2019, at 8:22 PM, ggpf320 <notifications@github.com> wrote:



Caution: EXT Email

Hi Paul Can it be understood that the IBI with Mandatory Data Byte is not supported in free version?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub<https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FNXP%2Fi3c-slave-design%2Fissues%2F18%3Femail_source%3Dnotifications%26email_token%3DAFNELXY4YNG5IVSF4AJAJODQO7K6VA5CNFSM4JBSXP3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBOTXEI%23issuecomment-542981009&amp;data=02%7C01%7Cpaul.kimelman%40nxp.com%7Cd4c65541fb8e4bc1154408d752b13829%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637068793411136981&amp;sdata=AEf4JU2K6GEmOqS9cgvwJOrcFx2otnhCJrIv9Hl0UZE%3D&amp;reserved=0&gt;, or unsubscribe<https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFNELX3IKCAI2ZMZB776623QO7K6VANCNFSM4JBSXP3A&amp;data=02%7C01%7Cpaul.kimelman%40nxp.com%7Cd4c65541fb8e4bc1154408d752b13829%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637068793411146973&amp;sdata=jUmjQ9n5h5EcSWT0D0BBM6vlGyNOlAe2MvjcQgr8gGI%3D&amp;reserved=0&gt;.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

Jiahua-Gong commented 5 years ago

Another question about I3C master.I noticed Nxp have a MCU with i3c master.When the MCU go to mass production ?I want to buy this MCU for testing i3c communication.

发自我的iPhone

------------------ Original ------------------ From: Paul Kimelman <notifications@github.com> Date: Thu,Oct 17,2019 0:22 PM To: NXP/i3c-slave-design <i3c-slave-design@noreply.github.com> Cc: Jiahua <1016765625@qq.com>, Author <author@noreply.github.com> Subject: Re: [NXP/i3c-slave-design] I3C TIMING CONTROL (#18)

It is supported. The CTRL reg is active to support in the APB version, and the autonomous makes available as well. Only the time stamp adder is not supported.

Sent from my iPhone

On Oct 16, 2019, at 8:22 PM, ggpf320 <notifications@github.com> wrote:



Caution: EXT Email

Hi Paul Can it be understood that the IBI with Mandatory Data Byte is not supported in free version?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub<https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FNXP%2Fi3c-slave-design%2Fissues%2F18%3Femail_source%3Dnotifications%26email_token%3DAFNELXY4YNG5IVSF4AJAJODQO7K6VA5CNFSM4JBSXP3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBOTXEI%23issuecomment-542981009&amp;data=02%7C01%7Cpaul.kimelman%40nxp.com%7Cd4c65541fb8e4bc1154408d752b13829%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637068793411136981&amp;sdata=AEf4JU2K6GEmOqS9cgvwJOrcFx2otnhCJrIv9Hl0UZE%3D&amp;reserved=0&gt;, or unsubscribe<https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFNELX3IKCAI2ZMZB776623QO7K6VANCNFSM4JBSXP3A&amp;data=02%7C01%7Cpaul.kimelman%40nxp.com%7Cd4c65541fb8e4bc1154408d752b13829%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637068793411146973&amp;sdata=jUmjQ9n5h5EcSWT0D0BBM6vlGyNOlAe2MvjcQgr8gGI%3D&amp;reserved=0&gt;.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

pkimelman-nxp commented 5 years ago

Are you using the autonomous or APB slave? The IBI starts from the system clock so you can initiate it - PCLK or SlowCLK. This is necessary anyway. But it is also because it allows us to pull SDA low even without an SCL - a feature of i3c. That is, when bus is stopped we pull SDA low to get the Master to emit the START clock.

Sent from my iPhone

On Oct 17, 2019, at 4:26 AM, Jiahua notifications@github.com wrote:



Caution: EXT Email

I have verified the coded.It’s very good!But I’m confused about IBI generation.Why the IBI generation is the clock slow domain?Thank you! 

发自我的iPhone

------------------ Original ------------------ From: Paul Kimelman <notifications@github.com> Date: Thu,Oct 17,2019 0:22 PM To: NXP/i3c-slave-design <i3c-slave-design@noreply.github.com> Cc: Jiahua <1016765625@qq.com>, Author <author@noreply.github.com> Subject: Re: [NXP/i3c-slave-design] I3C TIMING CONTROL (#18)

It is supported. The CTRL reg is active to support in the APB version, and the autonomous makes available as well. Only the time stamp adder is not supported.

Sent from my iPhone

On Oct 16, 2019, at 8:22 PM, ggpf320 <notifications@github.com> wrote:



Caution: EXT Email

Hi Paul Can it be understood that the IBI with Mandatory Data Byte is not supported in free version?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub<https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FNXP%2Fi3c-slave-design%2Fissues%2F18%3Femail_source%3Dnotifications%26email_token%3DAFNELXY4YNG5IVSF4AJAJODQO7K6VA5CNFSM4JBSXP3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBOTXEI%23issuecomment-542981009&amp;data=02%7C01%7Cpaul.kimelman%40nxp.com%7Cd4c65541fb8e4bc1154408d752b13829%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637068793411136981&amp;sdata=AEf4JU2K6GEmOqS9cgvwJOrcFx2otnhCJrIv9Hl0UZE%3D&amp;reserved=0&gt;, or unsubscribe<https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFNELX3IKCAI2ZMZB776623QO7K6VANCNFSM4JBSXP3A&amp;data=02%7C01%7Cpaul.kimelman%40nxp.com%7Cd4c65541fb8e4bc1154408d752b13829%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637068793411146973&amp;sdata=jUmjQ9n5h5EcSWT0D0BBM6vlGyNOlAe2MvjcQgr8gGI%3D&amp;reserved=0&gt;.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FNXP%2Fi3c-slave-design%2Fissues%2F18%3Femail_source%3Dnotifications%26email_token%3DAFNELX2QBWYTEFRYUJWWKGDQPBDVLA5CNFSM4JBSXP3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBPYC3Y%23issuecomment-543129967&data=02%7C01%7Cpaul.kimelman%40nxp.com%7Cde270ea0f9ca434d3c3a08d752f4d1b7%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637069083750713683&sdata=QITJ564zGKwqLjPaWYGPqT8cADiLiEafn%2BHmOGSwvUc%3D&reserved=0, or unsubscribehttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFNELX6NPWLJ6R2RQWLVWI3QPBDVLANCNFSM4JBSXP3A&data=02%7C01%7Cpaul.kimelman%40nxp.com%7Cde270ea0f9ca434d3c3a08d752f4d1b7%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637069083750713683&sdata=vnNgIWkcT%2FKKlWnolfErt35JCJ%2B2sWyoF%2BJ5QqsEfP8%3D&reserved=0.

Jiahua-Gong commented 5 years ago

I use the autonomous as my top module,If my system is only scl clock,we can also use comb logic to pull down.Even we can use asm to generation this start.

发自我的iPhone

------------------ Original ------------------ From: Paul Kimelman <notifications@github.com> Date: Thu,Oct 17,2019 10:58 PM To: NXP/i3c-slave-design <i3c-slave-design@noreply.github.com> Cc: Jiahua <1016765625@qq.com>, Author <author@noreply.github.com> Subject: Re: [NXP/i3c-slave-design] I3C TIMING CONTROL (#18)

Are you using the autonomous or APB slave? The IBI starts from the system clock so you can initiate it - PCLK or SlowCLK. This is necessary anyway. But it is also because it allows us to pull SDA low even without an SCL - a feature of i3c. That is, when bus is stopped we pull SDA low to get the Master to emit the START clock.

Sent from my iPhone

On Oct 17, 2019, at 4:26 AM, Jiahua <notifications@github.com> wrote:



Caution: EXT Email

I have verified the coded.It’s very good!But I’m confused about IBI generation.Why the IBI generation is the clock slow domain?Thank you!&nbsp;

发自我的iPhone

------------------ Original ------------------ From: Paul Kimelman <notifications@github.com&gt; Date: Thu,Oct 17,2019 0:22 PM To: NXP/i3c-slave-design <i3c-slave-design@noreply.github.com&gt; Cc: Jiahua <1016765625@qq.com&gt;, Author <author@noreply.github.com&gt; Subject: Re: [NXP/i3c-slave-design] I3C TIMING CONTROL (#18)

It is supported. The CTRL reg is active to support in the APB version, and the autonomous makes available as well. Only the time stamp adder is not supported.

Sent from my iPhone

On Oct 16, 2019, at 8:22 PM, ggpf320 <notifications@github.com&gt; wrote:



Caution: EXT Email

Hi Paul Can it be understood that the IBI with Mandatory Data Byte is not supported in free version?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub<https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FNXP%2Fi3c-slave-design%2Fissues%2F18%3Femail_source%3Dnotifications%26email_token%3DAFNELXY4YNG5IVSF4AJAJODQO7K6VA5CNFSM4JBSXP3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBOTXEI%23issuecomment-542981009&amp;amp;data=02%7C01%7Cpaul.kimelman%40nxp.com%7Cd4c65541fb8e4bc1154408d752b13829%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637068793411136981&amp;amp;sdata=AEf4JU2K6GEmOqS9cgvwJOrcFx2otnhCJrIv9Hl0UZE%3D&amp;amp;reserved=0&amp;gt;, or unsubscribe<https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFNELX3IKCAI2ZMZB776623QO7K6VANCNFSM4JBSXP3A&amp;amp;data=02%7C01%7Cpaul.kimelman%40nxp.com%7Cd4c65541fb8e4bc1154408d752b13829%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637068793411146973&amp;amp;sdata=jUmjQ9n5h5EcSWT0D0BBM6vlGyNOlAe2MvjcQgr8gGI%3D&amp;amp;reserved=0&amp;gt;.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub<https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FNXP%2Fi3c-slave-design%2Fissues%2F18%3Femail_source%3Dnotifications%26email_token%3DAFNELX2QBWYTEFRYUJWWKGDQPBDVLA5CNFSM4JBSXP3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBPYC3Y%23issuecomment-543129967&amp;data=02%7C01%7Cpaul.kimelman%40nxp.com%7Cde270ea0f9ca434d3c3a08d752f4d1b7%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637069083750713683&amp;sdata=QITJ564zGKwqLjPaWYGPqT8cADiLiEafn%2BHmOGSwvUc%3D&amp;reserved=0&gt;, or unsubscribe<https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFNELX6NPWLJ6R2RQWLVWI3QPBDVLANCNFSM4JBSXP3A&amp;data=02%7C01%7Cpaul.kimelman%40nxp.com%7Cde270ea0f9ca434d3c3a08d752f4d1b7%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637069083750713683&amp;sdata=vnNgIWkcT%2FKKlWnolfErt35JCJ%2B2sWyoF%2BJ5QqsEfP8%3D&amp;reserved=0&gt;.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

pkimelman-nxp commented 5 years ago

I am not sure what “asm” means here. But, you can generate a fake clock if you want. The CLK_SLOW is there just to synchronize the net. I agree that for a purely clock-less device which only relies on SCL, this is not generally needed, but that case is hard to see how it can work with IBIs. The normal model was that for clock-less devices such as thermal sensors, they would be polled vs. use an IBI since they have no clock of their own. CLK_SLOW can be a very slow clock - people use 200KHz and even 32KHz clocks for this.

Regards, Paul

On Oct 17, 2019, at 5:42 PM, Jiahua notifications@github.com<mailto:notifications@github.com> wrote:

Caution: EXT Email

I use the autonomous as my top module,If my system is only scl clock,we can also use comb logic to pull down.Even we can use asm to generation this start.

Jiahua-Gong commented 5 years ago

ASM means asynchronous states machine ,It use comb logic loop to generate.It not use clock 

发自我的iPhone

------------------ Original ------------------ From: Paul Kimelman <notifications@github.com> Date: Fri,Oct 18,2019 0:01 PM To: NXP/i3c-slave-design <i3c-slave-design@noreply.github.com> Cc: Jiahua <1016765625@qq.com>, Author <author@noreply.github.com> Subject: Re: [NXP/i3c-slave-design] I3C TIMING CONTROL (#18)

I am not sure what “asm” means here. But, you can generate a fake clock if you want. The CLK_SLOW is there just to synchronize the net. I agree that for a purely clock-less device which only relies on SCL, this is not generally needed, but that case is hard to see how it can work with IBIs. The normal model was that for clock-less devices such as thermal sensors, they would be polled vs. use an IBI since they have no clock of their own. CLK_SLOW can be a very slow clock - people use 200KHz and even 32KHz clocks for this.

Regards, Paul

On Oct 17, 2019, at 5:42 PM, Jiahua <notifications@github.com<mailto:notifications@github.com>> wrote:

Caution: EXT Email

I use the autonomous as my top module,If my system is only scl clock,we can also use comb logic to pull down.Even we can use asm to generation this start.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

pkimelman-nxp commented 5 years ago

ASM means asynchronous states machine ,It use comb logic loop to generate.It not use clock 

OK. The problem is that we need a synchronizer normally, as a flop goes metastable if you happen to change its D input during the setup period. In your case, you would need to have the synchronizer used for IBI work with your async mechanism. You will see this wherever we cross between SCL and CLK_SLOW.

-- Paul Kimelman – Automotive Platform Architecture 408.906.9676

Jiahua-Gong commented 5 years ago

Okay,Thanks.

发自我的iPhone

------------------ Original ------------------ From: Paul Kimelman <notifications@github.com> Date: Sun,Oct 20,2019 0:24 AM To: NXP/i3c-slave-design <i3c-slave-design@noreply.github.com> Cc: Jiahua <1016765625@qq.com>, Author <author@noreply.github.com> Subject: Re: [NXP/i3c-slave-design] I3C TIMING CONTROL (#18)

ASM means asynchronous states machine ,It use comb logic loop to generate.It not use clock&nbsp;

OK. The problem is that we need a synchronizer normally, as a flop goes metastable if you happen to change its D input during the setup period. In your case, you would need to have the synchronizer used for IBI work with your async mechanism. You will see this wherever we cross between SCL and CLK_SLOW.

-- Paul Kimelman – Automotive Platform Architecture 408.906.9676

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.