€•3aŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ//translations/zh_CN/misc-devices/oxsemi-tornado”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ//translations/zh_TW/misc-devices/oxsemi-tornado”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ//translations/it_IT/misc-devices/oxsemi-tornado”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ//translations/ja_JP/misc-devices/oxsemi-tornado”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ//translations/ko_KR/misc-devices/oxsemi-tornado”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ//translations/sp_SP/misc-devices/oxsemi-tornado”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…””}”hh£sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1h¡hhhžhhŸŒI/var/lib/git/docbuild/linux/Documentation/misc-devices/oxsemi-tornado.rst”h KubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒDNotes on Oxford Semiconductor PCIe (Tornado) 950 serial port devices”h]”hŒDNotes on Oxford Semiconductor PCIe (Tornado) 950 serial port devices”…””}”(hh»hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hh¶hžhhŸh³h KubhŒ paragraph”“”)”}”(hŒOxford Semiconductor PCIe (Tornado) 950 serial port devices are driven by a fixed 62.5MHz clock input derived from the 100MHz PCI Express clock.”h]”hŒOxford Semiconductor PCIe (Tornado) 950 serial port devices are driven by a fixed 62.5MHz clock input derived from the 100MHz PCI Express clock.”…””}”(hhËhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khh¶hžhubhÊ)”}”(hX!The baud rate produced by the baud generator is obtained from this input frequency by dividing it by the clock prescaler, which can be set to any value from 1 to 63.875 in increments of 0.125, and then the usual 16-bit divisor is used as with the original 8250, to divide the frequency by a value from 1 to 65535. Finally a programmable oversampling rate is used that can take any value from 4 to 16 to divide the frequency further and determine the actual baud rate used. Baud rates from 15625000bps down to 0.933bps can be obtained this way.”h]”hX!The baud rate produced by the baud generator is obtained from this input frequency by dividing it by the clock prescaler, which can be set to any value from 1 to 63.875 in increments of 0.125, and then the usual 16-bit divisor is used as with the original 8250, to divide the frequency by a value from 1 to 65535. Finally a programmable oversampling rate is used that can take any value from 4 to 16 to divide the frequency further and determine the actual baud rate used. Baud rates from 15625000bps down to 0.933bps can be obtained this way.”…””}”(hhÙhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K hh¶hžhubhÊ)”}”(hXšBy default the oversampling rate is set to 16 and the clock prescaler is set to 33.875, meaning that the frequency to be used as the reference for the usual 16-bit divisor is 115313.653, which is close enough to the frequency of 115200 used by the original 8250 for the same values to be used for the divisor to obtain the requested baud rates by software that is unaware of the extra clock controls available.”h]”hXšBy default the oversampling rate is set to 16 and the clock prescaler is set to 33.875, meaning that the frequency to be used as the reference for the usual 16-bit divisor is 115313.653, which is close enough to the frequency of 115200 used by the original 8250 for the same values to be used for the divisor to obtain the requested baud rates by software that is unaware of the extra clock controls available.”…””}”(hhçhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khh¶hžhubhÊ)”}”(hXÈThe oversampling rate is programmed with the TCR register and the clock prescaler is programmed with the CPR/CPR2 register pair [OX200]_ [OX952]_ [OX954]_ [OX958]_. To switch away from the default value of 33.875 for the prescaler the enhanced mode has to be explicitly enabled though, by setting bit 4 of the EFR. In that mode setting bit 7 in the MCR enables the prescaler or otherwise it is bypassed as if the value of 1 was used. Additionally writing any value to CPR clears CPR2 for compatibility with old software written for older conventional PCI Oxford Semiconductor devices that do not have the extra prescaler's 9th bit in CPR2, so the CPR/CPR2 register pair has to be programmed in the right order.”h]”(hŒ€The oversampling rate is programmed with the TCR register and the clock prescaler is programmed with the CPR/CPR2 register pair ”…””}”(hhõhžhhŸNh Nubh)”}”(hŒOX200”h]”hŒinline”“”)”}”(hhÿh]”hŒ[OX200]”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhhýubah}”(h]”Œid1”ah ]”h"]”h$]”h&]”Œ refdomain”Œcitation”Œreftype”Œref”Œ reftarget”hÿŒrefwarn”ˆŒsupport_smartquotes”‰uh1hhŸh³h KhhõhžhubhŒ ”…””}”(hhõhžhhŸNh Nubh)”}”(hŒOX952”h]”j)”}”(hj$h]”hŒ[OX952]”…””}”(hj&hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj"ubah}”(h]”Œid2”ah ]”h"]”h$]”h&]”Œ refdomain”jŒreftype”jŒ reftarget”j$Œrefwarn”ˆŒsupport_smartquotes”‰uh1hhŸh³h KhhõhžhubhŒ ”…””}”(hhõhžhhŸNh Nubh)”}”(hŒOX954”h]”j)”}”(hjEh]”hŒ[OX954]”…””}”(hjGhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjCubah}”(h]”Œid3”ah ]”h"]”h$]”h&]”Œ refdomain”jŒreftype”jŒ reftarget”jEŒrefwarn”ˆŒsupport_smartquotes”‰uh1hhŸh³h KhhõhžhubhŒ ”…””}”hhõsbh)”}”(hŒOX958”h]”j)”}”(hjfh]”hŒ[OX958]”…””}”(hjhhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjdubah}”(h]”Œid4”ah ]”h"]”h$]”h&]”Œ refdomain”jŒreftype”jŒ reftarget”jfŒrefwarn”ˆŒsupport_smartquotes”‰uh1hhŸh³h KhhõhžhubhX'. To switch away from the default value of 33.875 for the prescaler the enhanced mode has to be explicitly enabled though, by setting bit 4 of the EFR. In that mode setting bit 7 in the MCR enables the prescaler or otherwise it is bypassed as if the value of 1 was used. Additionally writing any value to CPR clears CPR2 for compatibility with old software written for older conventional PCI Oxford Semiconductor devices that do not have the extra prescaler’s 9th bit in CPR2, so the CPR/CPR2 register pair has to be programmed in the right order.”…””}”(hhõhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khh¶hžhubhÊ)”}”(hŒ®By using these parameters rates from 15625000bps down to 1bps can be obtained, with either exact or highly-accurate actual bit rates for standard and many non-standard rates.”h]”hŒ®By using these parameters rates from 15625000bps down to 1bps can be obtained, with either exact or highly-accurate actual bit rates for standard and many non-standard rates.”…””}”(hj‹hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K%hh¶hžhubhÊ)”}”(hX|Here are the figures for the standard and some non-standard baud rates (including those quoted in Oxford Semiconductor documentation), giving the requested rate (r), the actual rate yielded (a) and its deviation from the requested rate (d), and the values of the oversampling rate (tcr), the clock prescaler (cpr) and the divisor (div) produced by the new ``get_divisor`` handler:”h]”(hXdHere are the figures for the standard and some non-standard baud rates (including those quoted in Oxford Semiconductor documentation), giving the requested rate (r), the actual rate yielded (a) and its deviation from the requested rate (d), and the values of the oversampling rate (tcr), the clock prescaler (cpr) and the divisor (div) produced by the new ”…””}”(hj™hžhhŸNh NubhŒliteral”“”)”}”(hŒ``get_divisor``”h]”hŒ get_divisor”…””}”(hj£hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¡hj™ubhŒ handler:”…””}”(hj™hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K)hh¶hžhubhŒ literal_block”“”)”}”(hXÖ r: 15625000, a: 15625000.00, d: 0.0000%, tcr: 4, cpr: 1.000, div: 1 r: 12500000, a: 12500000.00, d: 0.0000%, tcr: 5, cpr: 1.000, div: 1 r: 10416666, a: 10416666.67, d: 0.0000%, tcr: 6, cpr: 1.000, div: 1 r: 8928571, a: 8928571.43, d: 0.0000%, tcr: 7, cpr: 1.000, div: 1 r: 7812500, a: 7812500.00, d: 0.0000%, tcr: 8, cpr: 1.000, div: 1 r: 4000000, a: 4000000.00, d: 0.0000%, tcr: 5, cpr: 3.125, div: 1 r: 3686400, a: 3676470.59, d: -0.2694%, tcr: 8, cpr: 2.125, div: 1 r: 3500000, a: 3496503.50, d: -0.0999%, tcr: 13, cpr: 1.375, div: 1 r: 3000000, a: 2976190.48, d: -0.7937%, tcr: 14, cpr: 1.500, div: 1 r: 2500000, a: 2500000.00, d: 0.0000%, tcr: 10, cpr: 2.500, div: 1 r: 2000000, a: 2000000.00, d: 0.0000%, tcr: 10, cpr: 3.125, div: 1 r: 1843200, a: 1838235.29, d: -0.2694%, tcr: 16, cpr: 2.125, div: 1 r: 1500000, a: 1492537.31, d: -0.4975%, tcr: 5, cpr: 8.375, div: 1 r: 1152000, a: 1152073.73, d: 0.0064%, tcr: 14, cpr: 3.875, div: 1 r: 921600, a: 919117.65, d: -0.2694%, tcr: 16, cpr: 2.125, div: 2 r: 576000, a: 576036.87, d: 0.0064%, tcr: 14, cpr: 3.875, div: 2 r: 460800, a: 460829.49, d: 0.0064%, tcr: 7, cpr: 3.875, div: 5 r: 230400, a: 230414.75, d: 0.0064%, tcr: 14, cpr: 3.875, div: 5 r: 115200, a: 115207.37, d: 0.0064%, tcr: 14, cpr: 1.250, div: 31 r: 57600, a: 57603.69, d: 0.0064%, tcr: 8, cpr: 3.875, div: 35 r: 38400, a: 38402.46, d: 0.0064%, tcr: 14, cpr: 3.875, div: 30 r: 19200, a: 19201.23, d: 0.0064%, tcr: 8, cpr: 3.875, div: 105 r: 9600, a: 9600.06, d: 0.0006%, tcr: 9, cpr: 1.125, div: 643 r: 4800, a: 4799.98, d: -0.0004%, tcr: 7, cpr: 2.875, div: 647 r: 2400, a: 2400.02, d: 0.0008%, tcr: 9, cpr: 2.250, div: 1286 r: 1200, a: 1200.00, d: 0.0000%, tcr: 14, cpr: 2.875, div: 1294 r: 300, a: 300.00, d: 0.0000%, tcr: 11, cpr: 2.625, div: 7215 r: 200, a: 200.00, d: 0.0000%, tcr: 16, cpr: 1.250, div: 15625 r: 150, a: 150.00, d: 0.0000%, tcr: 13, cpr: 2.250, div: 14245 r: 134, a: 134.00, d: 0.0000%, tcr: 11, cpr: 2.625, div: 16153 r: 110, a: 110.00, d: 0.0000%, tcr: 12, cpr: 1.000, div: 47348 r: 75, a: 75.00, d: 0.0000%, tcr: 4, cpr: 5.875, div: 35461 r: 50, a: 50.00, d: 0.0000%, tcr: 16, cpr: 1.250, div: 62500 r: 25, a: 25.00, d: 0.0000%, tcr: 16, cpr: 2.500, div: 62500 r: 4, a: 4.00, d: 0.0000%, tcr: 16, cpr: 20.000, div: 48828 r: 2, a: 2.00, d: 0.0000%, tcr: 16, cpr: 40.000, div: 48828 r: 1, a: 1.00, d: 0.0000%, tcr: 16, cpr: 63.875, div: 61154”h]”hXÖ r: 15625000, a: 15625000.00, d: 0.0000%, tcr: 4, cpr: 1.000, div: 1 r: 12500000, a: 12500000.00, d: 0.0000%, tcr: 5, cpr: 1.000, div: 1 r: 10416666, a: 10416666.67, d: 0.0000%, tcr: 6, cpr: 1.000, div: 1 r: 8928571, a: 8928571.43, d: 0.0000%, tcr: 7, cpr: 1.000, div: 1 r: 7812500, a: 7812500.00, d: 0.0000%, tcr: 8, cpr: 1.000, div: 1 r: 4000000, a: 4000000.00, d: 0.0000%, tcr: 5, cpr: 3.125, div: 1 r: 3686400, a: 3676470.59, d: -0.2694%, tcr: 8, cpr: 2.125, div: 1 r: 3500000, a: 3496503.50, d: -0.0999%, tcr: 13, cpr: 1.375, div: 1 r: 3000000, a: 2976190.48, d: -0.7937%, tcr: 14, cpr: 1.500, div: 1 r: 2500000, a: 2500000.00, d: 0.0000%, tcr: 10, cpr: 2.500, div: 1 r: 2000000, a: 2000000.00, d: 0.0000%, tcr: 10, cpr: 3.125, div: 1 r: 1843200, a: 1838235.29, d: -0.2694%, tcr: 16, cpr: 2.125, div: 1 r: 1500000, a: 1492537.31, d: -0.4975%, tcr: 5, cpr: 8.375, div: 1 r: 1152000, a: 1152073.73, d: 0.0064%, tcr: 14, cpr: 3.875, div: 1 r: 921600, a: 919117.65, d: -0.2694%, tcr: 16, cpr: 2.125, div: 2 r: 576000, a: 576036.87, d: 0.0064%, tcr: 14, cpr: 3.875, div: 2 r: 460800, a: 460829.49, d: 0.0064%, tcr: 7, cpr: 3.875, div: 5 r: 230400, a: 230414.75, d: 0.0064%, tcr: 14, cpr: 3.875, div: 5 r: 115200, a: 115207.37, d: 0.0064%, tcr: 14, cpr: 1.250, div: 31 r: 57600, a: 57603.69, d: 0.0064%, tcr: 8, cpr: 3.875, div: 35 r: 38400, a: 38402.46, d: 0.0064%, tcr: 14, cpr: 3.875, div: 30 r: 19200, a: 19201.23, d: 0.0064%, tcr: 8, cpr: 3.875, div: 105 r: 9600, a: 9600.06, d: 0.0006%, tcr: 9, cpr: 1.125, div: 643 r: 4800, a: 4799.98, d: -0.0004%, tcr: 7, cpr: 2.875, div: 647 r: 2400, a: 2400.02, d: 0.0008%, tcr: 9, cpr: 2.250, div: 1286 r: 1200, a: 1200.00, d: 0.0000%, tcr: 14, cpr: 2.875, div: 1294 r: 300, a: 300.00, d: 0.0000%, tcr: 11, cpr: 2.625, div: 7215 r: 200, a: 200.00, d: 0.0000%, tcr: 16, cpr: 1.250, div: 15625 r: 150, a: 150.00, d: 0.0000%, tcr: 13, cpr: 2.250, div: 14245 r: 134, a: 134.00, d: 0.0000%, tcr: 11, cpr: 2.625, div: 16153 r: 110, a: 110.00, d: 0.0000%, tcr: 12, cpr: 1.000, div: 47348 r: 75, a: 75.00, d: 0.0000%, tcr: 4, cpr: 5.875, div: 35461 r: 50, a: 50.00, d: 0.0000%, tcr: 16, cpr: 1.250, div: 62500 r: 25, a: 25.00, d: 0.0000%, tcr: 16, cpr: 2.500, div: 62500 r: 4, a: 4.00, d: 0.0000%, tcr: 16, cpr: 20.000, div: 48828 r: 2, a: 2.00, d: 0.0000%, tcr: 16, cpr: 40.000, div: 48828 r: 1, a: 1.00, d: 0.0000%, tcr: 16, cpr: 63.875, div: 61154”…””}”hj½sbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1j»hŸh³h K2hh¶hžhubhÊ)”}”(hXøWith the baud base set to 15625000 and the unsigned 16-bit UART_DIV_MAX limitation imposed by ``serial8250_get_baud_rate`` standard baud rates below 300bps become unavailable in the regular way, e.g. the rate of 200bps requires the baud base to be divided by 78125 and that is beyond the unsigned 16-bit range. The historic spd_cust feature can still be used by encoding the values for, the prescaler, the oversampling rate and the clock divisor (DLM/DLL) as follows to obtain such rates if so required:”h]”(hŒ^With the baud base set to 15625000 and the unsigned 16-bit UART_DIV_MAX limitation imposed by ”…””}”(hjËhžhhŸNh Nubj¢)”}”(hŒ``serial8250_get_baud_rate``”h]”hŒserial8250_get_baud_rate”…””}”(hjÓhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¡hjËubhX~ standard baud rates below 300bps become unavailable in the regular way, e.g. the rate of 200bps requires the baud base to be divided by 78125 and that is beyond the unsigned 16-bit range. The historic spd_cust feature can still be used by encoding the values for, the prescaler, the oversampling rate and the clock divisor (DLM/DLL) as follows to obtain such rates if so required:”…””}”(hjËhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KXhh¶hžhubj¼)”}”(hX 31 29 28 20 19 16 15 0 +-----+-----------------+-------+-------------------------------+ |0 0 0| CPR2:CPR | TCR | DLM:DLL | +-----+-----------------+-------+-------------------------------+”h]”hX 31 29 28 20 19 16 15 0 +-----+-----------------+-------+-------------------------------+ |0 0 0| CPR2:CPR | TCR | DLM:DLL | +-----+-----------------+-------+-------------------------------+”…””}”hjësbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1j»hŸh³h Kchh¶hžhubhÊ)”}”(hXÆUse a value such encoded for the ``custom_divisor`` field along with the ASYNC_SPD_CUST flag set in the ``flags`` field in ``struct serial_struct`` passed with the TIOCSSERIAL ioctl(2), such as with the setserial(8) utility and its ``divisor`` and ``spd_cust`` parameters, and then select the baud rate of 38400bps. Note that the value of 0 in TCR sets the oversampling rate to 16 and prescaler values below 1 in CPR2/CPR are clamped by the driver to 1.”h]”(hŒ!Use a value such encoded for the ”…””}”(hjùhžhhŸNh Nubj¢)”}”(hŒ``custom_divisor``”h]”hŒcustom_divisor”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¡hjùubhŒ5 field along with the ASYNC_SPD_CUST flag set in the ”…””}”(hjùhžhhŸNh Nubj¢)”}”(hŒ ``flags``”h]”hŒflags”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¡hjùubhŒ field in ”…””}”(hjùhžhhŸNh Nubj¢)”}”(hŒ``struct serial_struct``”h]”hŒstruct serial_struct”…””}”(hj%hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¡hjùubhŒU passed with the TIOCSSERIAL ioctl(2), such as with the setserial(8) utility and its ”…””}”(hjùhžhhŸNh Nubj¢)”}”(hŒ ``divisor``”h]”hŒdivisor”…””}”(hj7hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¡hjùubhŒ and ”…””}”(hjùhžhhŸNh Nubj¢)”}”(hŒ ``spd_cust``”h]”hŒspd_cust”…””}”(hjIhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¡hjùubhŒÂ parameters, and then select the baud rate of 38400bps. Note that the value of 0 in TCR sets the oversampling rate to 16 and prescaler values below 1 in CPR2/CPR are clamped by the driver to 1.”…””}”(hjùhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khhh¶hžhubhÊ)”}”(hXCFor example the value of 0x1f4004e2 will set CPR2/CPR, TCR and DLM/DLL respectively to 0x1f4, 0x0 and 0x04e2, choosing the prescaler value, the oversampling rate and the clock divisor of 62.500, 16 and 1250 respectively. These parameters will set the baud rate for the serial port to 62500000 / 62.500 / 1250 / 16 = 50bps.”h]”hXCFor example the value of 0x1f4004e2 will set CPR2/CPR, TCR and DLM/DLL respectively to 0x1f4, 0x0 and 0x04e2, choosing the prescaler value, the oversampling rate and the clock divisor of 62.500, 16 and 1250 respectively. These parameters will set the baud rate for the serial port to 62500000 / 62.500 / 1250 / 16 = 50bps.”…””}”(hjahžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Kphh¶hžhubhÊ)”}”(hŒ&Maciej W. Rozycki ”h]”(hŒMaciej W. Rozycki <”…””}”(hjohžhhŸNh NubhŒ reference”“”)”}”(hŒmacro@orcam.me.uk”h]”hŒmacro@orcam.me.uk”…””}”(hjyhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:macro@orcam.me.uk”uh1jwhjoubhŒ>”…””}”(hjohžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Kvhh¶hžhubhj“”)”}”(hŒ{"OXPCIe200 PCI Express Multi-Port Bridge", Oxford Semiconductor, Inc., DS-0045, 10 Nov 2008, Section "950 Mode", pp. 64-65 ”h]”(hŒlabel”“”)”}”(hŒOX200”h]”hŒOX200”…””}”(hjšhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œsupport_smartquotes”‰uh1j˜hj”ubhÊ)”}”(hŒz"OXPCIe200 PCI Express Multi-Port Bridge", Oxford Semiconductor, Inc., DS-0045, 10 Nov 2008, Section "950 Mode", pp. 64-65”h]”hŒ‚“OXPCIe200 PCI Express Multi-Port Bridgeâ€, Oxford Semiconductor, Inc., DS-0045, 10 Nov 2008, Section “950 Modeâ€, pp. 64-65”…””}”(hj©hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Kxhj”ubeh}”(h]”Œox200”ah ]”h"]”Œox200”ah$]”h&]”jaŒdocname”Œmisc-devices/oxsemi-tornado”uh1jhŸh³h Kxhh¶hžhŒresolved”Kubj“)”}”(hŒ‰"OXPCIe952 PCI Express Bridge to Dual Serial & Parallel Port", Oxford Semiconductor, Inc., DS-0046, Mar 06 08, Section "950 Mode", p. 20 ”h]”(j™)”}”(hŒOX952”h]”hŒOX952”…””}”(hjÆhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”j¨‰uh1j˜hjÂubhÊ)”}”(hŒˆ"OXPCIe952 PCI Express Bridge to Dual Serial & Parallel Port", Oxford Semiconductor, Inc., DS-0046, Mar 06 08, Section "950 Mode", p. 20”h]”hŒâ€œOXPCIe952 PCI Express Bridge to Dual Serial & Parallel Portâ€, Oxford Semiconductor, Inc., DS-0046, Mar 06 08, Section “950 Modeâ€, p. 20”…””}”(hjÔhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K{hjÂubeh}”(h]”Œox952”ah ]”h"]”Œox952”ah$]”h&]”j5aj¿jÀuh1jhŸh³h K{hh¶hžhjÁKubj“)”}”(hŒ{"OXPCIe954 PCI Express Bridge to Quad Serial Port", Oxford Semiconductor, Inc., DS-0047, Feb 08, Section "950 Mode", p. 20 ”h]”(j™)”}”(hŒOX954”h]”hŒOX954”…””}”(hjîhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”j¨‰uh1j˜hjêubhÊ)”}”(hŒz"OXPCIe954 PCI Express Bridge to Quad Serial Port", Oxford Semiconductor, Inc., DS-0047, Feb 08, Section "950 Mode", p. 20”h]”hŒ‚“OXPCIe954 PCI Express Bridge to Quad Serial Portâ€, Oxford Semiconductor, Inc., DS-0047, Feb 08, Section “950 Modeâ€, p. 20”…””}”(hjühžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khjêubeh}”(h]”Œox954”ah ]”h"]”Œox954”ah$]”h&]”jVaj¿jÀuh1jhŸh³h Khh¶hžhjÁKubj“)”}”(hŒ{"OXPCIe958 PCI Express Bridge to Octal Serial Port", Oxford Semiconductor, Inc., DS-0048, Feb 08, Section "950 Mode", p. 20”h]”(j™)”}”(hŒOX958”h]”hŒOX958”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”j¨‰uh1j˜hjubhÊ)”}”(hŒ{"OXPCIe958 PCI Express Bridge to Octal Serial Port", Oxford Semiconductor, Inc., DS-0048, Feb 08, Section "950 Mode", p. 20”h]”hŒƒâ€œOXPCIe958 PCI Express Bridge to Octal Serial Portâ€, Oxford Semiconductor, Inc., DS-0048, Feb 08, Section “950 Modeâ€, p. 20”…””}”(hj$hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K‚hjubeh}”(h]”Œox958”ah ]”h"]”Œox958”ah$]”h&]”jwaj¿jÀuh1jhŸh³h K‚hh¶hžhjÁKubeh}”(h]”ŒBnotes-on-oxford-semiconductor-pcie-tornado-950-serial-port-devices”ah ]”h"]”ŒDnotes on oxford semiconductor pcie (tornado) 950 serial port devices”ah$]”h&]”uh1h´hhhžhhŸh³h Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”h³uh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(h¹NŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jeŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”h³Œ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”(Œox200”]”hŒcitation_reference”“”)”}”(hŒ[OX200]_”h]”hŒOX200”…””}”hj©sbah}”(h]”jah ]”h"]”h$]”h&]”Œrefid”j¹uh1j§hhõjÁKubaŒox952”]”j¨)”}”(hŒ[OX952]_”h]”hŒOX952”…””}”hjºsbah}”(h]”j5ah ]”h"]”h$]”h&]”j·jäuh1j§hhõjÁKubaŒox954”]”j¨)”}”(hŒ[OX954]_”h]”hŒOX954”…””}”hjÊsbah}”(h]”jVah ]”h"]”h$]”h&]”j·j uh1j§hhõjÁKubaŒox958”]”j¨)”}”(hŒ[OX958]_”h]”hŒOX958”…””}”hjÚsbah}”(h]”jwah ]”h"]”h$]”h&]”j·j4uh1j§hhõjÁKubauŒrefids”}”Œnameids”}”(j?j<j¼j¹jçjäjj j7j4uŒ nametypes”}”(j?‰j¼ˆjçˆjˆj7ˆuh}”(j<h¶jj©j5jºjVjÊjwjÚj¹j”jäjÂj jêj4juŒ footnote_refs”}”Œ citation_refs”}”(j¥]”j©aj¸]”jºajÈ]”jÊajØ]”jÚauŒ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”(j”jÂjêjeŒautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”jsKs…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nhžhub.