Hello!
Just got my hands on a Jetson Orin Nano Dev kit and I am having difficulty making use of the PWM, more specifically on PIN32.
I have enabled all PWMs in the device tree, and they are enabled and detected. So I looked into the source code of the Jetson.GPIO lib and I found some potential problems:
JETSON_ORIN_NX: (
JETSON_ORIN_NX_PIN_DEFS,
{
'P1_REVISION': 1,
'RAM': '32768M, 65536M',
'REVISION': 'Unknown',
'TYPE': 'JETSON_ORIN_NX',
'MANUFACTURER': 'NVIDIA',
'PROCESSOR': 'A78AE'
}
),
JETSON_ORIN_NANO: (
JETSON_ORIN_NX_PIN_DEFS,
{
'P1_REVISION': 1,
'RAM': '32768M, 65536M',
'REVISION': 'Unknown',
'TYPE': 'JETSON_ORIN_NANO',
'MANUFACTURER': 'NVIDIA',
'PROCESSOR': 'A78AE'
}
),
JETSON_ORIN: (
JETSON_ORIN_PIN_DEFS,
{
'P1_REVISION': 1,
'RAM': '32768M, 65536M',
'REVISION': 'Unknown',
'TYPE': 'JETSON_ORIN',
'MANUFACTURER': 'NVIDIA',
'PROCESSOR': 'A78AE'
}
Most of the info on the Orin modules is not updated, like the RAM and the board revision. In addition:
JETSON_ORIN_NX_PIN_DEFS = [
(144, 'PAC.06', "tegra234-gpio", 7, 4, 'GPIO09', 'GP167', None, None),
(112, 'PR.04', "tegra234-gpio", 11, 17, 'UART1_RTS', 'GP72_UART1_RTS_N', None, None),
(50, 'PH.07', "tegra234-gpio", 12, 18, 'I2S0_SCLK', 'GP122', None, None),
(122, 'PY.00', "tegra234-gpio", 13, 27, 'SPI1_SCK', 'GP36_SPI3_CLK', None, None),
(85, 'PN.01', "tegra234-gpio", 15, 22, 'GPIO12', 'GP88_PWM1', '3280000.pwm', 0),
(126, 'PY.04', "tegra234-gpio", 16, 23, 'SPI1_CS1', 'GP40_SPI3_CS1_N', None, None),
(125, 'PY.03', "tegra234-gpio", 18, 24, 'SPI1_CS0', 'GP39_SPI3_CS0_N', None, None),
(135, 'PZ.05', "tegra234-gpio", 19, 10, 'SPI0_MOSI', 'GP49_SPI1_MOSI', None, None),
(134, 'PZ.04', "tegra234-gpio", 21, 9, 'SPI0_MISO', 'GP48_SPI1_MISO', None, None),
(123, 'PY.01', "tegra234-gpio", 22, 25, 'SPI1_MISO', 'GP37_SPI3_MISO', None, None),
(133, 'PZ.03', "tegra234-gpio", 23, 11, 'SPI0_SCK', 'GP47_SPI1_CLK', None, None),
(136, 'PZ.06', "tegra234-gpio", 24, 8, 'SPI0_CS0', 'GP50_SPI1_CS0_N', None, None),
(137, 'PZ.07', "tegra234-gpio", 26, 7, 'SPI0_CS1', 'GP51_SPI1_CS1_N', None, None),
(105, 'PQ.05', "tegra234-gpio", 29, 5, 'GPIO01', 'GP65', None, None),
(106, 'PQ.06', "tegra234-gpio", 31, 6, 'GPIO11', 'GP66', None, None),
(41, 'PG.06', "tegra234-gpio", 32, 12, 'GPIO07', 'GP113_PWM7', None, None),
(43, 'PH.00', "tegra234-gpio", 33, 13, 'GPIO13', 'GP115', '32c0000.pwm', 0),
(53, 'PI.02', "tegra234-gpio", 35, 19, 'I2S0_FS', 'GP125', None, None),
(113, 'PR.05', "tegra234-gpio", 36, 16, 'UART1_CTS', 'GP73_UART1_CTS_N', None, None),
(124, 'PY.02', "tegra234-gpio", 37, 26, 'SPI1_MOSI', 'GP38_SPI3_MOSI', None, None),
(52, 'PI.01', "tegra234-gpio", 38, 20, 'I2S0_SDIN', 'GP124', None, None),
(51, 'PI.00', "tegra234-gpio", 40, 21, 'I2S0_SDOUT', 'GP123', None, None)
]
The pin map does not have any pwm associate with pin 32, despite being identified as a pwm pin. I was thinking the solution would be to just modify this pin 32 line too:
(41, 'PG.06', "tegra234-gpio", 32, 12, 'GPIO07', 'GP113_PWM7', '32a0000.pwm' , 0),
but its says “Errno 16 Device or resource busy”
What could be a solution for the PWM problem? Thank you in advance